def register(): """Register page""" try: form = RegisterForm(request.form) next = request.args.get('next', None) if request.method == 'POST' and form.validate(): salt = hashing.hash_value(str(datetime.now())) password = hashing.hash_value(form.password.data, salt=salt) user = User( name=form.name.data, email=form.email.data, password=password, salt=salt, username=form.username.data ).post().authenticate(password=password, salt=None) if login_user(user): return redirect( request.form.get('next') or url_for('sphere.home'), access_token=user.access_token) else: return redirect(url_for('public.login')) except LogicException as e: message = str(e) return render_template('public/register.html', **locals())
def login(): """Login page""" try: form = LoginForm(request.form) next = request.args.get('next', None) user = User(username=form.username.data) if request.method == 'POST' and form.validate(): user.get() password = hashing.hash_value(form.password.data, salt=user.salt) user.authenticate(password=password, salt=None) if user.get_id() and user.is_authenticated() and user.is_active(): if login_user(user): return redirect( request.form.get('next') or url_for('sphere.home'), access_token=user.access_token) message = 'Login failed.' except LogicException as e: message = str(e) return render_template('public/login.html', **locals())