Commit 435fd8f0874450f2da480fa72b0f014d3f1fe271
1 parent
bb22360d
Exists in
master
and in
4 other branches
Make Notify#note_issue_email resque friendly
Update method to take ids and then perform #finds itself during mailer queue worker kick-off.
Showing
3 changed files
with
9 additions
and
9 deletions
Show diff stats
app/mailers/notify.rb
@@ -43,14 +43,13 @@ class Notify < ActionMailer::Base | @@ -43,14 +43,13 @@ class Notify < ActionMailer::Base | ||
43 | mail(:to => recipient.email, :subject => "gitlab | note for merge request | #{@note.project.name} ") | 43 | mail(:to => recipient.email, :subject => "gitlab | note for merge request | #{@note.project.name} ") |
44 | end | 44 | end |
45 | 45 | ||
46 | - def note_issue_email(user, note) | ||
47 | - @user = user | ||
48 | - @note = Note.find(note['id']) | ||
49 | - @project = @note.project | 46 | + def note_issue_email(recipient_id, note_id) |
47 | + recipient = User.find(recipient_id) | ||
48 | + @note = Note.find(note_id) | ||
50 | @issue = @note.noteable | 49 | @issue = @note.noteable |
51 | - mail(:to => @user['email'], :subject => "gitlab | note for issue #{@issue.id} | #{@note.project.name} ") | 50 | + mail(:to => recipient.email, :subject => "gitlab | note for issue #{@issue.id} | #{@note.project.name} ") |
52 | end | 51 | end |
53 | - | 52 | + |
54 | def new_merge_request_email(merge_request) | 53 | def new_merge_request_email(merge_request) |
55 | @merge_request = MergeRequest.find(merge_request['id']) | 54 | @merge_request = MergeRequest.find(merge_request['id']) |
56 | @user = @merge_request.assignee | 55 | @user = @merge_request.assignee |
app/views/notify/note_issue_email.html.haml
@@ -5,7 +5,7 @@ | @@ -5,7 +5,7 @@ | ||
5 | %td{:align => "left", :style => "padding: 20px 0 0;"} | 5 | %td{:align => "left", :style => "padding: 20px 0 0;"} |
6 | %h2{:style => "color:#646464 !important; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "} | 6 | %h2{:style => "color:#646464 !important; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "} |
7 | New comment - | 7 | New comment - |
8 | - = link_to project_issue_url(@project, @issue, :anchor => "note_#{@note.id}") do | 8 | + = link_to project_issue_url(@issue.project, @issue, :anchor => "note_#{@note.id}") do |
9 | = "Issue ##{@issue.id.to_s}" | 9 | = "Issue ##{@issue.id.to_s}" |
10 | = truncate(@issue.title, :length => 35) | 10 | = truncate(@issue.title, :length => 35) |
11 | %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} | 11 | %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} |
@@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
13 | %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} | 13 | %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} |
14 | %td{:style => "padding: 15px 0 15px;", :valign => "top"} | 14 | %td{:style => "padding: 15px 0 15px;", :valign => "top"} |
15 | %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "} | 15 | %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "} |
16 | - %a{:href => "#", :style => "color: #0eb6ce; text-decoration: none;"} #{@note.author.name} | 16 | + %a{:href => "#", :style => "color: #0eb6ce; text-decoration: none;"} #{@note.author_name} |
17 | left next message: | 17 | left next message: |
18 | %br | 18 | %br |
19 | %table{:border => "0", :cellpadding => "0", :cellspacing => "0", :width => "558"} | 19 | %table{:border => "0", :cellpadding => "0", :cellspacing => "0", :width => "558"} |
spec/mailers/notify_spec.rb
@@ -230,7 +230,8 @@ describe Notify do | @@ -230,7 +230,8 @@ describe Notify do | ||
230 | let(:issue) { Factory.create(:issue, :project => project) } | 230 | let(:issue) { Factory.create(:issue, :project => project) } |
231 | let(:note_on_issue_url) { project_issue_url(project, issue, :anchor => "note_#{note.id}") } | 231 | let(:note_on_issue_url) { project_issue_url(project, issue, :anchor => "note_#{note.id}") } |
232 | before(:each) { note.stub(:noteable).and_return(issue) } | 232 | before(:each) { note.stub(:noteable).and_return(issue) } |
233 | - subject { Notify.note_issue_email(recipient, note) } | 233 | + |
234 | + subject { Notify.note_issue_email(recipient.id, note.id) } | ||
234 | 235 | ||
235 | it_behaves_like 'a note email' | 236 | it_behaves_like 'a note email' |
236 | 237 |