Commit df5b192e authored by Valery Sizov's avatar Valery Sizov

notification when merge request reassigned

parent db582b63
...@@ -45,4 +45,12 @@ class Notify < ActionMailer::Base ...@@ -45,4 +45,12 @@ class Notify < ActionMailer::Base
@project = merge_request.project @project = merge_request.project
mail(:to => @user.email, :subject => "gitlab | #{@merge_request.title} ") mail(:to => @user.email, :subject => "gitlab | #{@merge_request.title} ")
end end
def changed_merge_request_email(user, merge_request)
@user = user
@assignee_was ||= User.find(merge_request.assignee_id_was)
@merge_request = merge_request
@project = merge_request.project
mail(:to => @user.email, :subject => "gitlab | #{@merge_request.title} ")
end
end end
...@@ -9,6 +9,10 @@ class MailerObserver < ActiveRecord::Observer ...@@ -9,6 +9,10 @@ class MailerObserver < ActiveRecord::Observer
new_merge_request(model) if model.kind_of?(MergeRequest) new_merge_request(model) if model.kind_of?(MergeRequest)
end end
def after_update(model)
changed_merge_request(model) if model.kind_of?(MergeRequest)
end
protected protected
def new_issue(issue) def new_issue(issue)
...@@ -45,4 +49,16 @@ class MailerObserver < ActiveRecord::Observer ...@@ -45,4 +49,16 @@ class MailerObserver < ActiveRecord::Observer
end end
end end
def changed_merge_request(merge_request)
if merge_request.assignee_id_changed?
recipients_ids = [merge_request.assignee_id_was]
recipients_ids << merge_request.assignee_id
recipients_ids.delete current_user.id
User.find(recipients_ids).each do |user|
Notify.changed_merge_request_email(user, merge_request).deliver
end
end
end
end end
%td.content{:align => "left", :style => "font-family: Helvetica, Arial, sans-serif; padding: 20px 0 0;", :valign => "top", :width => "600"}
%table{:border => "0", :cellpadding => "0", :cellspacing => "0", :style => "color: #717171; font: normal 11px Helvetica, Arial, sans-serif; margin: 0; padding: 0;", :width => "600"}
%tr
%td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
%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; "}
Reassigned Merge Request
= link_to truncate(@merge_request.title, :length => 16), project_merge_request_url(@project, @merge_request)
%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; "}
Assignee changed from #{@assignee_was.name} to #{@merge_request.assignee.name}
%td
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment