##// END OF EJS Templates
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
Remove hardcoded "Redmine" strings in account related emails. And use application title instead. git-svn-id: http://redmine.rubyforge.org/svn/trunk@1254 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r1239:a59e6bfb020f
r1239:a59e6bfb020f
Show More
mailer.rb
172 lines | 6.3 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # redMine - project management software
# Copyright (C) 2006-2007 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class Mailer < ActionMailer::Base
Jean-Philippe Lang
Fixed: "undefined method 'textilizable'" error on email notification when running Repository#fetch_changesets from the console....
r1153 helper :application
helper :issues
helper :custom_fields
Jean-Philippe Lang
Account information can now be sent to the user when creating an account....
r543
Jean-Philippe Lang
Mailer:...
r864 include ActionController::UrlWriter
def issue_add(issue)
recipients issue.recipients
Jean-Philippe Lang
Display the issue status in the email subject only if the status was actually changed....
r1065 subject "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] (#{issue.status.name}) #{issue.subject}"
Jean-Philippe Lang
Mailer:...
r864 body :issue => issue,
:issue_url => url_for(:controller => 'issues', :action => 'show', :id => issue)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
def issue_edit(journal)
issue = journal.journalized
Jean-Philippe Lang
Mailer:...
r864 recipients issue.recipients
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 # Watchers in cc
Jean-Philippe Lang
Mailer:...
r864 cc(issue.watcher_recipients - @recipients)
Jean-Philippe Lang
Display the issue status in the email subject only if the status was actually changed....
r1065 s = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] "
s << "(#{issue.status.name}) " if journal.new_value_for('status_id')
s << issue.subject
subject s
Jean-Philippe Lang
Mailer:...
r864 body :issue => issue,
:journal => journal,
:issue_url => url_for(:controller => 'issues', :action => 'show', :id => issue)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Removed translated email templates attachments_added and document_added (no longer usefull)....
r823 def document_added(document)
Jean-Philippe Lang
Mailer:...
r864 recipients document.project.recipients
subject "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
body :document => document,
:document_url => url_for(:controller => 'documents', :action => 'show', :id => document)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Removed translated email templates attachments_added and document_added (no longer usefull)....
r823 def attachments_added(attachments)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 container = attachments.first.container
Jean-Philippe Lang
Replaced hard-coded urls in Mailer#attachments_add...
r658 added_to = ''
Jean-Philippe Lang
Mailer:...
r864 added_to_url = ''
Jean-Philippe Lang
Replaced hard-coded urls in Mailer#attachments_add...
r658 case container.class.name
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 when 'Version'
Jean-Philippe Lang
Mailer:...
r864 added_to_url = url_for(:controller => 'projects', :action => 'list_files', :id => container.project_id)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 added_to = "#{l(:label_version)}: #{container.name}"
when 'Document'
Jean-Philippe Lang
Mailer:...
r864 added_to_url = url_for(:controller => 'documents', :action => 'show', :id => container.id)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 added_to = "#{l(:label_document)}: #{container.title}"
end
Jean-Philippe Lang
Mailer:...
r864 recipients container.project.recipients
subject "[#{container.project.name}] #{l(:label_attachment_new)}"
body :attachments => attachments,
:added_to => added_to,
:added_to_url => added_to_url
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Mail notification options restored (default is: issue_added and issue_updated)....
r717
def news_added(news)
Jean-Philippe Lang
Mailer:...
r864 recipients news.project.recipients
subject "[#{news.project.name}] #{l(:label_news)}: #{news.title}"
body :news => news,
:news_url => url_for(:controller => 'news', :action => 'show', :id => news)
Jean-Philippe Lang
Mail notification options restored (default is: issue_added and issue_updated)....
r717 end
Jean-Philippe Lang
Mailer:...
r864
def message_posted(message, recipients)
recipients(recipients)
subject "[#{message.board.project.name} - #{message.board.name}] #{message.subject}"
body :message => message,
:message_url => url_for(:controller => 'messages', :action => 'show', :board_id => message.board_id, :id => message.root)
end
def account_information(user, password)
set_language_if_valid user.language
recipients user.mail
Jean-Philippe Lang
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
r1239 subject l(:mail_subject_register, Setting.app_title)
Jean-Philippe Lang
Mailer:...
r864 body :user => user,
:password => password,
:login_url => url_for(:controller => 'account', :action => 'login')
end
Jean-Philippe Lang
There's now 3 account activation strategies (available in application settings):...
r902
def account_activation_request(user)
# Send the email to all active administrators
recipients User.find_active(:all, :conditions => {:admin => true}).collect { |u| u.mail }.compact
Jean-Philippe Lang
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
r1239 subject l(:mail_subject_account_activation_request, Setting.app_title)
Jean-Philippe Lang
There's now 3 account activation strategies (available in application settings):...
r902 body :user => user,
:url => url_for(:controller => 'users', :action => 'index', :status => User::STATUS_REGISTERED, :sort_key => 'created_on', :sort_order => 'desc')
end
Jean-Philippe Lang
Mailer:...
r864
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def lost_password(token)
set_language_if_valid(token.user.language)
Jean-Philippe Lang
Mailer:...
r864 recipients token.user.mail
Jean-Philippe Lang
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
r1239 subject l(:mail_subject_lost_password, Setting.app_title)
Jean-Philippe Lang
Mailer:...
r864 body :token => token,
:url => url_for(:controller => 'account', :action => 'lost_password', :token => token.value)
Jean-Philippe Lang
0.3 unstable...
r10 end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330
def register(token)
set_language_if_valid(token.user.language)
Jean-Philippe Lang
Mailer:...
r864 recipients token.user.mail
Jean-Philippe Lang
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
r1239 subject l(:mail_subject_register, Setting.app_title)
Jean-Philippe Lang
Mailer:...
r864 body :token => token,
Jean-Philippe Lang
There's now 3 account activation strategies (available in application settings):...
r902 :url => url_for(:controller => 'account', :action => 'activate', :token => token.value)
Jean-Philippe Lang
Added mail notification when a new message is posted in the forums....
r528 end
Jean-Philippe Lang
Added 'email sending test' functionality....
r629
def test(user)
set_language_if_valid(user.language)
Jean-Philippe Lang
Mailer:...
r864 recipients user.mail
subject 'Redmine test'
body :url => url_for(:controller => 'welcome')
end
Jean-Philippe Lang
Do not send an email with no recipient, cc or bcc (closes #743)....
r1160
# Overrides default deliver! method to prevent from sending an email
# with no recipient, cc or bcc
def deliver!(mail = @mail)
return false if (recipients.nil? || recipients.empty?) &&
(cc.nil? || cc.empty?) &&
(bcc.nil? || bcc.empty?)
super
end
Jean-Philippe Lang
Mailer:...
r864 private
def initialize_defaults(method_name)
super
set_language_if_valid Setting.default_language
from Setting.mail_from
default_url_options[:host] = Setting.host_name
default_url_options[:protocol] = Setting.protocol
end
Jean-Philippe Lang
Email notifications are now sent as Blind carbon copy by default. This can be changed in email notifications settings (new setting added)....
r931 # Overrides the create_mail method
Jean-Philippe Lang
Added an option on 'My account' for users who don't want to be notified of changes that they make....
r886 def create_mail
Jean-Philippe Lang
Email notifications are now sent as Blind carbon copy by default. This can be changed in email notifications settings (new setting added)....
r931 # 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
Jean-Philippe Lang
Added an option on 'My account' for users who don't want to be notified of changes that they make....
r886 super
end
Jean-Philippe Lang
Mailer:...
r864 # Renders a message with the corresponding layout
def render_message(method_name, body)
layout = method_name.match(%r{text\.html\.(rhtml|rxml)}) ? 'layout.text.html.rhtml' : 'layout.text.plain.rhtml'
body[:content_for_layout] = render(:file => method_name, :body => body)
Jean-Philippe Lang
Merged Rails 2.0 compatibility changes....
r962 ActionView::Base.new(template_root, body, self).render(:file => "mailer/#{layout}")
Jean-Philippe Lang
Added 'email sending test' functionality....
r629 end
Jean-Philippe Lang
Merged Rails 2.0 compatibility changes....
r962
# Makes partial rendering work with Rails 1.2 (retro-compatibility)
def self.controller_path
''
end unless respond_to?('controller_path')
Jean-Philippe Lang
Initial commit...
r2 end