Esempio n. 1
0
def home():
    '''Home page method. Displays welcome message or login page.'''
    if request.method == 'GET':
        #check if logged in
        if 'uid' in session:
            # get user info
            username = session['username']
            uid = session['uid']
            conn = queries.getConn(DATABASE)
            campaigns = queries.getUserCampaigns(conn, uid)

            #render template
            return render_template('home.html',
                                   username=username,
                                   campaigns=campaigns)
        else:
            # render template w/o user info
            username = None
            campaigns = None
            return render_template('home.html',
                                   username=username,
                                   campaigns=campaigns)
    else:  #login attempt
        user = request.form.get('user')
        attempt = request.form.get('password')

        # check database for user-pass match
        conn = queries.getConn(DATABASE)
        curs = conn.cursor(MySQLdb.cursors.DictCursor)

        curs.execute('''select hashed from user where username = %s''', [user])

        password = curs.fetchone()
        if password is None:
            flash("Login unsuccessful. Try again.")
            return redirect(url_for('home'))

        hashed = password['hashed']

        if bcrypt.hashpw(attempt.encode('utf-8'),
                         hashed.encode('utf-8')) == hashed:
            session['username'] = user

            #get uid
            curs.execute('''select uid from user where username = %s''',
                         [user])
            uid = curs.fetchone()['uid']
            session['uid'] = uid
            flash("Login successful for " + user)
            return redirect(url_for('home'))

        else:
            flash("Login unsuccessful. Try again.")
            return redirect(url_for('home'))
Esempio n. 2
0
def match():
    
    '''CRUX OF APPLICATION
        Not a sophisticated algorithm but matches students in the roster
    '''
    courseNum = request.args.get('courseNum')
    pid = request.args.get('pid')
    try:
        conn = queries.getConn('c9')
        curs = conn.cursor(MySQLdb.cursors.DictCursor)
        roster = queries.roster(conn, courseNum)
        matches = matching.match(roster)
        groupNums = list()
        for match in matches:
            
            allGroups = queries.allGroups(conn)
            groupNum = matching.groupNum(allGroups)
            check = curs.execute('''insert into groups(groupNum, pid, courseNum)
            values(%s, %s, %s)''',[groupNum, pid, courseNum])
            curs.execute('''insert into groupForPset(groupNum, bnumber)
            values(%s, %s)''',[groupNum, match])
        
            if matches[match]:
                curs.execute('''insert into groupForPset(groupNum, bnumber)
                values(%s, %s)''',[groupNum, matches[match]])
            groupNums.append(groupNum)
        return jsonify( {'error': False, 'match': matches, 'groupNum': groupNums})
    except Exception as err:
        return jsonify( {'error': True, 'err': str(err) } )
Esempio n. 3
0
def register():
    '''User registration route.'''
    if request.method == 'GET':
        if 'uid' in session:
            flash('Already logged into existing account.')
            return redirect(url_for('home'))
        else:
            return render_template("register.html")
    else:  #submit registration form
        username = request.form.get('user')
        pass1 = request.form.get('password1')
        pass2 = request.form.get('password2')

        if pass1 != pass2:
            flash("Passwords don't match")
            return redirect(url_for('register'))

        else:  #register user into database
            hashed = bcrypt.hashpw(pass1.encode('utf-8'), bcrypt.gensalt())
            conn = queries.getConn(DATABASE)
            try:
                uid = queries.registerUser(conn, username, hashed)
            except:
                flash("There was an error registering user")
                return redirect(url_for("register"))
            if uid == False:
                flash("User already exists")
                return redirect(url_for("register"))
            else:
                session['uid'] = uid
                session['username'] = username
                flash("Registration successful")
                return redirect(url_for("home"))
