diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb index 5e8af497..dc6ef154 100644 --- a/app/mailers/notify.rb +++ b/app/mailers/notify.rb @@ -35,13 +35,12 @@ class Notify < ActionMailer::Base @commit = @note.target mail(:to => @user['email'], :subject => "gitlab | note for commit | #{@note.project.name} ") end - - def note_merge_request_email(user, note) - @user = user - @note = Note.find(note['id']) - @project = @note.project + + def note_merge_request_email(recipient_id, note_id) + recipient = User.find(recipient_id) + @note = Note.find(note_id) @merge_request = @note.noteable - mail(:to => @user['email'], :subject => "gitlab | note for merge request | #{@note.project.name} ") + mail(:to => recipient.email, :subject => "gitlab | note for merge request | #{@note.project.name} ") end def note_issue_email(user, note) diff --git a/app/models/mailer_observer.rb b/app/models/mailer_observer.rb index 573e98ef..73920b8f 100644 --- a/app/models/mailer_observer.rb +++ b/app/models/mailer_observer.rb @@ -36,7 +36,7 @@ class MailerObserver < ActiveRecord::Observer when "Issue" then Notify.note_issue_email(u, note).deliver when "MergeRequest" then - Notify.note_merge_request_email(u, note).deliver + Notify.note_merge_request_email(u.id, note.id).deliver when "Snippet" true else diff --git a/app/views/notify/note_merge_request_email.html.haml b/app/views/notify/note_merge_request_email.html.haml index e2dfec35..9c2284a6 100644 --- a/app/views/notify/note_merge_request_email.html.haml +++ b/app/views/notify/note_merge_request_email.html.haml @@ -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 comment for Merge Request - = link_to truncate(@merge_request.title, :length => 16), project_merge_request_url(@project, @merge_request, :anchor => "note_#{@note.id}") + = link_to truncate(@merge_request.title, :length => 16), project_merge_request_url(@merge_request.project, @merge_request, :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"} diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb index 7211f121..05284096 100644 --- a/spec/mailers/notify_spec.rb +++ b/spec/mailers/notify_spec.rb @@ -153,6 +153,10 @@ describe Notify do let(:note_author) { Factory.create(:user, :name => 'author_name') } let(:note) { Factory.create(:note, :project => project, :author => note_author) } + before :each do + Note.stub(:find).with(note.id).and_return(note) + end + shared_examples 'a note email' do it 'is sent to the given recipient' do should deliver_to recipient.email @@ -191,7 +195,7 @@ describe Notify do end before(:each) { note.stub(:target).and_return(commit) } - subject { Notify.note_commit_email(recipient, note) } + subject { Notify.note_commit_email(recipient.id, note.id) } it_behaves_like 'a note email' @@ -209,7 +213,7 @@ describe Notify do let(:note_on_merge_request_url) { project_merge_request_url(project, merge_request, :anchor => "note_#{note.id}") } before(:each) { note.stub(:noteable).and_return(merge_request) } - subject { Notify.note_merge_request_email(recipient, note) } + subject { Notify.note_merge_request_email(recipient.id, note.id) } it_behaves_like 'a note email'