Commit db582b638382f15f7e373fd79b90e4fc0f494a37

Authored by Valery Sizov
1 parent 7713f7fe

Notification when created merge request

app/mailers/notify.rb
... ... @@ -38,4 +38,11 @@ class Notify < ActionMailer::Base
38 38 @issue = note.noteable
39 39 mail(:to => @user.email, :subject => "gitlab | #{@note.project.name} ")
40 40 end
  41 +
  42 + def new_merge_request_email(merge_request)
  43 + @user = merge_request.assignee
  44 + @merge_request = merge_request
  45 + @project = merge_request.project
  46 + mail(:to => @user.email, :subject => "gitlab | #{@merge_request.title} ")
  47 + end
41 48 end
... ...
app/models/mailer_observer.rb
1 1 class MailerObserver < ActiveRecord::Observer
2   - observe :issue, :user, :note, :snippet
  2 + observe :issue, :user, :note, :merge_request
3 3 cattr_accessor :current_user
4 4  
5 5 def after_create(model)
6 6 new_issue(model) if model.kind_of?(Issue)
7 7 new_user(model) if model.kind_of?(User)
8 8 new_note(model) if model.kind_of?(Note)
  9 + new_merge_request(model) if model.kind_of?(MergeRequest)
9 10 end
10 11  
11 12 protected
... ... @@ -38,4 +39,10 @@ class MailerObserver &lt; ActiveRecord::Observer
38 39 end
39 40 end
40 41  
  42 + def new_merge_request(merge_request)
  43 + if merge_request.assignee != current_user
  44 + Notify.new_merge_request_email(merge_request).deliver
  45 + end
  46 + end
  47 +
41 48 end
... ...
app/views/notify/new_merge_request_email.html.haml 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +%td.content{:align => "left", :style => "font-family: Helvetica, Arial, sans-serif; padding: 20px 0 0;", :valign => "top", :width => "600"}
  2 + %table{:border => "0", :cellpadding => "0", :cellspacing => "0", :style => "color: #717171; font: normal 11px Helvetica, Arial, sans-serif; margin: 0; padding: 0;", :width => "600"}
  3 + %tr
  4 + %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
  5 + %td{:align => "left", :style => "padding: 20px 0 0;"}
  6 + %h2{:style => "color:#646464; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "}
  7 + New Merge Request
  8 + = link_to truncate(@merge_request.title, :length => 16), project_merge_request_url(@project, @merge_request)
  9 + %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
  10 + %tr
  11 + %td{:style => "font-size: 1px; line-height: 1px;", :width => "21"}
  12 + %td{:style => "padding: 15px 0 15px;", :valign => "top"}
  13 + %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "}
  14 + Branches: #{@merge_request.source_branch} &rarr; #{@merge_request.target_branch}
  15 +
  16 + %p{:style => "color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "}
  17 + Asignee: #{@merge_request.author.name} &rarr; #{@merge_request.assignee.name}
  18 +
  19 + %td
  20 +
... ...