Esempio n. 4
0
def newUser():
    '''Returns a template for user sign up if the user is not found in the database'''
    if request.method == 'GET':
        return render_template('newUser.html')
    else:
        conn = queries.getConn('c9')
        username = request.form.get('username')
        password = request.form.get('password1')
        password2 = request.form.get('password2')
        name = request.form.get('name')
        email = request.form.get('email')
        phone = request.form.get('phone')
        bnumber = request.form.get('bnumber')
        userType = request.form.get('userType')
        if '@' not in email:
            flash('Please provide a correct email address')
            return render_template('newUser.html')
        if queries.usernameTaken(conn, username):
            flash('Username taken. Enter a new username')
            return render_template('newUser.html')
        if password != password2:
            flash('Passwords do not match')
            return render_template('newUser.html')
        hashed = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())
        if (username and hashed and name and email and phone and bnumber 
        and userType):
            queries.addUser(conn, username, hashed, bnumber, name, email, phone,
            userType)
            flash('Your account has been created. You can go ahead and login!')
        return redirect(url_for('index'))
Esempio n. 5
0
def courses(courseNum = None):
    '''Display courses student is in enrolled in or courses professor teaches'''
    if session.get('logged_in'):
        conn = queries.getConn('c9')
        bnumber = session.get('bnumber')
        instructor = queries.isInstructor(conn, bnumber)
        if courseNum:
            course = queries.findCourse(conn, courseNum)
            roster = queries.roster(conn, courseNum)
            session['courseNum'] = courseNum
            students = queries.allStudents(conn)
            psets = queries.getAssignments(conn, courseNum, bnumber)
            
            return render_template('roster.html', course = course, courseNum = courseNum, 
                                    roster = roster, psets = psets, students = students,
                                    logged_in = session['logged_in'], instructor = instructor)
                
        else:
            if instructor:
                courses = queries.courses(conn, bnumber)
            else:
                courses = queries.coursesStudent(conn, bnumber)
            return render_template('courses.html', courses = courses, 
            logged_in = session['logged_in'], instructor=instructor)
    else:
        flash('Need to login to access page')
        return index()
Esempio n. 6
0
def newAssignment():
    '''Allows professor to add a new assignment to the database'''
    if session.get('logged_in'):
        if request.method == 'GET':
            return render_template('assignment.html',logged_in = session['logged_in'])
        else:
            psetNum = request.form.get('psetNum')
            psetTitle = request.form.get('psetTitle')
            dueDate = request.form.get('dueDate').encode('utf-8')
            maxSize = request.form.get('maxSize')
            conn = queries.getConn('c9')
            courseNum  = session.get('courseNum')
            try:
                psetNum = int(psetNum)
            except:
                flash('Invalid input: Please insert an integer value for Assignment Number')
            try:
                maxSize = int(maxSize)
            except:
                flash('Invalid input: Please insert an integer for Max Group Size')
            if psetNum and psetTitle and dueDate and isinstance(maxSize, int):
                queries.addAssignment(conn, psetNum, psetTitle, dueDate, maxSize, courseNum)
                return redirect(url_for('courses', courseNum = courseNum))
                
            return render_template('assignment.html', logged_in = session['logged_in'])
            
    else:
        flash('Need to login to access page')
        return redirect(url_for('index'))
Esempio n. 7
0
def flaskLogin():
    '''Manual login for users who are already signed up'''
    conn = queries.getConn('c9')
    check = ''
    pwrd = request.form['password']
    print(pwrd)
    if '@' in request.form['username-email']:
        email = request.form['username-email']
        check = queries.emailLogin(conn, email) 
    else:
        username =  request.form['username-email']
        check = queries.nameLogin(conn, username)
    if not check:
       flash('Username/email is not found in the database. Create an account to continue.')
       return redirect(request.referrer)
    else:
        hashed = check['password']
        try:
            if bcrypt.hashpw(pwrd.encode('utf-8'), hashed.encode('utf-8')) != hashed:
                flash('Incorrect password')
                return redirect(request.referrer)
        except:
            if pwrd != hashed:
                flash('Incorrect password')
                return redirect(request.referrer)
        session['logged_in'] =  True
        session['bnumber'] = check['bnumber']   
        session['username'] = check['username']
        session['name'] = check['name']
        return redirect(url_for('profile', bnumber = session['bnumber']))
