]> source.dussan.org Git - redmine.git/commitdiff
Email notifications are now sent as Blind carbon copy by default. This can be changed...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 2 Dec 2007 13:52:16 +0000 (13:52 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 2 Dec 2007 13:52:16 +0000 (13:52 +0000)
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

25 files changed:
app/controllers/admin_controller.rb
app/models/mailer.rb
app/views/admin/mail_options.rhtml
app/views/settings/edit.rhtml
config/settings.yml
lang/bg.yml
lang/cs.yml
lang/de.yml
lang/en.yml
lang/es.yml
lang/fr.yml
lang/he.yml
lang/it.yml
lang/ja.yml
lang/ko.yml
lang/nl.yml
lang/pl.yml
lang/pt-br.yml
lang/pt.yml
lang/ro.yml
lang/ru.yml
lang/sr.yml
lang/sv.yml
lang/zh.yml
public/stylesheets/application.css

index b448affcce132bc332fec72aed90c808cbe091c8..58d6115eea0822c4d08a419b3858f30746f1a426 100644 (file)
@@ -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
index fe432e9a6ec80ed38077aadc074020ffa79f8023..9639e1a9cd742393fd1cbd77d47ed5a269c4fec8 100644 (file)
@@ -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
   
index 3c95ebd7105248a0a3dafc4b53454493a1eebc87..997cc3b22801b071a2ed206aa9424560ed80ff13 100644 (file)
@@ -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) %>
index 9b4cc2d5787b1ecbe1582e3a242ac62efab25c5a..4a0a400a37e5a160f9a02875c477456bf893ba4e 100644 (file)
@@ -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>
 
 </fieldset>
 
 <%= submit_tag l(:button_save) %>
-</div>
 <% end %>
index e9b9eebfd0207d84c23990e5e21ccb0e00f5a858..9f6671f0d442a18f017c48ec9b9d083c385ea597 100644 (file)
@@ -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:
index 5ec4577d8958f57c13b6b2c3635237f665cdcd1f..6f5f527c77017c2645eab416353a7c90b37071af 100644 (file)
@@ -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)
index 09394ef712c2440c78ef382470c1a1f48ee3730b..1bc80c9dc40bd5394a818725679a870d5eeda1af 100644 (file)
@@ -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)
index 1fc6f6b694ae61a9469116b1de18abba069ca19c..b261292633552d9f96c089a45a14daf4957fb00c 100644 (file)
@@ -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)
index 201ba1601df25965788e270cc2419338b1c005c2..fb99bbb82c6e92e0cab6b37ecdedca82a03603dd 100644 (file)
@@ -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
index b10bbd929163defad2923c26fbc99a12dfe245d4..1b5638eb56bb165565228ef00e668b7737055dc7 100644 (file)
@@ -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)
index e319db81ca0a32621e86b6f083ce82ee0d814d3e..b2466f1e13262d66fb8cfed71401e78b69fcb848 100644 (file)
@@ -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
index 7b20240ab8bea20d4fdb4f80da90eafe97c40073..0f75a6ec10076d399671a7d2f854b92c2c5e5803 100644 (file)
@@ -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)
index ceb3102aa182f711129b660427b17ddf9c99d341..a3a858cef69c22aec5646e6caa6762a63ea7aa95 100644 (file)
@@ -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)
index a1a0d968efef89ab0b86744f9aa008f30b1d57bc..2233c2a386b685e026fc3152394dba0358f0e141 100644 (file)
@@ -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)
index 9dd8951fe898913380cc3596bcd69a7b9d72d4bc..8962d8cd544929115bd036dc9d92397c4b90006a 100644 (file)
@@ -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)
index 16686d7567f3da218655963d99c89a5b47670f4e..ca6ad66f386591254a80c703d8ee93be1379fdf5 100644 (file)
@@ -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)
index cf5494895705c5c95bf213b072e3c3e1eef754b4..f478df8fb9621fa767d62f91f9fafef1d0a3c4d9 100644 (file)
@@ -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)
index 9e7bd9b4cadc30f68893df5e4a24433c9de52b9b..df893ff6d413a6f2026e0ae89278512994da42db 100644 (file)
@@ -546,3 +546,4 @@ label_registration_manual_activation: manual account activation
 notice_account_pending: "Your account was created and is now pending administrator approval."\r
 field_time_zone: Time zone\r
 text_caracters_minimum: Must be at least %d characters long.\r
+setting_bcc_recipients: Blind carbon copy recipients (bcc)\r
index 78d739b8720578b7caa23ab2ce375ecca9f80320..1a499a2c58bc764e88fd5b0bcd494e11495839b6 100644 (file)
@@ -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)
index a81f61aec8e7a1f209e4e7e3c011a5a663974259..a57330cc0b8c3853b7a79baa4981fdf20c130c42 100644 (file)
@@ -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)
index 30ab5dddc7bfb8fb77a4da56ce16b03a3088e1a9..2f73a43b909a0320e1aefbc0e0f495f919bb7738 100644 (file)
@@ -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)
index d08d0172a7607c521e91dfa1c995d5e598dca6c9..49e2d5f3a828ff6fe1093555f2fea23accda70ee 100644 (file)
@@ -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)
index 1b00eee1fa2dc36e5ba252bec161936f980dc3b6..11a8ce059f83825dc908574e6480b514a3f9c058 100644 (file)
@@ -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)
index b20dd1b75e3294b835c466b54130c49ff77a7a7f..48176ceba156972c41f022889685dac18b5ff71d 100644 (file)
@@ -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)
index acdb40cd0962d10d4ed38e554a4d2c0459e103eb..1059d960bed3eb9fab80d495cb7db8946a11b2f1 100644 (file)
@@ -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;}