changeset 313:862e47cc1e09 live

Merge from branch "bug_97"
author Chris Cannam
date Mon, 28 Mar 2011 18:04:17 +0100
parents 8019c250165b (current diff) 76c548e4e6e4 (diff)
children c80103b81194
files config/locales/en-GB.yml config/locales/en.yml extra/soundsoftware/SoundSoftware-salted.pm
diffstat 6 files changed, 57 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/app/controllers/members_controller.rb	Mon Mar 28 17:50:50 2011 +0100
+++ b/app/controllers/members_controller.rb	Mon Mar 28 18:04:17 2011 +0100
@@ -28,12 +28,24 @@
       attrs = params[:member].dup
       if (user_ids = attrs.delete(:user_ids))
         user_ids.each do |user_id|
-          members << Member.new(attrs.merge(:user_id => user_id))
+          @new_member = Member.new(attrs.merge(:user_id => user_id))
+          members << @new_member
+
+          # send notification to member
+          Mailer.deliver_added_to_project(@new_member, @project)
+
         end
       else
-        members << Member.new(attrs)
+        @new_member = Member.new(attrs)
+        members << @new_member
+        
+        # send notification to member
+        Mailer.deliver_added_to_project(@new_member, @project)
+        
       end
+
       @project.members << members
+
     end
     respond_to do |format|
       if members.present? && members.all? {|m| m.valid? }
--- a/app/models/mailer.rb	Mon Mar 28 17:50:50 2011 +0100
+++ b/app/models/mailer.rb	Mon Mar 28 18:04:17 2011 +0100
@@ -31,6 +31,27 @@
     h = h.to_s.gsub(%r{\/.*$}, '') unless Redmine::Utils.relative_url_root.blank?
     { :host => h, :protocol => Setting.protocol }
   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)
+
+    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)
+  end
+
+
   
   # Builds a tmail object used to email recipients of the added issue.
   #
@@ -440,3 +461,7 @@
     end
   end
 end
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/mailer/added_to_project.text.html.rhtml	Mon Mar 28 18:04:17 2011 +0100
@@ -0,0 +1,3 @@
+<p><%= l(:notice_added_to_project, :project_name => @project_name) %></p>
+<p><%= l(:notice_project_homepage, :project_url => @project_url) %></p>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/views/mailer/added_to_project.text.plain.rhtml	Mon Mar 28 18:04:17 2011 +0100
@@ -0,0 +1,2 @@
+<%= l(:notice_added_to_project, :project_name => @project_name) %>
+<%= l(:notice_project_homepage, :project_url => @project_url)  %>
--- a/config/locales/en-GB.yml	Mon Mar 28 17:50:50 2011 +0100
+++ b/config/locales/en-GB.yml	Mon Mar 28 18:04:17 2011 +0100
@@ -482,7 +482,6 @@
   label_information_plural: Information
   label_please_login: Please log in
   label_register: Register
-  label_terms_and_conditions: Terms & Conditions for use of code.soundsoftware.ac.uk
   label_login_with_open_id_option: or login with OpenID
   label_password_lost: Lost password
   label_home: Home
@@ -973,4 +972,8 @@
   label_developer_description: Can commit to repository and carry out most project editing tasks
   label_reporter_description: Can submit bug reports; has read access for private projects
 
-  label_set_role_plural: Choose roles for new member
\ No newline at end of file
+  label_set_role_plural: Choose roles for new member
+  notice_added_to_project: 'You have been added to the project "{{project_name}}".'
+  notice_project_homepage: "You can visit the project using the following link: {{project_url}}"
+  mail_subject_added_to_project: "You've been added to a project on {{value}}"
+  
\ No newline at end of file
--- a/config/locales/en.yml	Mon Mar 28 17:50:50 2011 +0100
+++ b/config/locales/en.yml	Mon Mar 28 18:04:17 2011 +0100
@@ -493,8 +493,6 @@
   label_information_plural: Information
   label_please_login: Please log in
   label_register: Register
-  label_terms_and_conditions: Terms & Conditions for use of code.soundsoftware.ac.uk
-  label_accept_terms_and_conditions: I have read the terms and conditions and fully accept them
   label_login_with_open_id_option: or login with OpenID
   label_password_lost: Lost password
   label_home: Home
@@ -972,3 +970,11 @@
 
   label_set_role_plural: Choose roles for new member
 
+  label_manager_description: All powers including adding and removing members and adjusting project settings
+  label_developer_description: Can commit to repository and carry out most project editing tasks
+  label_reporter_description: Can submit bug reports; has read access for private projects
+
+  label_set_role_plural: Choose roles for new member
+  notice_added_to_project: 'You have been added to the project "{{project_name}}".'
+  notice_project_homepage: "You can visit the project using the following link: {{project_url}}"
+  mail_subject_added_to_project: "You've been added to a project on {{value}}"