From aeb5d8cf8dc6329906f14bf4595a229e002691c1 Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 4 Apr 2014 15:40:22 +0200 Subject: redirect home when logged in visits /signup (#5446) --- users/app/controllers/controller_extension/authentication.rb | 7 +++++++ users/app/controllers/sessions_controller.rb | 3 ++- users/app/controllers/users_controller.rb | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'users/app') diff --git a/users/app/controllers/controller_extension/authentication.rb b/users/app/controllers/controller_extension/authentication.rb index e83d6b2..03d3989 100644 --- a/users/app/controllers/controller_extension/authentication.rb +++ b/users/app/controllers/controller_extension/authentication.rb @@ -19,6 +19,13 @@ module ControllerExtension::Authentication access_denied unless logged_in? end + # some actions only make sense if you are not logged in yet. + # (login, signup). If a user tries to perform these they will + # be redirected to their dashboard. + def redirect_if_logged_in + redirect_to home_url if logged_in? + end + def access_denied respond_to do |format| format.html do diff --git a/users/app/controllers/sessions_controller.rb b/users/app/controllers/sessions_controller.rb index 0195f30..8919a4d 100644 --- a/users/app/controllers/sessions_controller.rb +++ b/users/app/controllers/sessions_controller.rb @@ -1,7 +1,8 @@ class SessionsController < ApplicationController + before_filter :redirect_if_logged_in, :only => [:new] + def new - redirect_to home_url if logged_in? @session = Session.new if authentication_errors @errors = authentication_errors diff --git a/users/app/controllers/users_controller.rb b/users/app/controllers/users_controller.rb index 6b32d49..c8e09b6 100644 --- a/users/app/controllers/users_controller.rb +++ b/users/app/controllers/users_controller.rb @@ -5,6 +5,7 @@ class UsersController < UsersBaseController before_filter :require_login, :except => [:new] + before_filter :redirect_if_logged_in, :only => [:new] before_filter :require_admin, :only => [:index, :deactivate, :enable] before_filter :fetch_user, :only => [:show, :edit, :update, :destroy, :deactivate, :enable] -- cgit v1.2.3