changeset 949:ebfda4c68b7a bug_505

Fixes Bug #505 (introduced in Bug #97): now also sends emails to all users members of a group when the group is added to a project.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Thu, 02 Aug 2012 19:40:23 +0100
parents 83866d58f2dd
children 64d990177cda 42e2437766c2 b4558bc5837f
files app/models/mailer.rb
diffstat 1 files changed, 14 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/app/models/mailer.rb	Thu Aug 02 18:42:39 2012 +0100
+++ b/app/models/mailer.rb	Thu Aug 02 19:40:23 2012 +0100
@@ -32,17 +32,25 @@
     { :host => h, :protocol => Setting.protocol }
   end
 
+  # todo: luisf: 2Aug2012 - refactor...
+  def added_to_project(member, project)
+    principal = Principal.find(member.user_id)
 
+    if principal.type == "User"
+      user = User.find(member.user_id)
+      user_add_to_project(user, project) 
+    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:
-  #   add_to_project(user) => tmail object
-  #   Mailer.deliver_add_to_project(user) => sends an email to the registered user
-  def added_to_project(member, project)
-
-    user = User.find(member.user_id)
-
+  #   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)
@@ -50,8 +58,6 @@
         :project_name => project.name
     render_multipart('added_to_project', body)
   end
-
-
   
   # Builds a tmail object used to email recipients of the added issue.
   #