Esempio n. 8
0
def deleteAssignment(pid):
    '''Allows professor to delete assignment and will update database accordingly'''
    if session.get('logged_in'):
        conn = queries.getConn('c9')
        courseNum = session.get('courseNum')
        bnumber = session.get('bnumber')
        instructor = queries.isInstructor(conn, bnumber)
        if request.method == 'GET':
            info = queries.getAssignment(conn, pid)
            return render_template('update.html', pset = info, courseNum = courseNum, logged_in = session['logged_in'])
        else:
            if request.form.get('submit') == 'update':
                newPid = request.form.get('pid')
                psetTitle = request.form.get('psetTitle')
                dueDate = request.form.get('dueDate')
                maxSize = request.form.get('maxSize')
                queries.updatePsets(conn, newPid, psetTitle, dueDate, maxSize, courseNum)
                return redirect(url_for('courses', courseNum = courseNum, instructor = instructor))
                
            elif request.form.get('submit') == 'delete':
                queries.deleteAssignment(conn, pid)
        return redirect(url_for('courses', courseNum=courseNum, instructor=instructor))
    else:
        flash('Need to login to access page')
        return redirect(url_for('index'))
Esempio n. 9
0
def newCamp():
    if 'uid' not in session:  #verify user is logged in
        flash("Login to add campaign.")
        return redirect(url_for('home'))

    if request.method == 'GET':  #display form
        return render_template('new_camp.html')
    else:
        uid = session['uid']
        campName = request.form.get("name")
        players = request.form.get("players")
        players = players.strip().split()  #make into list

        conn = queries.getConn(DATABASE)

        #insert new campaign into db
        cid = queries.createCampaign(conn, campName)

        #insert players into campaign
        for player in players:
            playerID = queries.getUserID(conn, player)
            if playerID == None:
                flash("There was an error adding " + player + " to campaign.")
            else:
                try:
                    queries.addPlayerToCamp(conn, playerID['uid'], cid)
                except:
                    flash("There was an error adding " + player +
                          " to campaign.")

        #insert current user as dm to campaign (assume only DMs are creating campaigns)
        queries.addPlayerToCamp(conn, uid, cid, dm='yes')

        session['camp'] = cid
        return redirect(url_for('campPage'))
Esempio n. 10
0
def newCourse():
    '''Allows professors to add new course to database and will be displayed on courses page'''
    if session.get('logged_in'):
        bnumber = session.get('bnumber')
        if request.method == 'GET':
            return render_template('newCourse.html', bnumber = bnumber)
        else:
            courseNum = request.form.get('courseNum')
            courseName = request.form.get('courseName')
            semester = request.form.get('semester')
            if courseNum:
                try:
                    courseNum = int(courseNum)
                except:
                    flash('Invalid input: Please enter integer values')
            else:
                flash('Missing input: Course Number is missing')
                
            if not courseName:
                flash('Missing input: Course Title is missing')
            if not semester:
                flash('Missing input: Semester is missing')
                
            if isinstance(courseNum, int) and courseName and semester:
                conn = queries.getConn('c9')
                queries.addCourse(conn, courseNum, courseName, bnumber, semester)
                return redirect(url_for('courses'))
        return render_template('newCourse.html', bnumber = bnumber, logged_in = session['logged_in'])
    else:
        flash('Need to login to access page')
