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