Example #1
0
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') )
Example #2
0
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') )
Example #3
0
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') )