Browse Source

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
tags/1.2.0
Jean-Philippe Lang 13 years ago
parent
commit
e17fadd07a
3 changed files with 13 additions and 3 deletions
  1. 6
    2
      app/models/user.rb
  2. 1
    1
      app/views/settings/_notifications.rhtml
  3. 6
    0
      test/unit/user_test.rb

+ 6
- 2
app/models/user.rb View File

@@ -262,11 +262,15 @@ 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
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
# :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'}
else
MAIL_NOTIFICATION_OPTIONS

+ 1
- 1
app/views/settings/_notifications.rhtml View File

@@ -8,7 +8,7 @@

<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>


+ 6
- 0
test/unit/user_test.rb View File

@@ -514,6 +514,12 @@ class UserTest < ActiveSupport::TestCase
assert_equal 6, User.find(2).valid_notification_options.size
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
@jsmith.mail_notification = 'all'
@jsmith.notified_project_ids = []

Loading…
Cancel
Save