Browse Source

* Emails footer can now be customized from the admin interface (Admin -> Email notifications).

* Added html part to all email templates.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@858 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/0.6.0
Jean-Philippe Lang 16 years ago
parent
commit
a200e97667

+ 1
- 0
app/controllers/admin_controller.rb View File

@@ -49,6 +49,7 @@ class AdminController < ApplicationController
@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]
flash[:notice] = l(:notice_successful_update)
redirect_to :controller => 'admin', :action => 'mail_options'
end

+ 7
- 4
app/views/admin/mail_options.rhtml View File

@@ -8,12 +8,15 @@

<fieldset class="box"><legend><%=l(:text_select_mail_notifications)%></legend>
<% @notifiables.each do |notifiable| %>
<p><label><%= check_box_tag "notified_events[]", notifiable, Setting.notified_events.include?(notifiable) %>
<%= notifiable.humanize %></label></p>
<label><%= check_box_tag "notified_events[]", notifiable, Setting.notified_events.include?(notifiable) %>
<%= notifiable.humanize %></label><br />
<% end %>
<div class="clear"></div>
<p><%= check_all_links('mail-options-form') %></p>
</fieldset>

<fieldset class="box"><legend>Emails footer</legend>
<%= text_area_tag 'emails_footer', Setting.emails_footer, :class => 'wiki-edit', :rows => 5 %>
</fieldset>

<p><%= check_all_links('mail-options-form') %></p>
<%= submit_tag l(:button_save) %>
<% end %>

+ 3
- 0
app/views/mailer/account_information.rhtml View File

@@ -7,3 +7,6 @@ Log in: <%= url_for :only_path => false, :host => Setting.host_name, :controller
<% unless @user.auth_source %>
You can change your password here: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'my', :action => 'account' %>
<% end %>

----------------------------------------
<%= Setting.emails_footer %>

+ 3
- 0
app/views/mailer/account_information_fr.rhtml View File

@@ -7,3 +7,6 @@ Pour se connecter à l'application: <%= url_for :only_path => false, :host => Se
<% unless @user.auth_source %>
Vous pouvez changer votre mot de passe à l'adresse: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'my', :action => 'account' %>
<% end %>

----------------------------------------
<%= Setting.emails_footer %>

+ 3
- 0
app/views/mailer/account_information_pl.rhtml View File

@@ -7,3 +7,6 @@ Zaloguj: <%= url_for :only_path => false, :host => Setting.host_name, :controlle
<% unless @user.auth_source %>
Możesz zmienić swoje hasło tutaj: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'my', :action => 'account' %>
<% end %>

----------------------------------------
<%= Setting.emails_footer %>

+ 2
- 0
app/views/mailer/attachments_added.text.html.rhtml View File

@@ -3,3 +3,5 @@
<ul><% @attachments.each do |attachment | %>
<li><%= attachment.filename %></li>
<% end %></ul>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>

+ 2
- 0
app/views/mailer/attachments_added.text.plain.rhtml View File

@@ -2,3 +2,5 @@
- <%= attachment.filename %><% end %>

<%= url_for @url %>
----------------------------------------
<%= Setting.emails_footer %>

+ 2
- 0
app/views/mailer/document_added.text.html.rhtml View File

@@ -2,3 +2,5 @@
(<%= @document.category.name %>)<br />
<br />
<%= textilizable(@document.description) %>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>

+ 2
- 0
app/views/mailer/document_added.text.plain.rhtml View File

@@ -2,3 +2,5 @@
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'documents', :action => 'show', :id => @document %>

<%= @document.description %>
----------------------------------------
<%= Setting.emails_footer %>

+ 2
- 0
app/views/mailer/issue_add.text.html.rhtml View File

@@ -1,3 +1,5 @@
<%= l(:text_issue_added, "##{@issue.id}") %>
<hr />
<%= render :file => "_issue_text_html", :use_full_path => true, :locals => { :issue => @issue } %>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>

+ 2
- 0
app/views/mailer/issue_add.text.plain.rhtml View File

@@ -1,3 +1,5 @@
<%= l(:text_issue_added, "##{@issue.id}") %>
----------------------------------------
<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue } %>
----------------------------------------
<%= Setting.emails_footer %>

+ 2
- 0
app/views/mailer/issue_edit.text.html.rhtml View File

@@ -8,3 +8,5 @@
<%= textilizable(@journal.notes) %>
<hr />
<%= render :file => "_issue_text_html", :use_full_path => true, :locals => { :issue => @issue } %>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>

+ 2
- 0
app/views/mailer/issue_edit.text.plain.rhtml View File

