diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,6 +1,6 @@ class UsersController < ApplicationController - before_filter :authenticate + before_filter :authenticate, :except => [:new, :register] verify :method => :post, :only => [:chg_passwd], :redirect_to => { :action => :index } @@ -9,10 +9,11 @@ in_place_edit_for :user, :email_for_editing def index - # uncomment below to disable settings - #redirect_to :controller => 'main', :action => 'list' - - @user = User.find(session[:user_id]) + if !Configuration['system.user_setting_enabled'] + redirect_to :controller => 'main', :action => 'list' + else + @user = User.find(session[:user_id]) + end end def chg_passwd diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -30,7 +30,10 @@ append_to menu_items, '[Test]', 'test', 'index' end append_to menu_items, '[Help]', 'main', 'help' - append_to menu_items, '[Settings]', 'users', 'index' + + if Configuration['system.user_setting_enabled'] + append_to menu_items, '[Settings]', 'users', 'index' + end append_to menu_items, '[Log out]', 'main', 'login' menu_items diff --git a/db/migrate/20081204081043_add_more_options_to_configurations.rb b/db/migrate/20081204081043_add_more_options_to_configurations.rb --- a/db/migrate/20081204081043_add_more_options_to_configurations.rb +++ b/db/migrate/20081204081043_add_more_options_to_configurations.rb @@ -14,10 +14,18 @@ Configuration.create(:key => 'system.online_registration', :value_type => 'boolean', :value => 'false') + + # If Configuration['system.user_setting_enabled'] is true, + # users can change their settings + + Configuration.create(:key => 'system.user_setting_enabled', + :value_type => 'boolean', + :value => 'true') end def self.down Configuration.find_by_key('contest.multisites').destroy Configuration.find_by_key('system.online_registration').destroy + Configuration.find_by_key('system.user_setting_enabled').destroy end end