From c879f87a451870da98faea632bd84af596da8a97 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Thu, 25 Feb 2010 16:50:56 +0000 Subject: [PATCH] Add a "remember me" box to the login screen that causes you to stay logged in across browser restarts - you will only be logged out if you don't visit for a month. Closes #1030. --- app/controllers/user_controller.rb | 2 ++ app/views/user/login.html.erb | 1 + 2 files changed, 3 insertions(+) diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 3a2bc7f0d..02cabb010 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -157,6 +157,7 @@ class UserController < ApplicationController user = User.authenticate(:username => email_or_display_name, :password => pass) if user session[:user] = user.id + session_expires_after 1.month if params[:remember_me] elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true) flash.now[:error] = t 'user.login.account not active' else @@ -192,6 +193,7 @@ class UserController < ApplicationController session[:token] = nil end session[:user] = nil + session_expires_automatically if params[:referer] redirect_to params[:referer] else diff --git a/app/views/user/login.html.erb b/app/views/user/login.html.erb index 19e1f21e1..9ff100079 100644 --- a/app/views/user/login.html.erb +++ b/app/views/user/login.html.erb @@ -7,6 +7,7 @@ +
<%= t 'user.login.email or username' %><%= text_field('user', 'email',{:size => 28, :maxlength => 255, :tabindex => 1}) %>
<%= t 'user.login.password' %><%= password_field('user', 'password',{:size => 28, :maxlength => 255, :tabindex => 2}) %> (<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)
<%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %>
 
<%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
-- 2.43.2