Esempio n. 11
0
def newUser():
    '''Returns a template for user sign up if the user is not found in the database'''
    if request.method == 'GET':
        return render_template('newUser.html')
    else:
        conn = queries.getConn('c9')
        username = request.form.get('username')
        password = request.form.get('password1')
        password2 = request.form.get('password2')
        name = request.form.get('name')
        email = request.form.get('email')
        phone = request.form.get('phone')
        bnumber = request.form.get('bnumber')
        userType = request.form.get('userType')
        print('queries', queries.usernameTaken(conn, username))
        if queries.usernameTaken(conn, username):
            flash('Username taken. Enter a new username')
            return render_template('newUser.html')
        if password != password2:
            flash('Passwords do not match')
            return render_template('newUser.html')
        # hashed = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())
        if (username and password and name and email and phone and bnumber 
        and userType):
            queries.addUser(conn, username, password, bnumber, name, email, phone,
            userType)
            return redirect(url_for('profile'))
Esempio n. 12
0
def pics():
    conn = queries.getConn('c9')
    curs = conn.cursor(MySQLdb.cursors.DictCursor)
    curs.execute(
        'select bnumber,filename from picfile inner join users using (bnumber)'
    )
    pics = curs.fetchall()
    return render_template('all_pics.html', pics=pics)
Esempio n. 13
0
def courses(courseNum=None):
    if courseNum:
        conn = queries.getConn('c9')
        course = queries.findCourse(conn, courseNum)
        roster = queries.roster(conn, courseNum)
        bnumber = session.get('bnumber')
        psets = queries.getAssignments(conn, courseNum, bnumber)
        return render_template('roster.html',
                               course=course,
                               roster=roster,
                               psets=psets)
    else:
        conn = queries.getConn('c9')
        courses = queries.courses(conn)
        return render_template('courses.html',
                               courses=courses,
                               logged_in=session['logged_in'])
 def LiquorCrimeTypeQuery(t):
     """
     Option 6 from Main Menu
     """
     UserInterface.displayLiquorCrimeType(t)
     userChoice = input()
     conn = queries.getConn()
     while userChoice != 'q':
         if userChoice == "q": break
         elif userChoice == '1':
             print(
                 "-----------------------------------------------------------"
             )
             print("Loading...")
             print()
             queries.liquor_crimes('rape', conn)
             print(
                 "-----------------------------------------------------------"
             )
         elif userChoice == '2':
             print(
                 "-----------------------------------------------------------"
             )
             print("Loading...")
             print()
             queries.liquor_crimes('murder', conn)
             print(
                 "-----------------------------------------------------------"
             )
         elif userChoice == '3':
             print(
                 "-----------------------------------------------------------"
             )
             print("Loading...")
             print()
             queries.liquor_crimes('aggravated', conn)
             print(
                 "-----------------------------------------------------------"
             )
         elif userChoice == '4':
             print(
                 "-----------------------------------------------------------"
             )
             print("Loading...")
             print()
             queries.liquor_crimes('robbery', conn)
             print(
                 "-----------------------------------------------------------"
             )
         else:
             print(
                 t.bold_red(
                     "Invalid input. Please type in a number from 1-6"))
         UserInterface.displayLiquorCrimeType(t)
         userChoice = input()
     print()
     print(t.bold_cyan("Exited Option 6"))
     print()
Esempio n. 15
0
def updateRoster():
    conn = queries.getConn('c9')
    bnumber = request.form.get('students')
    courseNum = session.get('courseNum')
    # courseNum = request.form.get('courseNum') # not necessary
    curs = conn.cursor(MySQLdb.cursors.DictCursor)
    curs.execute('''insert into enrollment(bnumber, courseNum)
                values(%s, %s)''',[bnumber, courseNum])
    return redirect(request.referrer)
