##// END OF EJS Templates
Added mail notification when a new message is posted in the forums....
Added mail notification when a new message is posted in the forums. Only users who "watch" the board receive notifications. To watch a board, go to the board and click on the "Watch" link. Notifications are sent by MessageObserver observer. GLoc was modified to use the mail template without language suffix when translated template (with language suffix) doesn't exist. Usefull when there's no hard coded text in the mail tempate. git-svn-id: http://redmine.rubyforge.org/svn/trunk@531 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r528:7ca7e4bad503
r528:7ca7e4bad503
Show More
mailer.rb
98 lines | 3.8 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
mailer bug fix...
r53 helper IssuesHelper
Jean-Philippe Lang
Initial commit...
r2
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def issue_add(issue)
set_language_if_valid(Setting.default_language)
# Sends to all project members
@recipients = issue.project.members.collect { |m| m.user.mail if m.user.mail_notification }.compact
@from = Setting.mail_from
@subject = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] #{issue.status.name} - #{issue.subject}"
@body['issue'] = issue
end
def issue_edit(journal)
Jean-Philippe Lang
proper language setting for mail notifications...
r197 set_language_if_valid(Setting.default_language)
Jean-Philippe Lang
0.3 unstable...
r10 # Sends to all project members
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 issue = journal.journalized
Jean-Philippe Lang
fixed: no recipient if one of the members of the project has disabled mail notifications...
r142 @recipients = issue.project.members.collect { |m| m.user.mail if m.user.mail_notification }.compact
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 # Watchers in cc
@cc = issue.watcher_recipients - @recipients
Jean-Philippe Lang
settings are now stored in the database (config_custom.rb no more used) and editable through the application in: Admin -> Settings...
r164 @from = Setting.mail_from
Jean-Philippe Lang
git-svn-id: http://redmine.rubyforge.org/svn/trunk@38 e93f8b46-1217-0410-a6f0-8f06a7374b81
r36 @subject = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] #{issue.status.name} - #{issue.subject}"
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @body['issue'] = issue
@body['journal']= journal
end
def document_add(document)
set_language_if_valid(Setting.default_language)
@recipients = document.project.users.collect { |u| u.mail if u.mail_notification }.compact
@from = Setting.mail_from
@subject = "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
@body['document'] = document
end
def attachments_add(attachments)
set_language_if_valid(Setting.default_language)
container = attachments.first.container
url = "http://#{Setting.host_name}/"
added_to = ""
case container.class.to_s
when 'Version'
url << "projects/list_files/#{container.project_id}"
added_to = "#{l(:label_version)}: #{container.name}"
when 'Document'
url << "documents/show/#{container.id}"
added_to = "#{l(:label_document)}: #{container.title}"
when 'Issue'
url << "issues/show/#{container.id}"
added_to = "#{container.tracker.name} ##{container.id}: #{container.subject}"
end
@recipients = container.project.users.collect { |u| u.mail if u.mail_notification }.compact
@from = Setting.mail_from
@subject = "[#{container.project.name}] #{l(:label_attachment_new)}"
@body['attachments'] = attachments
@body['url'] = url
@body['added_to'] = added_to
end
def lost_password(token)
set_language_if_valid(token.user.language)
@recipients = token.user.mail
@from = Setting.mail_from
@subject = l(:mail_subject_lost_password)
@body['token'] = token
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)
@recipients = token.user.mail
@from = Setting.mail_from
@subject = l(:mail_subject_register)
@body['token'] = token
end
Jean-Philippe Lang
Added mail notification when a new message is posted in the forums....
r528
def message_posted(message, recipients)
set_language_if_valid(Setting.default_language)
@recipients = recipients
@from = Setting.mail_from
@subject = "[#{message.board.project.name} - #{message.board.name}] #{message.subject}"
@body['message'] = message
end
Jean-Philippe Lang
Initial commit...
r2 end