git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4224 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/1.1.0
@@ -66,13 +66,7 @@ class MyController < ApplicationController | |||
return | |||
end | |||
end | |||
@notification_options = User::MAIL_NOTIFICATION_OPTIONS | |||
# Only users that belong to more than 1 project can select projects for which they are notified | |||
# Note that @user.membership.size would fail since AR ignores | |||
# :include association option when doing a count | |||
if @user.memberships.length < 1 | |||
@notification_options.delete_if {|option| option.first == :selected} | |||
end | |||
@notification_options = @user.valid_notification_options | |||
@notification_option = @user.mail_notification #? ? 'all' : (@user.notified_projects_ids.empty? ? 'none' : 'selected') | |||
end | |||
@@ -77,14 +77,6 @@ class UsersController < ApplicationController | |||
@user = User.new(:language => Setting.default_language) | |||
@auth_sources = AuthSource.find(:all) | |||
# TODO: Similar to My#account | |||
# Only users that belong to more than 1 project can select projects for which they are notified | |||
# Note that @user.membership.size would fail since AR ignores | |||
# :include association option when doing a count | |||
if @user.memberships.length < 1 | |||
@notification_options.delete_if {|option| option.first == :selected} | |||
end | |||
end | |||
verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed } | |||
@@ -121,14 +113,7 @@ class UsersController < ApplicationController | |||
def edit | |||
@user = User.find(params[:id]) | |||
# TODO: Similar to My#account | |||
@notification_options = User::MAIL_NOTIFICATION_OPTIONS | |||
# Only users that belong to more than 1 project can select projects for which they are notified | |||
# Note that @user.membership.size would fail since AR ignores | |||
# :include association option when doing a count | |||
if @user.memberships.length < 1 | |||
@notification_options.delete_if {|option| option.first == :selected} | |||
end | |||
@notification_options = @user.valid_notification_options | |||
@notification_option = @user.mail_notification | |||
if request.post? |
@@ -259,6 +259,17 @@ class User < Principal | |||
notified_projects_ids | |||
end | |||
# Only users that belong to more than 1 project can select projects for which they are notified | |||
def valid_notification_options | |||
# Note that @user.membership.size would fail since AR ignores | |||
# :include association option when doing a count | |||
if memberships.length < 1 | |||
MAIL_NOTIFICATION_OPTIONS.delete_if {|option| option.first == :selected} | |||
else | |||
MAIL_NOTIFICATION_OPTIONS | |||
end | |||
end | |||
# Find a user account by matching the exact login and then a case-insensitive | |||
# version. Exact matches will be given priority. | |||
def self.find_by_login(login) |