2019-01-13 23:25:25 +00:00
from flask import render_template , url_for , redirect , flash , jsonify , g
2019-01-13 19:07:46 +00:00
from geruecht import app , db
from geruecht . forms import RegistrationForm
2019-01-13 23:25:25 +00:00
from geruecht . model import User , History
import flask_sijax
import os , sys
path = os . path . join ( ' . ' , os . path . dirname ( __file__ ) , ' ../ ' )
sys . path . append ( path )
# The path where you want the extension to create the needed javascript files
# DON'T put any of your files in this directory, because they'll be deleted!
app . config [ " SIJAX_STATIC_PATH " ] = os . path . join ( ' . ' , os . path . dirname ( __file__ ) , ' static/js/sijax/ ' )
# You need to point Sijax to the json2.js library if you want to support
# browsers that don't support JSON natively (like IE <= 7)
app . config [ " SIJAX_JSON_URI " ] = ' /static/js/sijax/json2.js '
flask_sijax . Sijax ( app )
history = [ ]
@flask_sijax.route ( app , " / " , methods = [ ' GET ' , ' POST ' ] )
@flask_sijax.route ( app , " /home " , methods = [ ' GET ' , ' POST ' ] )
2019-01-13 19:07:46 +00:00
def home ( ) :
2019-01-13 23:25:25 +00:00
def add ( obj_response , username , value ) :
user_2 = User . query . filter_by ( username = username ) . first ( )
print ( user_2 )
print ( user_2 . id )
user_2 . add ( value )
print ( user_2 )
db . session . commit ( )
print ( obj_response , username , value )
History ( history = history , user = user_2 , value = value )
print ( history )
obj_response . html ( ' div#flash ' , f ' { user_2 . username } wurde { " %.2f " % value } € hinzugefügt ' )
obj_response . attr ( ' div#flash ' , " class " , " alert alert-success " )
obj_response . html ( f ' # { user_2 . id } -sum ' , str ( " %.2f " % user_2 . sum + " € " ) )
def storner ( obj_response ) :
try :
obj = history [ len ( history ) - 1 ]
user_2 = User . query . filter_by ( username = obj . user . username ) . first ( )
print ( " {} {} " . format ( obj . user , obj . value ) )
obj . exec ( )
print ( history )
print ( user_2 )
db . session . commit ( )
obj_response . html ( ' div#flash ' , f ' { " %.2f " % obj . value } wurden von { user_2 . username } storniert ' )
obj_response . attr ( ' div#flash ' , " class " , " alert alert-success " )
obj_response . html ( f ' # { user_2 . id } -sum ' , str ( " %.2f " % user_2 . sum + " € " ) )
except IndexError :
print ( " history: {} is empty " . format ( history ) )
obj_response . html ( ' div#flash ' , " Der Timer ist abgelaufen!! Die Stornierliste ist leer!! Falls es was wichtiges ist, melde dich beim Finanzer oder Administrator!! " )
obj_response . attr ( ' div#flash ' , " class " , " alert alert-error " )
if g . sijax . is_sijax_request :
g . sijax . register_callback ( ' add ' , add )
g . sijax . register_callback ( ' storner ' , storner )
return g . sijax . process_request ( )
2019-01-13 19:07:46 +00:00
form = RegistrationForm ( )
if form . validate_on_submit ( ) :
user = User ( username = form . username . data )
db . session . add ( user )
db . session . commit ( )
flash ( f ' Person wurde angelegt: { form . username . data } ' , ' success ' )
return redirect ( url_for ( ' home ' ) )
return render_template ( ' home.html ' , users = User . query . all ( ) , form = form )
2019-01-13 23:25:25 +00:00
@flask_sijax.route ( app , " /about " )
2019-01-13 19:07:46 +00:00
def about ( ) :
return render_template ( ' about.html ' , title = ' about ' )