From c8adbed3a0ea10886e3b6beda331f00d327a8d10 Mon Sep 17 00:00:00 2001 From: Jae <jae@jae.moe> Date: Fri, 2 Oct 2020 14:03:26 +0200 Subject: [PATCH] Add 'Remember me' button, fixes #57 --- hiboo/account/forms.py | 2 +- hiboo/account/login.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/hiboo/account/forms.py b/hiboo/account/forms.py index 11ddbc9c..83d1cf86 100644 --- a/hiboo/account/forms.py +++ b/hiboo/account/forms.py @@ -4,10 +4,10 @@ from flask_babel import lazy_gettext as _ import flask_wtf - class LoginForm(flask_wtf.FlaskForm): username = fields.StringField(_('Username'), [validators.DataRequired()]) password = fields.PasswordField(_('Password'), [validators.DataRequired()]) + remember_me = fields.BooleanField("Remember me", default=False) submit = fields.SubmitField(_('Sign in')) diff --git a/hiboo/account/login.py b/hiboo/account/login.py index 0b40e7d0..37fefe09 100644 --- a/hiboo/account/login.py +++ b/hiboo/account/login.py @@ -1,11 +1,12 @@ from hiboo import models, utils, security from hiboo.account import blueprint, forms from flask_babel import lazy_gettext as _ +from flask import session import datetime import flask_login import flask - +import sys @blueprint.route("/signin", methods=["GET", "POST"]) def signin(): @@ -14,6 +15,8 @@ def signin(): user = models.User.login(form.username.data, form.password.data) if user: flask_login.login_user(user) + if form.remember_me.data == True: + session.permanent = True return flask.redirect(utils.url_or_intent(".home")) else: flask.flash(_("Wrong credentials"), "danger") -- GitLab