* added an application setting to specify the application protocol (http or https) used to generate urls
* added layouts for text and html emails
* no more language specific templates
* urls are now generated using UrlWriter
* the mailer now uses AdvAttrAccessor code style to set email parameters

git-svn-id: http://redmine.rubyforge.org/svn/trunk@877 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2007-11-04 10:43:39 +00:00
parent 4ded4277c5
commit bd434427e6
52 changed files with 244 additions and 168 deletions
+1 -2
View File
@@ -1,5 +1,4 @@
<%= link_to "#{issue.tracker.name} ##{issue.id}", :only_path => false, :host => Setting.host_name, :controller => 'issues', :action => 'show', :id => issue %>:
<%= issue.subject %>
<h1><%= link_to "#{issue.tracker.name} ##{issue.id}: #{issue.subject}", issue_url %></h1>
<ul>
<li><%=l(:field_author)%>: <%= issue.author %></li>
+1 -1
View File
@@ -1,5 +1,5 @@
<%= "#{issue.tracker.name} ##{issue.id}: #{issue.subject}" %>
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'issues', :action => 'show', :id => issue %>
<%= issue_url %>
<%=l(:field_author)%>: <%= issue.author %>
<%=l(:field_status)%>: <%= issue.status %>
@@ -1,12 +0,0 @@
<% if @user.auth_source %>You can use your "<%= @user.auth_source.name %>" account to log into Redmine.
<% else %>Your Redmine account information:
* Login: <%= @user.login %>
* Password: <%= @password %>
<% end %>
Log in: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'account', :action => 'login' %>
<% 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 %>
@@ -0,0 +1,11 @@
<% if @user.auth_source %>
<p><%= l(:mail_body_account_information_external, @user.auth_source.name) %></p>
<% else %>
<p><%= l(:mail_body_account_information) %>:</p>
<ul>
<li><%= l(:field_login) %>: <%= @user.login %></li>
<li><%= l(:field_password) %>: <%= @password %></li>
</ul>
<% end %>
<p><%= l(:label_login) %>: <%= auto_link(@login_url) %></p>
@@ -0,0 +1,6 @@
<% if @user.auth_source %><%= l(:mail_body_account_information_external, @user.auth_source.name) %>
<% else %><%= l(:mail_body_account_information) %>:
* <%= l(:field_login) %>: <%= @user.login %>
* <%= l(:field_password) %>: <%= @password %>
<% end %>
<%= l(:label_login) %>: <%= @login_url %>
@@ -1,12 +0,0 @@
<% if @user.auth_source %>Vous pouvez utiliser votre compte "<%= @user.auth_source.name %>" pour vous connecter à Redmine.
<% else %>Paramètres de connexion de votre compte Redmine:
* Identifiant: <%= @user.login %>
* Mot de passe: <%= @password %>
<% end %>
Pour se connecter à l'application: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'account', :action => 'login' %>
<% 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 %>
@@ -1,12 +0,0 @@
<% if @user.auth_source %>Możesz użyć twojego "<%= @user.auth_source.name %>" konta do zalogowania do Redmine.
<% else %>Twoje konto w Redmine:
* Login: <%= @user.login %>
* Hasło: <%= @password %>
<% end %>
Zaloguj: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'account', :action => 'login' %>
<% 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 %>
@@ -1,9 +0,0 @@
<% if @user.auth_source %>Mozete koristiti vas "<%= @user.auth_source.name %>" nalog da bi ste se prikljucili na Redmine.
<% else %>Informacije o vasem Redmine nalogu:
* Login: <%= @user.login %>
* Password: <%= @password %>
<% end %>
Log in: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'account', :action => 'login' %>
<% unless @user.auth_source %>
Ovde mozete izmeniti svoju lozinku: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'my', :action => 'account' %>
<% end %>
@@ -1,7 +1,5 @@
<%= link_to @added_to, @url %><br />
<%= link_to @added_to, @added_to_url %><br />
<ul><% @attachments.each do |attachment | %>
<li><%= attachment.filename %></li>
<% end %></ul>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>
@@ -1,6 +1,4 @@
<%= @added_to %><% @attachments.each do |attachment | %>
- <%= attachment.filename %><% end %>
<%= url_for @url %>
----------------------------------------
<%= Setting.emails_footer %>
<%= @added_to_url %>
@@ -1,6 +1,3 @@
<%= link_to @document.title, :only_path => false, :host => Setting.host_name, :controller => 'documents', :action => 'show', :id => @document %>
(<%= @document.category.name %>)<br />
<%= link_to @document.title, @document_url %> (<%= @document.category.name %>)<br />
<br />
<%= textilizable(@document.description) %>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>
@@ -1,6 +1,4 @@
<%= @document.title %> (<%= @document.category.name %>)
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'documents', :action => 'show', :id => @document %>
<%= @document_url %>
<%= @document.description %>
----------------------------------------
<%= Setting.emails_footer %>
+1 -3
View File
@@ -1,5 +1,3 @@
<%= 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>
<%= render :file => "_issue_text_html", :use_full_path => true, :locals => { :issue => @issue, :issue_url => @issue_url } %>
+1 -3
View File
@@ -1,5 +1,3 @@
<%= l(:text_issue_added, "##{@issue.id}") %>
----------------------------------------
<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue } %>
----------------------------------------
<%= Setting.emails_footer %>
<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue, :issue_url => @issue_url } %>
+1 -3
View File
@@ -7,6 +7,4 @@
</ul>
<%= 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>
<%= render :file => "_issue_text_html", :use_full_path => true, :locals => { :issue => @issue, :issue_url => @issue_url } %>
+1 -3
View File
@@ -5,6 +5,4 @@
<% end %>
<%= @journal.notes if @journal.notes? %>
----------------------------------------
<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue } %>
----------------------------------------
<%= Setting.emails_footer %>
<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue, :issue_url => @issue_url } %>
+17
View File
@@ -0,0 +1,17 @@
<html>
<head>
<style>
body { font-family: Verdana, sans-serif; font-size: 0.8em; color:#484848; }
body h1 { font-family: "Trebuchet MS", Verdana, sans-serif; font-size: 1.2em; margin: 0;}
a, a:link, a:visited{ color: #2A5685; }
a:hover, a:active{ color: #c61a1a; }
hr { width: 100%; height: 1px; background: #ccc; border: 0; }
.footer { font-size: 0.8em; font-style: italic; }
</style>
</head>
<body>
<%= yield %>
<hr />
<span class="footer"><%= Redmine::WikiFormatting.to_html(Setting.emails_footer) %></span>
</body>
</html>
+3
View File
@@ -0,0 +1,3 @@
<%= yield %>
----------------------------------------
<%= Setting.emails_footer %>
-5
View File
@@ -1,5 +0,0 @@
<%= 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 %>
@@ -0,0 +1,2 @@
<p><%= l(:mail_body_lost_password) %><br />
<%= auto_link(@url) %></p>
@@ -0,0 +1,2 @@
<%= l(:mail_body_lost_password) %>
<%= @url %>
@@ -1,6 +1,4 @@
<%=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 />
<h1><%=h @message.board.project.name %> - <%=h @message.board.name %>: <%= link_to @message.subject, @message_url %></h1>
<em><%= @message.author.name %></em>
<%= textilizable @message.content %>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>
@@ -1,6 +1,4 @@
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'messages', :action => 'show', :board_id => @message.board_id, :id => @message.root %>
<%= @message_url %>
<%= @message.author.name %>
<%= @message.content %>
----------------------------------------
<%= Setting.emails_footer %>
+1 -3
View File
@@ -1,6 +1,4 @@
<%= link_to @news.title, :only_path => false, :host => Setting.host_name, :controller => 'news', :action => 'show', :id => @news %><br />
<h1><%= link_to @news.title, @news_url %></h1>
<em><%= @news.author.name %></em>
<%= textilizable(@news.description) %>
<hr />
<small><em><%= textilizable Setting.emails_footer %></em></small>
+1 -3
View File
@@ -1,7 +1,5 @@
<%= @news.title %>
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'news', :action => 'show', :id => @news %>
<%= @news_url %>
<%= @news.author.name %>
<%= @news.description %>
----------------------------------------
<%= Setting.emails_footer %>
-5
View File
@@ -1,5 +0,0 @@
<%= l(:mail_body_register) %>
<%= url_for :only_path => false, :host => Setting.host_name, :controller => 'account', :action => 'register', :token => @token.value %>
----------------------------------------
<%= Setting.emails_footer %>
@@ -0,0 +1,2 @@
<p><%= l(:mail_body_register) %><br />
<%= auto_link(@url) %></p>
@@ -0,0 +1,2 @@
<%= l(:mail_body_register) %>
<%= @url %>
+1 -4
View File
@@ -1,5 +1,2 @@
<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>
Redmine URL: <%= auto_link(@url) %></p>
+1 -4
View File
@@ -1,5 +1,2 @@
This is a test email sent by Redmine.
Redmine URL: <%= url_for :only_path => false, :host => Setting.host_name, :controller => 'welcome' %>
----------------------------------------
<%= Setting.emails_footer %>
Redmine URL: <%= @url %>
+4 -1
View File
@@ -37,6 +37,9 @@
<p><label><%= l(:setting_host_name) %></label>
<%= text_field_tag 'settings[host_name]', Setting.host_name, :size => 60 %></p>
<p><label><%= l(:setting_protocol) %></label>
<%= select_tag 'settings[protocol]', options_for_select(['http', 'https'], Setting.protocol) %></p>
<p><label><%= l(:setting_text_formatting) %></label>
<%= select_tag 'settings[text_formatting]', options_for_select([[l(:label_none), "0"], ["textile", "textile"]], Setting.text_formatting) %></p>
@@ -91,4 +94,4 @@
<%= submit_tag l(:button_save) %>
</div>
<% end %>
<% end %>