summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-12-02 13:52:16 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-12-02 13:52:16 +0000
commitbc060b31ae086db5a6baf6e3a892c525b2b6f0cd (patch)
treed416375902ae23c70055d2fcc6c6c75e5282249a
parentaebcfb1eda843b90851e0facdc0a386bf06c5d29 (diff)
downloadredmine-bc060b31ae086db5a6baf6e3a892c525b2b6f0cd.tar.gz
redmine-bc060b31ae086db5a6baf6e3a892c525b2b6f0cd.zip
Email notifications are now sent as Blind carbon copy by default. This can be changed in email notifications settings (new setting added).
Emission email address setting moved to the email notifications settings view. git-svn-id: http://redmine.rubyforge.org/svn/trunk@944 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/admin_controller.rb5
-rw-r--r--app/models/mailer.rb17
-rw-r--r--app/views/admin/mail_options.rhtml13
-rw-r--r--app/views/settings/edit.rhtml7
-rw-r--r--config/settings.yml2
-rw-r--r--lang/bg.yml1
-rw-r--r--lang/cs.yml1
-rw-r--r--lang/de.yml1
-rw-r--r--lang/en.yml1
-rw-r--r--lang/es.yml1
-rw-r--r--lang/fr.yml1
-rw-r--r--lang/he.yml1
-rw-r--r--lang/it.yml1
-rw-r--r--lang/ja.yml1
-rw-r--r--lang/ko.yml1
-rw-r--r--lang/nl.yml1
-rw-r--r--lang/pl.yml1
-rw-r--r--lang/pt-br.yml1
-rw-r--r--lang/pt.yml1
-rw-r--r--lang/ro.yml1
-rw-r--r--lang/ru.yml1
-rw-r--r--lang/sr.yml1
-rw-r--r--lang/sv.yml1
-rw-r--r--lang/zh.yml1
-rw-r--r--public/stylesheets/application.css4
25 files changed, 51 insertions, 16 deletions
diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb
index b448affcc..58d6115ee 100644
--- a/app/controllers/admin_controller.rb
+++ b/app/controllers/admin_controller.rb
@@ -48,8 +48,9 @@ class AdminController < ApplicationController
def mail_options
@notifiables = %w(issue_added issue_updated news_added document_added file_added message_posted)
if request.post?
- Setting.notified_events = (params[:notified_events] || [])
- Setting.emails_footer = params[:emails_footer] if params[:emails_footer]
+ settings = (params[:settings] || {}).dup
+ settings[:notified_events] ||= []
+ settings.each { |name, value| Setting[name] = value }
flash[:notice] = l(:notice_successful_update)
redirect_to :controller => 'admin', :action => 'mail_options'
end
diff --git a/app/models/mailer.rb b/app/models/mailer.rb
index fe432e9a6..9639e1a9c 100644
--- a/app/models/mailer.rb
+++ b/app/models/mailer.rb
@@ -129,11 +129,20 @@ 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
+ # Overrides the create_mail method
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]
+ # Removes the current user from the recipients and cc
+ # if he doesn't want to receive notifications about what he does
+ if User.current.pref[:no_self_notified]
+ recipients.delete(User.current.mail) if recipients
+ cc.delete(User.current.mail) if cc
+ end
+ # Blind carbon copy recipients
+ if Setting.bcc_recipients?
+ bcc([recipients, cc].flatten.compact.uniq)
+ recipients []
+ cc []
+ end
super
end
diff --git a/app/views/admin/mail_options.rhtml b/app/views/admin/mail_options.rhtml
index 3c95ebd71..997cc3b22 100644
--- a/app/views/admin/mail_options.rhtml
+++ b/app/views/admin/mail_options.rhtml
@@ -6,16 +6,25 @@
<% form_tag({:action => 'mail_options'}, :id => 'mail-options-form') do %>
+<fieldset class="box tabular settings"><legend><%=l(:label_settings)%></legend>
+<p><label><%= l(:setting_mail_from) %></label>
+<%= text_field_tag 'settings[mail_from]', Setting.mail_from, :size => 60 %></p>
+
+<p><label><%= l(:setting_bcc_recipients) %></label>
+<%= check_box_tag 'settings[bcc_recipients]', 1, Setting.bcc_recipients? %>
+<%= hidden_field_tag 'settings[bcc_recipients]', 0 %></p>
+</fieldset>
+
<fieldset class="box"><legend><%=l(:text_select_mail_notifications)%></legend>
<% @notifiables.each do |notifiable| %>
- <label><%= check_box_tag "notified_events[]", notifiable, Setting.notified_events.include?(notifiable) %>
+ <label><%= check_box_tag 'settings[notified_events][]', notifiable, Setting.notified_events.include?(notifiable) %>
<%= notifiable.humanize %></label><br />
<% end %>
<p><%= check_all_links('mail-options-form') %></p>
</fieldset>
<fieldset class="box"><legend><%= l(:setting_emails_footer) %></legend>
-<%= text_area_tag 'emails_footer', Setting.emails_footer, :class => 'wiki-edit', :rows => 5 %>
+<%= text_area_tag 'settings[emails_footer]', Setting.emails_footer, :class => 'wiki-edit', :rows => 5 %>
</fieldset>
<%= submit_tag l(:button_save) %>
diff --git a/app/views/settings/edit.rhtml b/app/views/settings/edit.rhtml
index 9b4cc2d57..4a0a400a3 100644
--- a/app/views/settings/edit.rhtml
+++ b/app/views/settings/edit.rhtml
@@ -1,8 +1,7 @@
<h2><%= l(:label_settings) %></h2>
-<div id="settings">
<% form_tag({:action => 'edit'}) do %>
-<div class="box tabular">
+<div class="box tabular settings">
<p><label><%= l(:setting_app_title) %></label>
<%= text_field_tag 'settings[app_title]', Setting.app_title, :size => 30 %></p>
@@ -34,9 +33,6 @@
<p><label><%= l(:setting_cross_project_issue_relations) %></label>
<%= check_box_tag 'settings[cross_project_issue_relations]', 1, Setting.cross_project_issue_relations? %><%= hidden_field_tag 'settings[cross_project_issue_relations]', 0 %></p>
-<p><label><%= l(:setting_mail_from) %></label>
-<%= text_field_tag 'settings[mail_from]', Setting.mail_from, :size => 60 %></p>
-
<p><label><%= l(:setting_host_name) %></label>
<%= text_field_tag 'settings[host_name]', Setting.host_name, :size => 60 %></p>
@@ -101,5 +97,4 @@
</fieldset>
<%= submit_tag l(:button_save) %>
-</div>
<% end %>
diff --git a/config/settings.yml b/config/settings.yml
index e9b9eebfd..9f6671f0d 100644
--- a/config/settings.yml
+++ b/config/settings.yml
@@ -39,6 +39,8 @@ issues_export_limit:
default: 500
mail_from:
default: redmine@somenet.foo
+bcc_recipients:
+ default: 1
text_formatting:
default: textile
wiki_compression:
diff --git a/lang/bg.yml b/lang/bg.yml
index 5ec4577d8..6f5f527c7 100644
--- a/lang/bg.yml
+++ b/lang/bg.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/cs.yml b/lang/cs.yml
index 09394ef71..1bc80c9dc 100644
--- a/lang/cs.yml
+++ b/lang/cs.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/de.yml b/lang/de.yml
index 1fc6f6b69..b26129263 100644
--- a/lang/de.yml
+++ b/lang/de.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: Manuelle Kontoaktivierung
notice_account_pending: "Ihr Konto wurde erstellt und wartet jetzt auf die Genehmigung des Administrators."
field_time_zone: Zeitzone
text_caracters_minimum: Muss mindestens %d Zeichen lang sein.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/en.yml b/lang/en.yml
index 201ba1601..fb99bbb82 100644
--- a/lang/en.yml
+++ b/lang/en.yml
@@ -180,6 +180,7 @@ setting_self_registration: Self-registration
setting_attachment_max_size: Attachment max. size
setting_issues_export_limit: Issues export limit
setting_mail_from: Emission email address
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
setting_host_name: Host name
setting_text_formatting: Text formatting
setting_wiki_compression: Wiki history compression
diff --git a/lang/es.yml b/lang/es.yml
index b10bbd929..1b5638eb5 100644
--- a/lang/es.yml
+++ b/lang/es.yml
@@ -549,3 +549,4 @@ label_registration_automatic_activation: activación automática de cuenta
label_registration_manual_activation: activación manual de cuenta
notice_account_pending: "Su cuenta ha sido creada y está pendiende de la aprobación por parte de administrador"
setting_time_format: Formato de hora
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/fr.yml b/lang/fr.yml
index e319db81c..b2466f1e1 100644
--- a/lang/fr.yml
+++ b/lang/fr.yml
@@ -180,6 +180,7 @@ setting_self_registration: Inscription des nouveaux utilisateurs
setting_attachment_max_size: Taille max des fichiers
setting_issues_export_limit: Limite export demandes
setting_mail_from: Adresse d'émission
+setting_bcc_recipients: Destinataires en copie cachée (cci)
setting_host_name: Nom d'hôte
setting_text_formatting: Formatage du texte
setting_wiki_compression: Compression historique wiki
diff --git a/lang/he.yml b/lang/he.yml
index 7b20240ab..0f75a6ec1 100644
--- a/lang/he.yml
+++ b/lang/he.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/it.yml b/lang/it.yml
index ceb3102aa..a3a858cef 100644
--- a/lang/it.yml
+++ b/lang/it.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/ja.yml b/lang/ja.yml
index a1a0d968e..2233c2a38 100644
--- a/lang/ja.yml
+++ b/lang/ja.yml
@@ -547,3 +547,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/ko.yml b/lang/ko.yml
index 9dd8951fe..8962d8cd5 100644
--- a/lang/ko.yml
+++ b/lang/ko.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/nl.yml b/lang/nl.yml
index 16686d756..ca6ad66f3 100644
--- a/lang/nl.yml
+++ b/lang/nl.yml
@@ -547,3 +547,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/pl.yml b/lang/pl.yml
index cf5494895..f478df8fb 100644
--- a/lang/pl.yml
+++ b/lang/pl.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manualna aktywacja kont
notice_account_pending: "Twoje konto zostało utworzone i oczekuje na zatwierdzenie administratora."
field_time_zone: Strefa czasowa
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/pt-br.yml b/lang/pt-br.yml
index 9e7bd9b4c..df893ff6d 100644
--- a/lang/pt-br.yml
+++ b/lang/pt-br.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/pt.yml b/lang/pt.yml
index 78d739b87..1a499a2c5 100644
--- a/lang/pt.yml
+++ b/lang/pt.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/ro.yml b/lang/ro.yml
index a81f61aec..a57330cc0 100644
--- a/lang/ro.yml
+++ b/lang/ro.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/ru.yml b/lang/ru.yml
index 30ab5dddc..2f73a43b9 100644
--- a/lang/ru.yml
+++ b/lang/ru.yml
@@ -546,3 +546,4 @@ label_registration_manual_activation: активировать аккаунты
notice_account_pending: "Ваш аккаунт уже создан и ожидает подтверждения администратора."
field_time_zone: Часовой пояс
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/sr.yml b/lang/sr.yml
index d08d0172a..49e2d5f3a 100644
--- a/lang/sr.yml
+++ b/lang/sr.yml
@@ -547,3 +547,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/sv.yml b/lang/sv.yml
index 1b00eee1f..11a8ce059 100644
--- a/lang/sv.yml
+++ b/lang/sv.yml
@@ -547,3 +547,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/lang/zh.yml b/lang/zh.yml
index b20dd1b75..48176ceba 100644
--- a/lang/zh.yml
+++ b/lang/zh.yml
@@ -549,3 +549,4 @@ label_registration_manual_activation: manual account activation
notice_account_pending: "Your account was created and is now pending administrator approval."
field_time_zone: Time zone
text_caracters_minimum: Must be at least %d characters long.
+setting_bcc_recipients: Blind carbon copy recipients (bcc)
diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css
index acdb40cd0..1059d960b 100644
--- a/public/stylesheets/application.css
+++ b/public/stylesheets/application.css
@@ -153,8 +153,8 @@ width: 200px;
#preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
-#settings .tabular p{ padding-left: 300px; }
-#settings .tabular label{ margin-left: -300px; width: 295px; }
+.tabular.settings p{ padding-left: 300px; }
+.tabular.settings label{ margin-left: -300px; width: 295px; }
.required {color: #bb0000;}
.summary {font-style: italic;}