Exemplo n.º 1
0
def login():
    if request.method == 'POST':
        email = request.form['email']
        password = request.form['password']

        error = None

        try:
            user = auth.sign_in_with_email_and_password(email, password)
        except requests.exceptions.HTTPError as e:
            error = json.loads(e.args[1])['error']['message']
            print(error)
            flash("Invalid Credentials")

        if error is None:
            session.clear()
            session['user'] = user
            session['name'] = db.child('users').child(
                user['localId']).get().val()
            return redirect(url_for('dashboard'))
    if request.method == 'GET':
        if g.user is not None:
            return redirect(url_for('dashboard'))

    return render_template('/auth/login.html')
Exemplo n.º 2
0
def register():
    data = requests.get(
        'https://us-central1-shpe-uci-tech.cloudfunctions.net/majors').text
    #print(data)
    if request.method == 'POST':
        email = request.form['email']
        password = request.form['password']
        recaptcha_response = request.form['g-recaptcha-response']

        error = None

        if verify_recaptcha_token(recaptcha_response):
            print("valid recaptcha")
        else:
            error = "Invalid Recaptcha"
            print("invalid recaptcha")

        if not email:
            error = 'Email is required.'
        elif not password:
            error = 'Password is required.'

        if error is None:
            try:
                user = auth.create_user_with_email_and_password(
                    email, password)
            except requests.exceptions.HTTPError as e:
                error = json.loads(e.args[1])['error']['message']
                if error == "EMAIL_EXISTS":
                    flash("Email already in use. Please Sign In.")
                else:
                    flash(error)

        if error is None:
            points = {"fall": 0, "winter": 0, "spring": 0}

            data = {
                "first_name": request.form['first_name'],
                "last_name": request.form['last_name'],
                "email": email,
                "major": request.form['major'],
                "year": request.form['year'],
                "resume_id": ""
            }

            user = auth.sign_in_with_email_and_password(email, password)

            db.child("users").child(user["localId"]).set(data)

            db.child("points").child(user["localId"]).set(points)

            session.clear()
            session['user'] = user
            session['name'] = db.child('users').child(
                user['localId']).get().val()
            return redirect(url_for('dashboard'))
        else:
            flash(error)

    if g.user is not None:
        return redirect(url_for('dashboard'))
    return render_template('/auth/register.html', data=data)