Added an option on 'My account' for users who don't want to be notified of changes that they make.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@899 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2007-11-12 16:43:49 +00:00
parent 843d04f0e3
commit 0fe5c7b3e0
3 changed files with 10 additions and 0 deletions

View File

@ -56,6 +56,7 @@ class MyController < ApplicationController
@user.attributes = params[:user]
@user.mail_notification = (params[:notification_option] == 'all')
@user.pref.attributes = params[:pref]
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
if @user.save
@user.pref.save
@user.notified_project_ids = (params[:notification_option] == 'selected' ? params[:notified_project_ids] : [])

View File

@ -121,6 +121,14 @@ class Mailer < ActionMailer::Base
default_url_options[:protocol] = Setting.protocol
end
# Overrides the create_mail method to remove the current user from the recipients and cc
# if he doesn't want to receive notifications about what he does
def create_mail
recipients.delete(User.current.mail) if recipients && User.current.pref[:no_self_notified]
cc.delete(User.current.mail) if cc && User.current.pref[:no_self_notified]
super
end
# Renders a message with the corresponding layout
def render_message(method_name, body)
layout = method_name.match(%r{text\.html\.(rhtml|rxml)}) ? 'layout.text.html.rhtml' : 'layout.text.plain.rhtml'

View File

@ -32,6 +32,7 @@
<% end %></p>
<p><em><%= l(:text_user_mail_option) %></em></p>
<% end %>
<p><label><%= check_box_tag 'no_self_notified', 1, @user.pref[:no_self_notified] %> I don't want to be notified of changes that I make myself.</label></p>
</div>
</div>
<% end %>