Exemplo n.º 1
0
def login_view():
    if login.current_user.is_authenticated:
        return redirect(url_for('.index'))

    if request.method == 'GET':
        google = get_google_auth()
        auth_url, state = google.authorization_url(OAuth.get_auth_uri(), access_type='offline')
        session['oauth_state'] = state

        # Add Facebook Oauth 2.0 login
        facebook = get_facebook_auth()
        fb_auth_url, state = facebook.authorization_url(FbOAuth.get_auth_uri(), access_type='offline')
        session['fb_oauth_state'] = state
        return render_template('gentelella/users/login/login.html', auth_url=auth_url, fb_auth_url=fb_auth_url)
    if request.method == 'POST':
        email = request.form['email']
        user = DataGetter.get_user_by_email(email)
        if user is None:
            logging.info('No such user')
            return redirect(url_for('admin.login_view'))
        if user.password != generate_password_hash(request.form['password'], user.salt):
            logging.info('Password Incorrect')
            flash('Incorrect Password', 'danger')
            return redirect(url_for('admin.login_view'))
        login.login_user(user)
        record_user_login_logout('user_login', user)

        # Store user_id in session for socketio use
        session['user_id'] = login.current_user.id

        logging.info('logged successfully')
        user_logged_in(user)
        return redirect(intended_url())
Exemplo n.º 2
0
def create_account_after_confirmation_view(hash):
    s = get_serializer()
    data = s.loads(hash)
    user = User.query.filter_by(email=data[0]).first()
    user.is_verified = True
    save_to_db(user, 'User updated')
    login.login_user(user)
    record_user_login_logout('user_login', user)
    user_logged_in(user)
    flash('Thank you. Your new email is now confirmed', 'success')
    return redirect(url_for('settings.contact_info_view'))
Exemplo n.º 3
0
def create_account_after_confirmation_view(hash):
    s = get_serializer()
    data = s.loads(hash)
    user = User.query.filter_by(email=data[0]).first()
    user.is_verified = True
    save_to_db(user, 'User updated')
    login.login_user(user)
    record_user_login_logout('user_login', user)
    user_logged_in(user)
    flash('Thank you. Your new email is now confirmed', 'success')
    return redirect(url_for('settings.contact_info_view'))
Exemplo n.º 4
0
def create_password_after_oauth_login(email):
    s = get_serializer()
    email = s.loads(email)
    user = DataGetter.get_user_by_email(email)
    if request.method == 'GET':
        return render_template('gentelella/admin/login/create_password.html')
    if request.method == 'POST':
        user = create_user_password(request.form, user)
        if user is not None:
            login.login_user(user)
            record_user_login_logout('user_login', user)
            user_logged_in(user)
            return redirect(intended_url())
Exemplo n.º 5
0
def create_password_after_oauth_login(email):
    s = get_serializer()
    email = s.loads(email)
    user = DataGetter.get_user_by_email(email)
    if request.method == 'GET':
        return render_template('gentelella/users/login/create_password.html')
    if request.method == 'POST':
        user = create_user_password(request.form, user)
        if user is not None:
            login.login_user(user)
            record_user_login_logout('user_login', user)
            user_logged_in(user)
            return redirect(intended_url())
Exemplo n.º 6
0
def register_view():
    if request.method == 'GET':
        return render_template('gentelella/users/login/register.html')
    if request.method == 'POST':
        logging.info("Registration under process")
        s = get_serializer()
        data = [request.form['email'], request.form['password']]
        user = DataManager.create_user(data)
        form_hash = s.dumps([request.form['email'], str_generator()])
        link = url_for('.create_account_after_confirmation_view', hash=form_hash, _external=True)
        send_email_confirmation(request.form, link)
        login.login_user(user)
        record_user_login_logout('user_login', user)
        logging.info('logged successfully')
        user_logged_in(user)
        return redirect(intended_url())
Exemplo n.º 7
0
def register_view():
    if request.method == 'GET':
        return render_template('gentelella/admin/login/register.html')
    if request.method == 'POST':
        logging.info("Registration under process")
        s = get_serializer()
        data = [request.form['email'], request.form['password']]
        user = DataManager.create_user(data)
        form_hash = s.dumps([request.form['email'], str_generator()])
        link = url_for('.create_account_after_confirmation_view',
                       hash=form_hash,
                       _external=True)
        send_email_confirmation(request.form, link)
        login.login_user(user)
        record_user_login_logout('user_login', user)
        logging.info('logged successfully')
        user_logged_in(user)
        return redirect(intended_url())
Exemplo n.º 8
0
def login_view():
    if login.current_user.is_authenticated:
        return redirect(url_for('.index'))

    if request.method == 'GET':
        google = get_google_auth()
        auth_url, state = google.authorization_url(OAuth.get_auth_uri(),
                                                   access_type='offline')
        session['oauth_state'] = state

        # Add Facebook Oauth 2.0 login
        facebook = get_facebook_auth()
        fb_auth_url, state = facebook.authorization_url(FbOAuth.get_auth_uri(),
                                                        access_type='offline')
        session['fb_oauth_state'] = state
        return render_template('gentelella/admin/login/login.html',
                               auth_url=auth_url,
                               fb_auth_url=fb_auth_url)
    if request.method == 'POST':
        email = request.form['email']
        user = DataGetter.get_user_by_email(email)
        if user is None:
            logging.info('No such user')
            return redirect(url_for('admin.login_view'))
        if user.password != generate_password_hash(request.form['password'],
                                                   user.salt):
            logging.info('Password Incorrect')
            flash('Incorrect Password', 'danger')
            return redirect(url_for('admin.login_view'))
        login.login_user(user)
        record_user_login_logout('user_login', user)

        # Store user_id in session for socketio use
        session['user_id'] = login.current_user.id

        logging.info('logged successfully')
        user_logged_in(user)
        return redirect(intended_url())