def test_is_student(db): im = index_model.Index(db, real_student['sid']) assert im.is_student() is True im = index_model.Index(db, fake_student['sid']) assert im.is_student() is False im = index_model.Index(db, real_teacher['tid']) assert im.is_student() is False
def main_teacher(): tid = flask.session['id'] if request.method == 'GET': index = index_model.Index(tid) if (not index.is_teacher()): return render_template('error.html') tm = teachers_model.Teachers(tid) ssm = sessions_model.Sessions() if request.method == 'POST': if "close" in request.form.keys(): cid = request.form["close"] ssm.open_session(cid) ssm.close_window() elif "open" in request.form.keys(): cid = int(request.form["open"]) new_seid = ssm.open_session(cid) ssm.open_window(new_seid) course = courses_model.Courses() students = course.get_students_sids(cid) for student in students: sm = students_model.Students(student['sid']) sm.insert_attendance_record(new_seid) courses = tm.get_courses_with_session() empty = True if len(courses) == 0 else False context = dict(data=courses) return render_template('main_teacher.html', empty=empty, **context)
def login(): im = index_model.Index(flask.session['id']) if im.is_student(): print flask.url_for('main_student') return flask.redirect(flask.url_for('main_student')) elif im.is_teacher(): return flask.redirect(flask.url_for('main_teacher')) else: return render_template('login.html', not_registered=True)
def login(): im = index_model.Index(g.conn, flask.session['id']) # TODO: allow for student/teacher redirects if im.is_student(): return flask.redirect(flask.url_for('main_student')) elif im.is_teacher(): return flask.redirect(flask.url_for('main_teacher')) else: return render_template('login.html', not_registered=True)
def switch_type(): im = index_model.Index(flask.session['id']) if request.form['type'] == 'teacher': if im.is_teacher(): return flask.redirect(flask.url_for('main_teacher')) else: return flask.redirect(flask.url_for('register')) elif request.form['type'] == 'student': if im.is_student(): return flask.redirect(flask.url_for('main_student')) else: return flask.redirect(flask.url_for('register'))
def oauth2callback(): flow = oauth2client.client.flow_from_clientsecrets( 'client_secrets.json', scope=[ 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile' ], redirect_uri=flask.url_for('oauth2callback', _external=True)) if 'code' not in flask.request.args: auth_uri = flow.step1_get_authorize_url() return flask.redirect(auth_uri) else: auth_code = flask.request.args.get('code') print auth_code credentials = flow.step2_exchange(auth_code) flask.session['credentials'] = credentials.to_json() app.logger.warning(flask.session) # use token to get user profile from google oauth api http_auth = credentials.authorize(httplib2.Http()) userinfo_client = apiclient.discovery.build('oauth2', 'v2', http_auth) user = userinfo_client.userinfo().v2().me().get().execute() # if 'columbia.edu' not in user['email']: # return flask.redirect(flask.url_for('bademail')) um = users_model.Users(g.conn) flask.session['google_user'] = user flask.session['id'] = um.get_or_create_user(user) # now add is_student and is_teacher to flask.session im = index_model.Index(g.conn, flask.session['id']) flask.session['is_student'] = True if im.is_student() else False flask.session['is_teacher'] = True if im.is_teacher() else False # issue is here print flask.session redirect = flask.session['redirect'] flask.session.pop('redirect', None) return flask.redirect(redirect)