Mercurial > hg > soundsoftware-site
changeset 295:3b367754d2b0 luisf
merge from branch bug_97
author | Luis Figueira <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Thu, 24 Mar 2011 13:00:03 +0000 |
parents | b369f41c7199 (current diff) ba87afa76607 (diff) |
children | e941e6aa2b7c a41158bde9e0 |
files | |
diffstat | 6 files changed, 56 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/app/controllers/members_controller.rb Wed Mar 23 11:32:11 2011 +0000 +++ b/app/controllers/members_controller.rb Thu Mar 24 13:00:03 2011 +0000 @@ -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 Wed Mar 23 11:32:11 2011 +0000 +++ b/app/models/mailer.rb Thu Mar 24 13:00:03 2011 +0000 @@ -31,6 +31,31 @@ 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) + + logger.debug "ABRACADABRA" + logger.debug project.name + + + 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 +465,7 @@ end end end + + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/views/mailer/added_to_project.text.html.rhtml Thu Mar 24 13:00:03 2011 +0000 @@ -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 Thu Mar 24 13:00:03 2011 +0000 @@ -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 Wed Mar 23 11:32:11 2011 +0000 +++ b/config/locales/en-GB.yml Thu Mar 24 13:00:03 2011 +0000 @@ -971,4 +971,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 Wed Mar 23 11:32:11 2011 +0000 +++ b/config/locales/en.yml Thu Mar 24 13:00:03 2011 +0000 @@ -965,4 +965,6 @@ 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}}"