Do not show "for only project I select" notification option on application settings form (#7294).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4730 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
16fdf5fe66
commit
8933482c37
|
@ -260,11 +260,15 @@ class User < Principal
|
||||||
notified_projects_ids
|
notified_projects_ids
|
||||||
end
|
end
|
||||||
|
|
||||||
# Only users that belong to more than 1 project can select projects for which they are notified
|
|
||||||
def valid_notification_options
|
def valid_notification_options
|
||||||
|
self.class.valid_notification_options(self)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Only users that belong to more than 1 project can select projects for which they are notified
|
||||||
|
def self.valid_notification_options(user=nil)
|
||||||
# Note that @user.membership.size would fail since AR ignores
|
# Note that @user.membership.size would fail since AR ignores
|
||||||
# :include association option when doing a count
|
# :include association option when doing a count
|
||||||
if memberships.length < 1
|
if user.nil? || user.memberships.length < 1
|
||||||
MAIL_NOTIFICATION_OPTIONS.reject {|option| option.first == 'selected'}
|
MAIL_NOTIFICATION_OPTIONS.reject {|option| option.first == 'selected'}
|
||||||
else
|
else
|
||||||
MAIL_NOTIFICATION_OPTIONS
|
MAIL_NOTIFICATION_OPTIONS
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
<p><%= setting_check_box :plain_text_mail %></p>
|
<p><%= setting_check_box :plain_text_mail %></p>
|
||||||
|
|
||||||
<p><%= setting_select(:default_notification_option, User::MAIL_NOTIFICATION_OPTIONS.collect {|o| [l(o.last), o.first.to_s]}) %></p>
|
<p><%= setting_select(:default_notification_option, User.valid_notification_options.collect {|o| [l(o.last), o.first.to_s]}) %></p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -310,6 +310,12 @@ class UserTest < ActiveSupport::TestCase
|
||||||
assert_equal 6, User.find(2).valid_notification_options.size
|
assert_equal 6, User.find(2).valid_notification_options.size
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_valid_notification_options_class_method
|
||||||
|
assert_equal 5, User.valid_notification_options.size
|
||||||
|
assert_equal 5, User.valid_notification_options(User.find(7)).size
|
||||||
|
assert_equal 6, User.valid_notification_options(User.find(2)).size
|
||||||
|
end
|
||||||
|
|
||||||
def test_mail_notification_all
|
def test_mail_notification_all
|
||||||
@jsmith.mail_notification = 'all'
|
@jsmith.mail_notification = 'all'
|
||||||
@jsmith.notified_project_ids = []
|
@jsmith.notified_project_ids = []
|
||||||
|
|
Loading…
Reference in New Issue