summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;}