def newuser(): # creates a new entry in the user database if request.method == 'GET': return render_template( "newuser.html") elif request.method == 'POST': try: newuser = parseInput( request, ['user', 'email', 'pass1', 'pass2'], mandatory=['user', 'pass1', 'pass2']) except: flash("bad Input") return redirect( url_for('newuser') ) else: # add to the database if newuser['pass1'] != newuser['pass2']: # failure case flash("Passwords dont match.") return redirect( url_for('newuser' )) else: # check whether the username is already in the database numUsers = db.session.query( User ).filter_by( username=newuser['user']).count() if numUsers > 0: flash("User already exists.") return redirect( url_for('newuser' )) storePass = wzsec.generate_password_hash( newuser['pass1'] ) toAdd = User( newuser['user'], storePass, newuser['email']) db.session.add( toAdd ) db.session.commit() flash( "User Created") return redirect( url_for('serverTest') )
def login(): #try to log the user in if request.method == 'POST': login = parseInput(request, ['user', 'pass']) currUser = db.session.query( User ).filter_by( username=login['user']).first() # check for correct password if wzsec.check_password_hash( currUser.password, login['pass'] ): session['username'] = login['user'] session['logged_in'] = True flash( 'Logged in as ' + login['user'] ) else: flash( 'Wrong password') return redirect( url_for('serverTest') ) else: flash( 'Hello') return redirect( url_for('serverTest') )
def addtoDB(): if request.method == 'POST': try: addToDB = parseInput( request, ['toAdd', 'color'], mandatory=['toAdd'], defaults={'color': 'green' } ) except: pass else: # add to the database toAdd = Result(addToDB['toAdd'] ,{}, addToDB['color']) #incoming data should already be unicode? db.session.add( toAdd ) db.session.commit() flash(addToDB['toAdd'] + ' added' + str( type(addToDB['toAdd']) ) ) if request.method == 'GET': results = Result.query.all() #for entry in results: # flash(entry.url) return render_template("working.html", results=results) return redirect( url_for('serverTest') )