Esempio n. 16
0
def update():
    if session.get('logged_in'):

        if request.form['submit'] == 'Save Changes':
            conn = queries.getConn('c9')
            name = request.form.get('username')
            email = request.form.get('email')
            phone = request.form.get('phone')
            bnumber = request.form.get('bnumber')
            residence = request.form.get('residence')
            avail = request.form.get('avail')

            try:
                updated = queries.update(conn, name, email, phone, residence,
                                         avail)
            except:
                flash('Unable to Update info')
            return redirect(url_for('profile'))
        else:
            try:
                bnumber = request.form['bnumber']  # may throw error
                f = request.files['pic']
                mime_type = imghdr.what(f)
                if mime_type.lower() not in ['jpeg', 'gif', 'png', 'jpg']:
                    raise Exception(
                        'Not a JPEG, GIF, JPG or PNG: {}'.format(mime_type))
                filename = secure_filename('{}.{}'.format(bnumber, mime_type))
                pathname = os.path.join(app.config['UPLOADS'], filename)
                f.save(pathname)
                flash('Upload successful')
                conn = queries.getConn('c9')
                curs = conn.cursor()
                curs.execute(
                    '''insert into picfile(bnumber,filename) values (%s,%s)
                            on duplicate key update filename = %s''',
                    [bnumber, filename, filename])
                return redirect(url_for('profile'))
            except Exception as err:
                flash('Upload failed {why}'.format(why=err))
                return redirect(url_for('profile'))

    else:
        return redirect(request.referrer)
    def MainMenu():
        t = Terminal()
        MainMenuTitle = t.red_on_green('MAIN MENU')
        print(MainMenuTitle)
        UserInterface.displayOptions(t)
        conn = queries.getConn()

        userChoice = input()
        while userChoice != 'q':
            if userChoice == "q":
                break
            elif userChoice == '1':
                print()
                UserInterface.TypeRatioQuery(t)
                print(MainMenuTitle)
            elif userChoice == '2':
                UserInterface.CrimeLiquorQuery(t)
                print(MainMenuTitle)
            elif userChoice == '3':
                print(
                    "-----------------------------------------------------------"
                )
                print("Loading...")
                print()
                queries.responsibleratio(conn)
                print(
                    "-----------------------------------------------------------"
                )
                print(MainMenuTitle)
            elif userChoice == '4':
                print(
                    "-----------------------------------------------------------"
                )
                queries.liquorstores(conn)
                print(
                    "-----------------------------------------------------------"
                )
                print(MainMenuTitle)
            elif userChoice == '5':
                UserInterface.CrimeChangeQuery(t)
                print(MainMenuTitle)
            elif userChoice == '6':
                UserInterface.LiquorCrimeTypeQuery(t)
                print(MainMenuTitle)
            # elif userChoice == '7':
            #     print(Terminal().bold_red(sisMan()))
            else:
                print(
                    t.bold_red(
                        "Invalid input. Please type in a number from 1-6"))
            UserInterface.displayOptions(t)
            userChoice = input()
        print()
        print(t.bold_blue("EXITED APPLICATION"))
        print()
Esempio n. 18
0
def pic(bnumber):
    conn = queries.getConn('c9')
    curs = conn.cursor(MySQLdb.cursors.DictCursor)
    numrows = curs.execute(
        '''select bnumber,filename from users inner join picfile using (bnumber)
                    where bnumber = %s''', [bnumber])
    if numrows == 0:
        flash('No picture for {}'.format(bnumber))
        return redirect(url_for('profile'))
    row = curs.fetchone()
    val = send_from_directory(app.config['UPLOADS'], row['filename'])
    return val
Esempio n. 19
0
def groupProf(courseNum, pid):
    '''Returns group page for users that are professors'''
    if session.get('logged_in'):
        conn = queries.getConn('c9')
        course = queries.findCourse(conn, courseNum)
        groups = queries.groups(conn, courseNum, pid)
        numGroups = queries.numGroup(conn, courseNum, pid)
        return render_template('groupProf.html', course = course, courseNum = courseNum, pid = pid,
        numGroups = numGroups['numGroups'], groups = groups, logged_in = session['logged_in'])
    else:
        flash('Need to login to access page')
        return index()
