##// END OF EJS Templates
mail notifications added when:...
Jean-Philippe Lang -
r193:2d47a6d71c09
parent child
Show More
@@ -0,0 +1,6
1 <%= @added_to %>
2 <%= @attachments.size %> files(s) added.
3 <% @attachments.each do |attachment | %>
4 - <%= attachment.filename %><% end %>
5
6 <%= @url %> No newline at end of file
@@ -0,0 +1,6
1 <%= @added_to %>
2 <%= @attachments.size %> files(s) added.
3 <% @attachments.each do |attachment | %>
4 - <%= attachment.filename %><% end %>
5
6 <%= @url %> No newline at end of file
@@ -0,0 +1,6
1 <%= @added_to %>
2 <%= @attachments.size %> files(s) added.
3 <% @attachments.each do |attachment | %>
4 - <%= attachment.filename %><% end %>
5
6 <%= @url %> No newline at end of file
@@ -0,0 +1,6
1 <%= @added_to %>
2 <%= @attachments.size %> fichier(s) ajoutΓ©(s).
3 <% @attachments.each do |attachment | %>
4 - <%= attachment.filename %><% end %>
5
6 <%= @url %> No newline at end of file
@@ -0,0 +1,4
1 A document has been added to <%= @document.project.name %> (<%= @document.category.name %>):
2 <%= l(:field_title) %>: <%= @document.title %>
3
4 http://<%= Setting.host_name %>/documents/show/<%= @document.id %> No newline at end of file
@@ -0,0 +1,4
1 A document has been added to <%= @document.project.name %> (<%= @document.category.name %>):
2 <%= l(:field_title) %>: <%= @document.title %>
3
4 http://<%= Setting.host_name %>/documents/show/<%= @document.id %> No newline at end of file
@@ -0,0 +1,4
1 A document has been added to <%= @document.project.name %> (<%= @document.category.name %>):
2 <%= l(:field_title) %>: <%= @document.title %>
3
4 http://<%= Setting.host_name %>/documents/show/<%= @document.id %> No newline at end of file
@@ -0,0 +1,4
1 Un document a Γ©tΓ© ajoutΓ© Γ  <%= @document.project.name %> (<%= @document.category.name %>):
2 <%= l(:field_title) %>: <%= @document.title %>
3
4 http://<%= Setting.host_name %>/documents/show/<%= @document.id %> No newline at end of file
@@ -0,0 +1,15
1 class SetDocAndFilesNotifications < ActiveRecord::Migration
2 def self.up
3 Permission.find_by_controller_and_action("projects", "add_file").update_attribute(:mail_option, true)
4 Permission.find_by_controller_and_action("projects", "add_document").update_attribute(:mail_option, true)
5 Permission.find_by_controller_and_action("documents", "add_attachment").update_attribute(:mail_option, true)
6 Permission.find_by_controller_and_action("issues", "add_attachment").update_attribute(:mail_option, true)
7 end
8
9 def self.down
10 Permission.find_by_controller_and_action("projects", "add_file").update_attribute(:mail_option, false)
11 Permission.find_by_controller_and_action("projects", "add_document").update_attribute(:mail_option, false)
12 Permission.find_by_controller_and_action("documents", "add_attachment").update_attribute(:mail_option, false)
13 Permission.find_by_controller_and_action("issues", "add_attachment").update_attribute(:mail_option, false)
14 end
15 end
@@ -1,5 +1,5
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006 Jean-Philippe Lang
2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
@@ -46,9 +46,13 class DocumentsController < ApplicationController
46
46
47 def add_attachment
47 def add_attachment
48 # Save the attachments
48 # Save the attachments
49 params[:attachments].each { |a|
49 @attachments = []
50 Attachment.create(:container => @document, :file => a, :author => logged_in_user) unless a.size == 0
50 params[:attachments].each { |file|
51 next unless file.size > 0
52 a = Attachment.create(:container => @document, :file => file, :author => logged_in_user)
53 @attachments << a unless a.new_record?
51 } if params[:attachments] and params[:attachments].is_a? Array
54 } if params[:attachments] and params[:attachments].is_a? Array
55 Mailer.deliver_attachments_add(@attachments) if !@attachments.empty? and Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
52 redirect_to :action => 'show', :id => @document
56 redirect_to :action => 'show', :id => @document
53 end
57 end
54
58
@@ -1,5 +1,5
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006 Jean-Philippe Lang
2 # Copyright (C) 2006-2007 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
@@ -115,10 +115,13 class IssuesController < ApplicationController
115
115
116 def add_attachment
116 def add_attachment
117 # Save the attachments
117 # Save the attachments
118 params[:attachments].each { |a|
118 @attachments = []
119 @attachment = @issue.attachments.build(:file => a, :author => self.logged_in_user) unless a.size == 0
119 params[:attachments].each { |file|
120 @attachment.save
120 next unless file.size > 0
121 a = Attachment.create(:container => @issue, :file => file, :author => logged_in_user)
122 @attachments << a unless a.new_record?
121 } if params[:attachments] and params[:attachments].is_a? Array
123 } if params[:attachments] and params[:attachments].is_a? Array
124 Mailer.deliver_attachments_add(@attachments) if !@attachments.empty? and Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
122 redirect_to :action => 'show', :id => @issue
125 redirect_to :action => 'show', :id => @issue
123 end
126 end
124
127
@@ -184,6 +184,7 class ProjectsController < ApplicationController
184 Attachment.create(:container => @document, :file => a, :author => logged_in_user) unless a.size == 0
184 Attachment.create(:container => @document, :file => a, :author => logged_in_user) unless a.size == 0
185 } if params[:attachments] and params[:attachments].is_a? Array
185 } if params[:attachments] and params[:attachments].is_a? Array
186 flash[:notice] = l(:notice_successful_create)
186 flash[:notice] = l(:notice_successful_create)
187 Mailer.deliver_document_add(@document) if Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
187 redirect_to :action => 'list_documents', :id => @project
188 redirect_to :action => 'list_documents', :id => @project
188 end
189 end
189 end
190 end
@@ -385,9 +386,13 class ProjectsController < ApplicationController
385 if request.post?
386 if request.post?
386 @version = @project.versions.find_by_id(params[:version_id])
387 @version = @project.versions.find_by_id(params[:version_id])
387 # Save the attachments
388 # Save the attachments
388 params[:attachments].each { |a|
389 @attachments = []
389 Attachment.create(:container => @version, :file => a, :author => logged_in_user) unless a.size == 0
390 params[:attachments].each { |file|
391 next unless file.size > 0
392 a = Attachment.create(:container => @version, :file => file, :author => logged_in_user)
393 @attachments << a unless a.new_record?
390 } if params[:attachments] and params[:attachments].is_a? Array
394 } if params[:attachments] and params[:attachments].is_a? Array
395 Mailer.deliver_attachments_add(@attachments) if !@attachments.empty? and Permission.find_by_controller_and_action(params[:controller], params[:action]).mail_enabled?
391 redirect_to :controller => 'projects', :action => 'list_files', :id => @project
396 redirect_to :controller => 'projects', :action => 'list_files', :id => @project
392 end
397 end
393 @versions = @project.versions
398 @versions = @project.versions
@@ -36,6 +36,36 class Mailer < ActionMailer::Base
36 @body['journal']= journal
36 @body['journal']= journal
37 end
37 end
38
38
39 def document_add(document)
40 @recipients = document.project.users.collect { |u| u.mail if u.mail_notification }.compact
41 @from = Setting.mail_from
42 @subject = "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
43 @body['document'] = document
44 end
45
46 def attachments_add(attachments)
47 container = attachments.first.container
48 url = "http://#{Setting.host_name}/"
49 added_to = ""
50 case container.class.to_s
51 when 'Version'
52 url << "projects/list_files/#{container.project_id}"
53 added_to = "#{l(:label_version)}: #{container.name}"
54 when 'Document'
55 url << "documents/show/#{container.id}"
56 added_to = "#{l(:label_document)}: #{container.title}"
57 when 'Issue'
58 url << "issues/show/#{container.id}"
59 added_to = "#{container.tracker.name} ##{container.id}: #{container.subject}"
60 end
61 @recipients = container.project.users.collect { |u| u.mail if u.mail_notification }.compact
62 @from = Setting.mail_from
63 @subject = "[#{container.project.name}] #{l(:label_attachment_new)}"
64 @body['attachments'] = attachments
65 @body['url'] = url
66 @body['added_to'] = added_to
67 end
68
39 def lost_password(token)
69 def lost_password(token)
40 @recipients = token.user.mail
70 @recipients = token.user.mail
41 @from = Setting.mail_from
71 @from = Setting.mail_from
General Comments 0
You need to be logged in to leave comments. Login now