##// END OF EJS Templates
By default, only show statuses that are used by the tracker on the workflow edit view....
By default, only show statuses that are used by the tracker on the workflow edit view. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3188 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r3055:bb477a3a0fe7
r3074:6bf0723d0654
Show More
mailer.rb
403 lines | 16.7 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.
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # 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.
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # 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
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 layout 'mailer'
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
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Mailer:...
r864 include ActionController::UrlWriter
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 include Redmine::I18n
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Eric Davis
Fixing Plugin and Mailer default_url_options....
r2458 def self.default_url_options
h = Setting.host_name
h = h.to_s.gsub(%r{\/.*$}, '') unless Redmine::Utils.relative_url_root.blank?
{ :host => h, :protocol => Setting.protocol }
end
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email recipients of the added issue.
#
# Example:
# issue_add(issue) => tmail object
# Mailer.deliver_issue_add(issue) => sends an email to issue recipients
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 def issue_add(issue)
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => issue.project.identifier,
'Issue-Id' => issue.id,
'Issue-Author' => issue.author.login
redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 message_id issue
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 recipients issue.recipients
Jean-Philippe Lang
Adds watchers selection on new issue form (#398). Permission 'add issue watchers' required....
r2162 cc(issue.watcher_recipients - @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)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('issue_add', body)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email recipients of the edited issue.
#
# Example:
# issue_edit(journal) => tmail object
# Mailer.deliver_issue_edit(journal) => sends an email to issue recipients
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def issue_edit(journal)
Jean-Philippe Lang
Fixed: Issue status in the notify email's subject is the issue's old status, should be its new status (#3194)....
r2581 issue = journal.journalized.reload
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => issue.project.identifier,
'Issue-Id' => issue.id,
'Issue-Author' => issue.author.login
redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 message_id journal
references issue
Jean-Philippe Lang
Fixed: email notification for changes I make still occurs when running Repository.fetch_changesets (#1957)....
r2223 @author = journal.user
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)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773
render_multipart('issue_edit', body)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 def reminder(user, issues, days)
set_language_if_valid user.language
recipients user.mail
subject l(:mail_subject_reminder, issues.size)
body :issues => issues,
:days => days,
Jean-Philippe Lang
Validates sort_key and sort_order params (#2378)....
r2169 :issues_url => url_for(:controller => 'issues', :action => 'index', :set_filter => 1, :assigned_to_id => user.id, :sort_key => 'due_date', :sort_order => 'asc')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('reminder', body)
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email users belonging to the added document's project.
#
# Example:
# document_added(document) => tmail object
# Mailer.deliver_document_added(document) => sends an email to the document's project recipients
Jean-Philippe Lang
Removed translated email templates attachments_added and document_added (no longer usefull)....
r823 def document_added(document)
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => document.project.identifier
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients document.recipients
Jean-Philippe Lang
Mailer:...
r864 subject "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
body :document => document,
:document_url => url_for(:controller => 'documents', :action => 'show', :id => document)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('document_added', body)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email recipients of a project when an attachements are added.
#
# Example:
# attachments_added(attachments) => tmail object
# Mailer.deliver_attachments_added(attachments) => sends an email to the project's recipients
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
Files module: makes version field non required (#1053)....
r2115 when 'Project'
added_to_url = url_for(:controller => 'projects', :action => 'list_files', :id => container)
added_to = "#{l(:label_project)}: #{container}"
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}
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}"
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 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}"
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients container.recipients
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => container.project.identifier
Jean-Philippe Lang
Mailer:...
r864 subject "[#{container.project.name}] #{l(:label_attachment_new)}"
body :attachments => attachments,
:added_to => added_to,
:added_to_url => added_to_url
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('attachments_added', body)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Eric Davis
Added some RDoc documentation for some models....
r2536
# Builds a tmail object used to email recipients of a news' project when a news item is added.
#
# Example:
# news_added(news) => tmail object
# Mailer.deliver_news_added(news) => sends an email to the news' project recipients
Jean-Philippe Lang
Mail notification options restored (default is: issue_added and issue_updated)....
r717 def news_added(news)
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => news.project.identifier
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 message_id news
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients news.recipients
Jean-Philippe Lang
Mailer:...
r864 subject "[#{news.project.name}] #{l(:label_news)}: #{news.title}"
body :news => news,
:news_url => url_for(:controller => 'news', :action => 'show', :id => news)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('news_added', body)
Jean-Philippe Lang
Mail notification options restored (default is: issue_added and issue_updated)....
r717 end
Jean-Philippe Lang
Mailer:...
r864
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 # Builds a tmail object used to email the recipients of the specified message that was posted.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 # message_posted(message) => tmail object
# Mailer.deliver_message_posted(message) => sends an email to the recipients
def message_posted(message)
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => message.project.identifier,
'Topic-Id' => (message.parent_id || message.id)
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 message_id message
references message.parent unless message.parent.nil?
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients(message.recipients)
cc((message.root.watcher_recipients + message.board.watcher_recipients).uniq - @recipients)
Jean-Philippe Lang
Accept replies to forum messages by subject recognition (#1616)....
r2292 subject "[#{message.board.project.name} - #{message.board.name} - msg#{message.root.id}] #{message.subject}"
Jean-Philippe Lang
Mailer:...
r864 body :message => message,
:message_url => url_for(:controller => 'messages', :action => 'show', :board_id => message.board_id, :id => message.root)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('message_posted', body)
Jean-Philippe Lang
Mailer:...
r864 end
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650
Jean-Philippe Lang
Fixes code comments....
r2657 # Builds a tmail object used to email the recipients of a project of the specified wiki content was added.
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 #
# Example:
Jean-Philippe Lang
Fixes code comments....
r2657 # wiki_content_added(wiki_content) => tmail object
# Mailer.deliver_wiki_content_added(wiki_content) => sends an email to the project's recipients
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 def wiki_content_added(wiki_content)
redmine_headers 'Project' => wiki_content.project.identifier,
'Wiki-Page-Id' => wiki_content.page.id
message_id wiki_content
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients wiki_content.recipients
Jean-Philippe Lang
Ability to watch a wiki or a single wiki page (#413)....
r2666 cc(wiki_content.page.wiki.watcher_recipients - recipients)
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 subject "[#{wiki_content.project.name}] #{l(:mail_subject_wiki_content_added, :page => wiki_content.page.pretty_title)}"
body :wiki_content => wiki_content,
:wiki_content_url => url_for(:controller => 'wiki', :action => 'index', :id => wiki_content.project, :page => wiki_content.page.title)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('wiki_content_added', body)
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 end
# Builds a tmail object used to email the recipients of a project of the specified wiki content was updated.
#
# Example:
# wiki_content_updated(wiki_content) => tmail object
# Mailer.deliver_wiki_content_updated(wiki_content) => sends an email to the project's recipients
def wiki_content_updated(wiki_content)
redmine_headers 'Project' => wiki_content.project.identifier,
'Wiki-Page-Id' => wiki_content.page.id
message_id wiki_content
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients wiki_content.recipients
Jean-Philippe Lang
Ability to watch a wiki or a single wiki page (#413)....
r2666 cc(wiki_content.page.wiki.watcher_recipients + wiki_content.page.watcher_recipients - recipients)
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 subject "[#{wiki_content.project.name}] #{l(:mail_subject_wiki_content_updated, :page => wiki_content.page.pretty_title)}"
body :wiki_content => wiki_content,
:wiki_content_url => url_for(:controller => 'wiki', :action => 'index', :id => wiki_content.project, :page => wiki_content.page.title),
:wiki_diff_url => url_for(:controller => 'wiki', :action => 'diff', :id => wiki_content.project, :page => wiki_content.page.title, :version => wiki_content.version)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('wiki_content_updated', body)
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email the specified user their account information.
#
# Example:
# account_information(user, password) => tmail object
# Mailer.deliver_account_information(user, password) => sends account information to the user
Jean-Philippe Lang
Mailer:...
r864 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')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('account_information', body)
Jean-Philippe Lang
Mailer:...
r864 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email all active administrators of an account activation request.
#
# Example:
# account_activation_request(user) => tmail object
# Mailer.deliver_account_activation_request(user)=> sends an email to all active administrators
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
Jean-Philippe Lang
Replaces User.find_active with a named scope....
r2077 recipients User.active.find(: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')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('account_activation_request', body)
Jean-Philippe Lang
There's now 3 account activation strategies (available in application settings):...
r902 end
Jean-Philippe Lang
Mailer:...
r864
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email the specified user that their account was activated by an administrator.
#
# Example:
# account_activated(user) => tmail object
# Mailer.deliver_account_activated(user) => sends an email to the registered user
Jean-Philippe Lang
Send an email to the user when an administrator activates a registered user (#2656)....
r2422 def account_activated(user)
set_language_if_valid user.language
recipients user.mail
subject l(:mail_subject_register, Setting.app_title)
body :user => user,
:login_url => url_for(:controller => 'account', :action => 'login')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('account_activated', body)
Jean-Philippe Lang
Send an email to the user when an administrator activates a registered user (#2656)....
r2422 end
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)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('lost_password', body)
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 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)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('register', body)
Jean-Philippe Lang
Added mail notification when a new message is posted in the forums....
r528 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
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')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('test', body)
Jean-Philippe Lang
Mailer:...
r864 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)
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 return false if (recipients.nil? || recipients.empty?) &&
Jean-Philippe Lang
Do not send an email with no recipient, cc or bcc (closes #743)....
r1160 (cc.nil? || cc.empty?) &&
(bcc.nil? || bcc.empty?)
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279
# Set Message-Id and References
if @message_id_object
mail.message_id = self.class.message_id_for(@message_id_object)
end
if @references_objects
mail.references = @references_objects.collect {|o| self.class.message_id_for(o)}
end
super(mail)
Jean-Philippe Lang
Do not send an email with no recipient, cc or bcc (closes #743)....
r1160 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 # Sends reminders to issue assignees
# Available options:
# * :days => how many days in the future to remind about (defaults to 7)
# * :tracker => id of tracker for filtering issues (defaults to all trackers)
# * :project => id or identifier of project to process (defaults to all projects)
def self.reminders(options={})
days = options[:days] || 7
project = options[:project] ? Project.find(options[:project]) : nil
tracker = options[:tracker] ? Tracker.find(options[:tracker]) : nil
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Fixed: Reminder emails shouldn't include archived projects (#1351)....
r1469 s = ARCondition.new ["#{IssueStatus.table_name}.is_closed = ? AND #{Issue.table_name}.due_date <= ?", false, days.day.from_now.to_date]
s << "#{Issue.table_name}.assigned_to_id IS NOT NULL"
s << "#{Project.table_name}.status = #{Project::STATUS_ACTIVE}"
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 s << "#{Issue.table_name}.project_id = #{project.id}" if project
s << "#{Issue.table_name}.tracker_id = #{tracker.id}" if tracker
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 issues_by_assignee = Issue.find(:all, :include => [:status, :assigned_to, :project, :tracker],
:conditions => s.conditions
).group_by(&:assigned_to)
issues_by_assignee.each do |assignee, issues|
deliver_reminder(assignee, issues, days) unless assignee.nil?
end
end
Jean-Philippe Lang
Do not send an email with no recipient, cc or bcc (closes #743)....
r1160
Jean-Philippe Lang
Mailer:...
r864 private
def initialize_defaults(method_name)
super
set_language_if_valid Setting.default_language
from Setting.mail_from
Jean-Philippe Lang
Do not use @:skip_relative_url_root@ to generate urls in Mailer (#2122)....
r1990
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 # Common headers
headers 'X-Mailer' => 'Redmine',
'X-Redmine-Host' => Setting.host_name,
Jean-Philippe Lang
Adds a List-Id header to all emails (#2879)....
r2497 'X-Redmine-Site' => Setting.app_title,
Jean-Philippe Lang
Replaces List-Id header with Precedence and Auto-Submitted headers (#2984, #2879)....
r2566 'Precedence' => 'bulk',
'Auto-Submitted' => 'auto-generated'
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 # Appends a Redmine header field (name is prepended with 'X-Redmine-')
def redmine_headers(h)
h.each { |k,v| headers["X-Redmine-#{k}"] = v }
Jean-Philippe Lang
Mailer:...
r864 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
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
Jean-Philippe Lang
Fixed: email notification for changes I make still occurs when running Repository.fetch_changesets (#1957)....
r2223 @author ||= User.current
if @author.pref[:no_self_notified]
recipients.delete(@author.mail) if recipients
cc.delete(@author.mail) if cc
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 end
# Blind carbon copy recipients
if Setting.bcc_recipients?
bcc([recipients, cc].flatten.compact.uniq)
recipients []
cc []
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 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
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 # Rails 2.3 has problems rendering implicit multipart messages with
# layouts so this method will wrap an multipart messages with
# explicit parts.
#
# https://rails.lighthouseapp.com/projects/8994/tickets/2338-actionmailer-mailer-views-and-content-type
# https://rails.lighthouseapp.com/projects/8994/tickets/1799-actionmailer-doesnt-set-template_format-when-rendering-layouts
def render_multipart(method_name, body)
Jean-Philippe Lang
Sets proper content type for plain text mails (#3970)....
r2847 if Setting.plain_text_mail?
content_type "text/plain"
body render(:file => "#{method_name}.text.plain.rhtml", :body => body, :layout => 'mailer.text.plain.erb')
else
content_type "multipart/alternative"
part :content_type => "text/plain", :body => render(:file => "#{method_name}.text.plain.rhtml", :body => body, :layout => 'mailer.text.plain.erb')
part :content_type => "text/html", :body => render_message("#{method_name}.text.html.rhtml", body)
end
Nicolas Chuche
add plain text option for mail #2029...
r1930 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
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
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279
# Returns a predictable Message-Id for the given object
def self.message_id_for(object)
# id + timestamp should reduce the odds of a collision
# as far as we don't send multiple emails for the same object
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 timestamp = object.send(object.respond_to?(:created_on) ? :created_on : :updated_on)
hash = "redmine.#{object.class.name.demodulize.underscore}-#{object.id}.#{timestamp.strftime("%Y%m%d%H%M%S")}"
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 host = Setting.mail_from.to_s.gsub(%r{^.*@}, '')
host = "#{::Socket.gethostname}.redmine" if host.empty?
"<#{hash}@#{host}>"
end
private
def message_id(object)
@message_id_object = object
end
def references(object)
@references_objects ||= []
@references_objects << object
end
end
# Patch TMail so that message_id is not overwritten
module TMail
class Mail
def add_message_id( fqdn = nil )
self.message_id ||= ::TMail::new_message_id(fqdn)
end
end
Jean-Philippe Lang
Initial commit...
r2 end