@@ -6,3 +6,5 @@
<%= @journal.notes if @journal.notes? %>
----------------------------------------
<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue } %>
----------------------------------------
<%= Setting.emails_footer %>

+ 3
- 0
app/views/mailer/lost_password.rhtml View File

@@ -1,2 +1,5 @@
<%= l(:mail_body_lost_password) %>
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'account', :action => 'lost_password', :token => @token.value %>

----------------------------------------
<%= Setting.emails_footer %>

+ 6
- 0
app/views/mailer/message_posted.text.html.rhtml View File

@@ -0,0 +1,6 @@
<%=h @message.board.project.name %> - <%=h @message.board.name %>: <%= link_to @message.subject, :only_path => false, :host => Setting.host_name, :controller => 'messages', :action => 'show', :board_id => @message.board_id, :id => @message.root %><br />
<em><%= @message.author.name %></em>

<%= textilizable @message.content %>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>

app/views/mailer/message_posted.rhtml → app/views/mailer/message_posted.text.plain.rhtml View File

@@ -1,4 +1,6 @@
<%= l(:field_author) %>: <%= @message.author.name %>
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'messages', :action => 'show', :board_id => @message.board_id, :id => @message.root %>
<%= @message.author.name %>

<%= @message.content %>
----------------------------------------
<%= Setting.emails_footer %>

+ 2
- 0
app/views/mailer/news_added.text.html.rhtml View File

@@ -2,3 +2,5 @@
<em><%= @news.author.name %></em>

<%= textilizable(@news.description) %>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>

+ 2
- 0
app/views/mailer/news_added.text.plain.rhtml View File

@@ -3,3 +3,5 @@
<%= @news.author.name %>

<%= @news.description %>
----------------------------------------
<%= Setting.emails_footer %>

+ 3
- 0
app/views/mailer/register.rhtml View File

@@ -1,2 +1,5 @@
<%= l(:mail_body_register) %>
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'account', :action => 'register', :token => @token.value %>

----------------------------------------
<%= Setting.emails_footer %>

+ 5
- 0
app/views/mailer/test.text.html.rhtml View File

@@ -0,0 +1,5 @@
<p>This is a test email sent by Redmine.<br />
Redmine URL: <%= link_to url_for(:only_path => false, :host => Setting.host_name, :controller => 'welcome'),
url_for(:only_path => false, :host => Setting.host_name, :controller => 'welcome') %></p>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>

app/views/mailer/test.rhtml → app/views/mailer/test.text.plain.rhtml View File

@@ -1,3 +1,5 @@
This is a test email sent by Redmine.

Redmine URL: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'welcome' %>

----------------------------------------
<%= Setting.emails_footer %>

+ 4
- 0
config/settings.yml View File

@@ -96,4 +96,8 @@ repositories_encodings:
default: ''
ui_theme:
default: ''
emails_footer:
default: |-
You have received this notification because you have either subscribed to it, or are involved in.
To change your notification preferences, please click here: http://hostname/my/account

+ 1
- 0
lang/bg.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/cs.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/de.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/en.yml View File

@@ -188,6 +188,7 @@ setting_date_format: Date format
setting_cross_project_issue_relations: Allow cross-project issue relations
setting_issue_list_default_columns: Default columns displayed on the issue list
setting_repositories_encodings: Repositories encodings
setting_emails_footer: Emails footer

label_user: User
label_user_plural: Users

+ 1
- 0
lang/es.yml View File

@@ -534,3 +534,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/fr.yml View File

@@ -188,6 +188,7 @@ setting_date_format: Format de date
setting_cross_project_issue_relations: Autoriser les relations entre demandes de différents projets
setting_issue_list_default_columns: Colonnes affichées par défaut sur la liste des demandes
setting_repositories_encodings: Encodages des dépôts
setting_emails_footer: Pied-de-page des emails

label_user: Utilisateur
label_user_plural: Utilisateurs

+ 1
- 0
lang/he.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/it.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/ja.yml View File

@@ -532,3 +532,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/nl.yml View File

@@ -532,3 +532,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/pl.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/pt-br.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/pt.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/ro.yml View File

@@ -531,3 +531,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/sv.yml View File

@@ -532,3 +532,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

+ 1
- 0
lang/zh.yml View File

@@ -534,3 +534,4 @@ text_user_mail_option: "For unselected projects, you will only receive notificat
label_user_mail_option_selected: "For any event on the selected projects only..."
label_user_mail_option_all: "For any event on all my projects"
label_user_mail_option_none: "Only for things I watch or I'm involved in"
setting_emails_footer: Emails footer

Loading…
Cancel
Save