Esempio n. 20
0
def group(courseNum, groupNum, pid):
    '''Returns group page for student users'''
    if session.get('logged_in'):
        conn = queries.getConn('c9')
        course = queries.findCourse(conn, courseNum)
        group = queries.psetGroup(conn, courseNum, pid, groupNum)
    
        return render_template('groups.html', course = course,
        groupNum = groupNum, group = group, logged_in = session['logged_in'])
    else:
        flash('Need to login to access page')
        return index()
Esempio n. 21
0
def newPassword():
    '''Allows students to sign up for accounts if added by professor'''
    username = request.form.get('username')
    password1 = request.form.get('password')
    password2 = request.form.get('password2')
    if password1 != password2:
        flash('Passwords do not match')
        return render_template('newPassword.html', usernmame  = username)
    hashed = bcrypt.hashpw(password1.encode('utf-8'), bcrypt.gensalt())
    conn = queries.getConn('c9')
    queries.newPassword(conn, hashed)
    flash('Your account has been created! Go ahead and login.')
    return render_template('base.html')
Esempio n. 22
0
def newEnrollment():
    if request.method == 'GET':
        return render_template('newEnrollment.html')
    else:
        username = request.form.get('username')
        courseNum = request.form.get('courseNum')
        conn = queries.getConn('c9')
        if not queries.checkEnrollment(conn, username, courseNum):
            flash('Your username is not enrolled in this course. ' 
            +
            'Confirm your course number or sign up for a new account')
            return redirect(request.referrer)
        return render_template('newPassword.html', username = username)
Esempio n. 23
0
def editPlayers():
    if 'uid' in session and 'camp' in session:
        uid = session['uid']
        cid = session['camp']

        conn = queries.getConn(DATABASE)

        if not queries.userIsDM(conn, uid, cid):
            flash("You cannot add or remove players.")
            return redirect(url_for('campPage'))

        if request.method == 'GET':
            name = pb_view.camp_name(cid, conn)
            players = map(lambda x: x[0], queries.getCampPlayers(
                conn, cid))  #get campaign players and clean list
            return render_template('edit_players.html',
                                   name=name,
                                   players=' '.join(players))

        else:
            playersBefore = map(lambda x: x[0],
                                queries.getCampPlayers(conn, cid))
            players = request.form.get("players")
            players = players.strip().split()  #make into list

            #Remove players who've been removed
            for player in playersBefore:  #this is horrible and i hate it
                if player not in players:
                    queries.removePlayer(
                        conn,
                        queries.getUserID(conn, player)['uid'], cid)

            #insert players into campaign
            for player in players:
                playerID = queries.getUserID(conn, player)
                if playerID == None:
                    flash("There was an error adding " + player +
                          " to campaign.")
                else:
                    try:
                        queries.addPlayerToCamp(conn, playerID['uid'], cid)
                    except:
                        flash("There was an error adding " + player +
                              " to campaign.")

            flash("Successfully edited players")
            return redirect(url_for("campPage"))

    else:
        flash("There was an error accessing requested page.")
        return redirect(url_for('home'))
Esempio n. 24
0
def login(token, userinfo, **params):
    user = users[userinfo['id']] = User(userinfo)
    login_user(user)
    #uses google token and extra info in session
    session['logged_in'] = True

    conn = queries.getConn('c9')
    search = queries.google_login(conn, user.email)
    session['username'] = search['username']
    if search:
        return redirect(url_for('profile'))

    else:
        return redirect(params.get('next', url_for('newUser')))
 def CrimeLiquorQuery(t):
     """
     Option 2 from Main Menu
     """
     UserInterface.displayCrimeLiquorOptions(t)
     userChoice = input()
     conn = queries.getConn()
     while userChoice != 'q':
         if userChoice == "q":
             break
         elif userChoice == '1':
             print(
                 "-----------------------------------------------------------"
             )
             print("Loading...")
             print()
             queries.counties_liq_crime(1, conn)
             print(
                 "-----------------------------------------------------------"
             )
         elif userChoice == '2':
             print(
                 "-----------------------------------------------------------"
             )
             print("Loading...")
             print()
             queries.counties_liq_crime(2, conn)
             print(
                 "-----------------------------------------------------------"
             )
         elif userChoice == '3':
             print(
                 "-----------------------------------------------------------"
             )
             print("Loading...")
             print()
             queries.counties_liq_crime(3, conn)
             print(
                 "-----------------------------------------------------------"
             )
         else:
             print(
                 t.bold_red(
                     "Invalid input. Please type in a number from 1-6"))
         UserInterface.displayCrimeLiquorOptions(t)
         userChoice = input()
     print()
     print(t.bold_cyan("Exited Option 2"))
     print()
