Add a default mail notification setting for new users

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4219 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Eric Davis 2010-09-28 18:36:50 +00:00
parent c059300d99
commit 582ed86d82
5 changed files with 19 additions and 1 deletions

View File

@ -74,7 +74,7 @@ class User < Principal
validates_confirmation_of :password, :allow_nil => true validates_confirmation_of :password, :allow_nil => true
def before_create def before_create
self.mail_notification = 'only_my_events' self.mail_notification = Setting.default_notification_option
true true
end end

View File

@ -7,6 +7,9 @@
<p><%= setting_check_box :bcc_recipients %></p> <p><%= setting_check_box :bcc_recipients %></p>
<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>
</div> </div>
<fieldset class="box settings" id="notified_events"><legend><%=l(:text_select_mail_notifications)%></legend> <fieldset class="box settings" id="notified_events"><legend><%=l(:text_select_mail_notifications)%></legend>

View File

@ -350,6 +350,7 @@ en:
setting_start_of_week: Start calendars on setting_start_of_week: Start calendars on
setting_rest_api_enabled: Enable REST web service setting_rest_api_enabled: Enable REST web service
setting_cache_formatted_text: Cache formatted text setting_cache_formatted_text: Cache formatted text
setting_default_notification_option: Default notification option
permission_add_project: Create project permission_add_project: Create project
permission_add_subprojects: Create subprojects permission_add_subprojects: Create subprojects

View File

@ -184,3 +184,5 @@ start_of_week:
default: '' default: ''
rest_api_enabled: rest_api_enabled:
default: 0 default: 0
default_notification_option:
default: 'only_my_events'

View File

@ -61,6 +61,18 @@ class UserTest < ActiveSupport::TestCase
assert user.save assert user.save
end end
context "User#before_create" do
should "set the mail_notification to the default Setting" do
@user1 = User.generate_with_protected!
assert_equal 'only_my_events', @user1.mail_notification
with_settings :default_notification_option => 'all' do
@user2 = User.generate_with_protected!
assert_equal 'all', @user2.mail_notification
end
end
end
context "User.login" do context "User.login" do
should "be case-insensitive." do should "be case-insensitive." do
u = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo") u = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo")