From 7826d2f6747af7f0f839ba969c91a4289f02a905 Mon Sep 17 00:00:00 2001 From: wvengen Date: Sat, 15 Jun 2013 02:04:44 +0200 Subject: [PATCH] move login and logout to separate methods Conflicts: app/controllers/sessions_controller.rb Conflicts: app/controllers/application_controller.rb app/controllers/sessions_controller.rb --- app/controllers/application_controller.rb | 15 +++++++++++++-- app/controllers/sessions_controller.rb | 8 ++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 3a01550a..d112a86a 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -31,12 +31,23 @@ class ApplicationController < ActionController::Base end private - + + def login(user) + session[:user_id] = user.id + session[:scope] = FoodsoftConfig.scope # Save scope in session to not allow switching between foodcoops with one account + session[:locale] = user.locale + end + + def logout + session[:user_id] = nil + session[:return_to] = nil + end + def authenticate(role = 'any') # Attempt to retrieve authenticated user from controller instance or session... if !current_user # No user at all: redirect to login page. - session[:user_id] = nil + logout session[:return_to] = request.original_url redirect_to_login :alert => I18n.t('application.controller.error_authn') else diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 68dfc2d1..dad2f6fb 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -9,10 +9,7 @@ class SessionsController < ApplicationController def create user = User.authenticate(params[:nick], params[:password]) if user - session[:user_id] = user.id - session[:scope] = FoodsoftConfig.scope # Save scope in session to not allow switching between foodcoops with one account - session[:locale] = user.locale - + login user if session[:return_to].present? redirect_to_url = session[:return_to] session[:return_to] = nil @@ -27,8 +24,7 @@ class SessionsController < ApplicationController end def destroy - session[:user_id] = nil - session[:return_to] = nil + logout redirect_to login_url, :notice => I18n.t('sessions.logged_out') end