From 5fe75649b3e278562b241abadb7d5a62146cff34 Mon Sep 17 00:00:00 2001 From: Robb Kidd Date: Mon, 14 May 2012 23:42:47 -0400 Subject: [PATCH] Rename changed_mr_email to reassigned_mr_email & make resque friendly #changed_merge_request_email was really sending emails about merge request reassignments. Updated method name to reflect that. Update method to take ids and then perform #finds itself during mailer queue worker kick-off. --- app/mailers/notify.rb | 13 ++++++------- ...aml => reassigned_merge_request_email.html.haml} | 4 ++-- spec/mailers/notify_spec.rb | 6 +++--- 3 files changed, 11 insertions(+), 12 deletions(-) rename app/views/notify/{changed_merge_request_email.html.haml => reassigned_merge_request_email.html.haml} (87%) diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb index 875e83e5331..5e8af49738b 100644 --- a/app/mailers/notify.rb +++ b/app/mailers/notify.rb @@ -58,13 +58,12 @@ class Notify < ActionMailer::Base @project = @merge_request.project mail(:to => @user.email, :subject => "gitlab | new merge request | #{@merge_request.title} ") end - - def changed_merge_request_email(user, merge_request) - @user = user - @merge_request = MergeRequest.find(merge_request.id) - @assignee_was ||= User.find(@merge_request.assignee_id_was) - @project = @merge_request.project - mail(:to => @user['email'], :subject => "gitlab | merge request changed | #{@merge_request.title} ") + + def reassigned_merge_request_email(recipient_id, merge_request_id, previous_assignee_id) + recipient = User.find(recipient_id) + @merge_request = MergeRequest.find(merge_request_id) + @previous_assignee ||= User.find(previous_assignee_id) + mail(:to => recipient.email, :subject => "gitlab | merge request changed | #{@merge_request.title} ") end def reassigned_issue_email(recipient_id, issue_id, previous_assignee_id) diff --git a/app/views/notify/changed_merge_request_email.html.haml b/app/views/notify/reassigned_merge_request_email.html.haml similarity index 87% rename from app/views/notify/changed_merge_request_email.html.haml rename to app/views/notify/reassigned_merge_request_email.html.haml index 403d51232a9..30b1f4fec42 100644 --- a/app/views/notify/changed_merge_request_email.html.haml +++ b/app/views/notify/reassigned_merge_request_email.html.haml @@ -5,12 +5,12 @@ %td{:align => "left", :style => "padding: 20px 0 0;"} %h2{:style => "color:#646464; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "} Reassigned Merge Request - = link_to truncate(@merge_request.title, :length => 16), project_merge_request_url(@project, @merge_request) + = link_to truncate(@merge_request.title, :length => 16), project_merge_request_url(@merge_request.project, @merge_request) %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} %tr %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} %td{:style => "padding: 15px 0 15px;", :valign => "top"} %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "} - Assignee changed from #{@assignee_was.name} to #{@merge_request.assignee.name} + Assignee changed from #{@previous_assignee.name} to #{@merge_request.assignee_name} %td diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb index 8c896085226..7211f121239 100644 --- a/spec/mailers/notify_spec.rb +++ b/spec/mailers/notify_spec.rb @@ -123,9 +123,9 @@ describe Notify do end describe 'that are reassigned' do - before(:each) { merge_request.stub(:assignee_id_was).and_return(old_assignee.id) } + before(:each) { merge_request.stub(:assignee_id_was).and_return(previous_assignee.id) } - subject { Notify.changed_merge_request_email(recipient, merge_request) } + subject { Notify.reassigned_merge_request_email(recipient.id, merge_request.id, previous_assignee.id) } it_behaves_like 'a multiple recipients email' @@ -134,7 +134,7 @@ describe Notify do end it 'contains the name of the previous assignee' do - should have_body_text /#{old_assignee.name}/ + should have_body_text /#{previous_assignee.name}/ end it 'contains the name of the new assignee' do -- GitLab