Esempio n. 26
0
def pic(bnumber):
    '''URL that displays images of users from uploads folder'''
    if session.get('logged_in'):
        conn = queries.getConn('c9')
        curs = conn.cursor(MySQLdb.cursors.DictCursor)
        numrows = curs.execute('''select bnumber,filename from users inner join picfile using (bnumber)
                        where bnumber = %s''', [bnumber])
        if numrows == 0:
            flash('No picture for {}'.format(bnumber))
            return redirect(url_for('profile'))
        row = curs.fetchone()
        val = send_from_directory(app.config['UPLOADS'],row['filename'])
        return val
    else:
        flash('Need to login to access page')
        return index()
Esempio n. 27
0
def updateRosterWithUpload():
    file = request.files['roster-csv']
    if not file.filename:
        flash('No file selected')
    filename = secure_filename(file.filename)
    if filename.split('.')[-1] in ALLOWED_EXTENSIONS:
        fullpath = os.path.join(app.config['UPLOADS'], filename)
        file.save(os.path.join(app.config['UPLOADS'], filename))
        conn = queries.getConn('c9')
        queries.loadCSV(conn, fullpath)
        courseNum = session.get('courseNum')
        queries.enrollCSV(conn, fullpath, courseNum)
        
    else:
        flash('The provided file extension is not allowed for uploads.')
    return redirect(request.referrer)
Esempio n. 28
0
def newUser():
    conn = queries.getConn('c9')
    if request.method == 'POST':
        name = request.form.get('name')
        email = request.form.get('email')
        phone = request.form.get('phone')
        bnumber = request.form.get('bnumber')
        if len(bnumber) == 0:
            flash('enter a bnumber')
        else:
            queries.addUser(conn, bnumber, name, email, phone)
            return redirect(url_for('profile'))
    else:
        name = current_user.name
        email = current_user.email
        return render_template('newUser.html', name=name, email=email)
Esempio n. 29
0
def flaskLogin():
    conn = queries.getConn('c9')
    check = ''
    pwrd = request.form['password']
    if '@' in request.form['username-email']:
        email = request.form['username-email']
        check = queries.emailLogin(conn, email, pwrd)
    else:
        username = request.form['username-email']
        check = queries.nameLogin(conn, username, pwrd)
    if not check:
        flash('Incorrect username or password')
        return redirect(request.referrer)
    session['logged_in'] = True
    session['bnumber'] = check['bnumber']
    session['username'] = check['username']
    return redirect(url_for('profile', bnumber=session['bnumber']))
Esempio n. 30
0
def availabilityAjax():
    '''Waits for changes in availability section to update in the database
        AUTOSAVE FEATURE    
    '''
    
    availability = request.args.get('availability')
    bnumber = request.args.get('bnumber')
    try:
        conn = queries.getConn('c9')
        curs = conn.cursor(MySQLdb.cursors.DictCursor)
        numrows = curs.execute('''update users set availability = %s
                    where bnumber = %s''', [availability, bnumber])
                    
        
        return jsonify( {'error': False, 'availability': availability, 'bnumber': bnumber} )
    except Exception as err:
        return jsonify( {'error': True, 'err': str(err) } )