diff app/models/mailer.rb @ 1270:b2f7f52a164d redmine-2.2-integration

Fix project members page: update editlist partial following changes to project member settings partial; update mailer class and templates; make editlist forms not be remote (we just reload page)
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 02 May 2013 16:24:09 +0100
parents bb32da3bea34
children 4f746d8966dd 51364c0cd58f
line wrap: on
line diff
--- a/app/models/mailer.rb	Thu May 02 15:43:31 2013 +0100
+++ b/app/models/mailer.rb	Thu May 02 16:24:09 2013 +0100
@@ -27,31 +27,32 @@
     { :host => Setting.host_name, :protocol => Setting.protocol }
   end
 
-  # todo: luisf: 2Aug2012 - refactor...
-  def added_to_project(member, project)
+  # Builds a Mail::Message object used to email the specified member
+  # that he was added to a project
+  #
+  # Example:
+  #   member_added_to_project(member, project) => Mail::Message object
+  #   Mailer.member_added_to_project(member, project) => sends an email to the registered member
+  def member_added_to_project(member, project)
+
     principal = Principal.find(member.user_id)
 
+    users = []
     if principal.type == "User"
-      user = User.find(member.user_id)
-      user_add_to_project(user, project) 
+      users = [User.find(member.user_id)]
     else
       users = Principal.find(member.user_id).users      
-      users.map {|user| user_add_to_project(user, project) }      
     end
-  end
 
-  # Builds a tmail object used to email the specified user that he was added to a project
-  #
-  # Example:
-  #   user_add_to_project(user, project) => tmail object
-  #   Mailer.deliver_add_to_project(user, project) => sends an email to the registered user
-  def user_add_to_project(user, project)        
-    set_language_if_valid user.language
-    recipients user.mail
-    subject l(:mail_subject_added_to_project, Setting.app_title)
-    body :project_url => url_for(:controller => 'projects', :action => 'show', :id => project.id),
-        :project_name => project.name
-    render_multipart('added_to_project', body)
+    users.map do |user|
+
+      set_language_if_valid user.language
+      @project_url = url_for(:controller => 'projects', :action => 'show', :id => project.id)
+      @project_name = project.name
+      mail :to => user.mail,
+        :subject => l(:mail_subject_added_to_project, Setting.app_title)
+
+    end
   end
   
   # Builds a Mail::Message object used to email recipients of the added issue.