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())
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'))
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())
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())
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())
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())
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())