1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-16 23:29:49 +00:00

Added remember me to login form

This commit is contained in:
zhengxie
2014-01-02 16:20:39 +08:00
parent c58f8fb778
commit 443acd57d2
5 changed files with 24 additions and 4 deletions

View File

@@ -1107,6 +1107,10 @@ textarea:-moz-placeholder {/* for FF */
width:auto; width:auto;
margin:3px 0 0; margin:3px 0 0;
} }
#id_remember_me {
width: auto;
margin-right: 5px;
}
/*myhome*/ /*myhome*/
.home-profile .pic { .home-profile .pic {
margin-left:9px; margin-left:9px;

View File

@@ -80,6 +80,8 @@ def login(request, user):
request.session[SESSION_KEY] = user.username request.session[SESSION_KEY] = user.username
request.session[BACKEND_SESSION_KEY] = user.backend request.session[BACKEND_SESSION_KEY] = user.backend
if request.session.get('remember_me', False):
request.session.set_expiry(7 * 24 * 60 * 60)
if hasattr(request, 'user'): if hasattr(request, 'user'):
request.user = user request.user = user
user_logged_in.send(sender=user.__class__, request=request, user=user) user_logged_in.send(sender=user.__class__, request=request, user=user)

View File

@@ -69,6 +69,9 @@ def login(request, template_name='registration/login.html',
form = CaptchaAuthenticationForm(data=request.POST) form = CaptchaAuthenticationForm(data=request.POST)
if form.is_valid(): if form.is_valid():
# captcha & passwod is valid, log user in # captcha & passwod is valid, log user in
remember_me = True if request.REQUEST.get(
'remember_me', '') == 'on' else False
request.session['remember_me'] = remember_me
return log_user_in(request, form.get_user(), redirect_to) return log_user_in(request, form.get_user(), redirect_to)
# else: # else:
# show page with captcha # show page with captcha
@@ -76,6 +79,9 @@ def login(request, template_name='registration/login.html',
form = authentication_form(data=request.POST) form = authentication_form(data=request.POST)
if form.is_valid(): if form.is_valid():
# password is valid, log user in # password is valid, log user in
remember_me = True if request.REQUEST.get(
'remember_me', '') == 'on' else False
request.session['remember_me'] = remember_me
return log_user_in(request, form.get_user(), redirect_to) return log_user_in(request, form.get_user(), redirect_to)
else: else:
username = request.REQUEST.get('username', '') username = request.REQUEST.get('username', '')

View File

@@ -360,6 +360,9 @@ LOGGING = {
LOGIN_ATTEMPT_LIMIT = 3 LOGIN_ATTEMPT_LIMIT = 3
LOGIN_ATTEMPT_TIMEOUT = 15 * 60 # in seconds (default: 15 minutes) LOGIN_ATTEMPT_TIMEOUT = 15 * 60 # in seconds (default: 15 minutes)
# Age of cookie, in seconds (default: 1 day).
SESSION_COOKIE_AGE = 24 * 60 * 60
################# #################
# Email sending # # Email sending #
################# #################

View File

@@ -17,15 +17,20 @@
{% endif %} {% endif %}
<input type="hidden" name="next" value="{% if next %}{{ next|escape }}{% else %}{{ SITE_ROOT }}{% endif %}" /> <input type="hidden" name="next" value="{% if next %}{{ next|escape }}{% else %}{{ SITE_ROOT }}{% endif %}" />
{% if form.errors %} {% if form.errors %}
{% if form.captcha.errors %} {% if form.captcha.errors %}
<p class="error">{{ form.captcha.errors}}</p> <p class="error">{{ form.captcha.errors}}</p>
{% else %} {% else %}
<p class="error">{% trans "Incorrect email or password" %}</p> <p class="error">{% trans "Incorrect email or password" %}</p>
{% endif %} {% endif %}
{% else %} {% else %}
<p class="error hide"></p> <p class="error hide"></p>
{% endif %} {% endif %}
<input type="submit" value="{% trans "Submit" %}" class="submit" />
<div>
<label for="id_remember_me"><input id="id_remember_me" type="checkbox" name="remember_me" tabindex="">{% trans "Remember me for 7 days" %}</label>
</div>
<input type="submit" value="{% trans "Submit" %}" class="submit" />
{% if enable_signup %} {% if enable_signup %}
<a href="{{ SITE_ROOT }}accounts/register/" style="font-size:13px;">{% trans "Signup" %}</a> <a href="{{ SITE_ROOT }}accounts/register/" style="font-size:13px;">{% trans "Signup" %}</a>
{% endif %} {% endif %}