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 | 43 | mail(:to => recipient.email, :subject => "gitlab | note for merge request | #{@note.project.name} ") |
| 44 | 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 | 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 | 51 | end |
| 53 | - | |
| 52 | + | |
| 54 | 53 | def new_merge_request_email(merge_request) |
| 55 | 54 | @merge_request = MergeRequest.find(merge_request['id']) |
| 56 | 55 | @user = @merge_request.assignee | ... | ... |
app/views/notify/note_issue_email.html.haml
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | %td{:align => "left", :style => "padding: 20px 0 0;"} |
| 6 | 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 | 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 | 9 | = "Issue ##{@issue.id.to_s}" |
| 10 | 10 | = truncate(@issue.title, :length => 35) |
| 11 | 11 | %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} |
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"} |
| 14 | 14 | %td{:style => "padding: 15px 0 15px;", :valign => "top"} |
| 15 | 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 | 17 | left next message: |
| 18 | 18 | %br |
| 19 | 19 | %table{:border => "0", :cellpadding => "0", :cellspacing => "0", :width => "558"} | ... | ... |
spec/mailers/notify_spec.rb
| ... | ... | @@ -230,7 +230,8 @@ describe Notify do |
| 230 | 230 | let(:issue) { Factory.create(:issue, :project => project) } |
| 231 | 231 | let(:note_on_issue_url) { project_issue_url(project, issue, :anchor => "note_#{note.id}") } |
| 232 | 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 | 236 | it_behaves_like 'a note email' |
| 236 | 237 | ... | ... |