diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e9e78cfd..f3b4f30a 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -182,6 +182,14 @@ class ApplicationController < ActionController::Base end helper_method :shared_access_allowed + # Returns the page that the logo redirects to when clicked on + def home_page + return admins_path if current_user.has_role? :super_admin + return current_user.main_room if current_user.role.get_permission("can_create_rooms") + cant_create_rooms_path + end + helper_method :home_page + # Parses the url for the user domain def parse_user_domain(hostname) return hostname.split('.').first if Rails.configuration.url_host.empty? diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb index df97a090..a747f8d3 100644 --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -22,5 +22,7 @@ class MainController < ApplicationController def index # Store invite token session[:invite_token] = params[:invite_token] if params[:invite_token] && invite_registration + + redirect_to home_page if current_user end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 7b4e914b..3bf29d47 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -55,13 +55,6 @@ module ApplicationHelper @fallback_translations[I18n.default_locale] end - # Returns the page that the logo redirects to when clicked on - def home_page - return admins_path if current_user.has_role? :super_admin - return current_user.main_room if current_user.role.get_permission("can_create_rooms") - cant_create_rooms_path - end - # Returns 'active' if the current page is the users home page (used to style header) def active_home home_actions = %w[show cant_create_rooms] diff --git a/spec/controllers/main_controller_spec.rb b/spec/controllers/main_controller_spec.rb index 1c286b7f..b7435611 100644 --- a/spec/controllers/main_controller_spec.rb +++ b/spec/controllers/main_controller_spec.rb @@ -24,5 +24,14 @@ describe MainController, type: :controller do get :index expect(response).to be_successful end + + it "redirects signed in user to their home page" do + user = create(:user) + @request.session[:user_id] = user.id + + get :index + + expect(response).to redirect_to(user.main_room) + end end end