Commit 5fe75649b3e278562b241abadb7d5a62146cff34

Authored by Robb Kidd
1 parent dd921053

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
@@ -58,13 +58,12 @@ class Notify < ActionMailer::Base @@ -58,13 +58,12 @@ class Notify < ActionMailer::Base
58 @project = @merge_request.project 58 @project = @merge_request.project
59 mail(:to => @user.email, :subject => "gitlab | new merge request | #{@merge_request.title} ") 59 mail(:to => @user.email, :subject => "gitlab | new merge request | #{@merge_request.title} ")
60 end 60 end
61 -  
62 - def changed_merge_request_email(user, merge_request)  
63 - @user = user  
64 - @merge_request = MergeRequest.find(merge_request.id)  
65 - @assignee_was ||= User.find(@merge_request.assignee_id_was)  
66 - @project = @merge_request.project  
67 - mail(:to => @user['email'], :subject => "gitlab | merge request changed | #{@merge_request.title} ") 61 +
  62 + def reassigned_merge_request_email(recipient_id, merge_request_id, previous_assignee_id)
  63 + recipient = User.find(recipient_id)
  64 + @merge_request = MergeRequest.find(merge_request_id)
  65 + @previous_assignee ||= User.find(previous_assignee_id)
  66 + mail(:to => recipient.email, :subject => "gitlab | merge request changed | #{@merge_request.title} ")
68 end 67 end
69 68
70 def reassigned_issue_email(recipient_id, issue_id, previous_assignee_id) 69 def reassigned_issue_email(recipient_id, issue_id, previous_assignee_id)
app/views/notify/changed_merge_request_email.html.haml
@@ -1,16 +0,0 @@ @@ -1,16 +0,0 @@
1 -%td.content{:align => "left", :style => "font-family: Helvetica, Arial, sans-serif; padding: 20px 0 0;", :valign => "top", :width => "600"}  
2 - %table{:border => "0", :cellpadding => "0", :cellspacing => "0", :style => "color: #717171; font: normal 11px Helvetica, Arial, sans-serif; margin: 0; padding: 0;", :width => "600"}  
3 - %tr  
4 - %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}  
5 - %td{:align => "left", :style => "padding: 20px 0 0;"}  
6 - %h2{:style => "color:#646464; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "}  
7 - Reassigned Merge Request  
8 - = link_to truncate(@merge_request.title, :length => 16), project_merge_request_url(@project, @merge_request)  
9 - %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}  
10 - %tr  
11 - %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}  
12 - %td{:style => "padding: 15px 0 15px;", :valign => "top"}  
13 - %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "}  
14 - Assignee changed from #{@assignee_was.name} to #{@merge_request.assignee.name}  
15 - %td  
16 -  
app/views/notify/reassigned_merge_request_email.html.haml 0 → 100644
@@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
  1 +%td.content{:align => "left", :style => "font-family: Helvetica, Arial, sans-serif; padding: 20px 0 0;", :valign => "top", :width => "600"}
  2 + %table{:border => "0", :cellpadding => "0", :cellspacing => "0", :style => "color: #717171; font: normal 11px Helvetica, Arial, sans-serif; margin: 0; padding: 0;", :width => "600"}
  3 + %tr
  4 + %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
  5 + %td{:align => "left", :style => "padding: 20px 0 0;"}
  6 + %h2{:style => "color:#646464; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "}
  7 + Reassigned Merge Request
  8 + = link_to truncate(@merge_request.title, :length => 16), project_merge_request_url(@merge_request.project, @merge_request)
  9 + %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
  10 + %tr
  11 + %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
  12 + %td{:style => "padding: 15px 0 15px;", :valign => "top"}
  13 + %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "}
  14 + Assignee changed from #{@previous_assignee.name} to #{@merge_request.assignee_name}
  15 + %td
  16 +
spec/mailers/notify_spec.rb
@@ -123,9 +123,9 @@ describe Notify do @@ -123,9 +123,9 @@ describe Notify do
123 end 123 end
124 124
125 describe 'that are reassigned' do 125 describe 'that are reassigned' do
126 - before(:each) { merge_request.stub(:assignee_id_was).and_return(old_assignee.id) } 126 + before(:each) { merge_request.stub(:assignee_id_was).and_return(previous_assignee.id) }
127 127
128 - subject { Notify.changed_merge_request_email(recipient, merge_request) } 128 + subject { Notify.reassigned_merge_request_email(recipient.id, merge_request.id, previous_assignee.id) }
129 129
130 it_behaves_like 'a multiple recipients email' 130 it_behaves_like 'a multiple recipients email'
131 131
@@ -134,7 +134,7 @@ describe Notify do @@ -134,7 +134,7 @@ describe Notify do
134 end 134 end
135 135
136 it 'contains the name of the previous assignee' do 136 it 'contains the name of the previous assignee' do
137 - should have_body_text /#{old_assignee.name}/ 137 + should have_body_text /#{previous_assignee.name}/
138 end 138 end
139 139
140 it 'contains the name of the new assignee' do 140 it 'contains the name of the new assignee' do