Make Notify#note_wall_email resque friendly

Update method to take ids and then perform #finds itself during mailer
queue worker kick-off.
This commit is contained in:
Robb Kidd 2012-05-15 19:21:12 -04:00
parent 0a9a2c2a0b
commit 41c00a20a9
3 changed files with 7 additions and 8 deletions

View file

@ -21,11 +21,10 @@ class Notify < ActionMailer::Base
mail(:to => @user.email, :subject => "gitlab | New Issue was created")
end
def note_wall_email(user, note)
@user = user
@note = Note.find(note['id'])
@project = @note.project
mail(:to => @user['email'], :subject => "gitlab | #{@note.project.name} ")
def note_wall_email(recipient_id, note_id)
recipient = User.find(recipient_id)
@note = Note.find(note_id)
mail(:to => recipient.email, :subject => "gitlab | #{@note.project.name} ")
end
def note_commit_email(recipient_id, note_id)

View file

@ -5,13 +5,13 @@
%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; "}
New message on
= link_to "Project Wall", wall_project_url(@project, :anchor => "note_#{@note.id}")
= link_to "Project Wall", wall_project_url(@note.project, :anchor => "note_#{@note.id}")
%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; "}
%a{:href => "#", :style => "color: #0eb6ce; text-decoration: none;"} #{@note.author.name}
%a{:href => "#", :style => "color: #0eb6ce; text-decoration: none;"} #{@note.author_name}
left next message:
%br
%table{:border => "0", :cellpadding => "0", :cellspacing => "0", :width => "558"}

View file

@ -174,7 +174,7 @@ describe Notify do
describe 'on a project wall' do
let(:note_on_the_wall_url) { wall_project_url(project, :anchor => "note_#{note.id}") }
subject { Notify.note_wall_email(recipient, note) }
subject { Notify.note_wall_email(recipient.id, note.id) }
it_behaves_like 'a note email'