コード例 #1
0
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
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
ファイル: imhere.py プロジェクト: jeb2239/flask_test_heroku
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)
コード例 #5
0
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'))
コード例 #6
0
ファイル: imhere.py プロジェクト: jeb2239/flask_test_heroku
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)