Add date range to milestone changed emails

Also refactored issues and MRs to use the same email template file
This commit is contained in:
Heinrich Lee Yu 2018-12-12 17:51:36 +08:00 committed by Heinrich Lee Yu
parent 62d250ff66
commit 51ac77af9a
9 changed files with 45 additions and 7 deletions

View file

@ -56,7 +56,9 @@ module Emails
@milestone = milestone
@milestone_url = milestone_url(@milestone)
mail_answer_thread(@issue, issue_thread_options(updated_by_user_id, recipient_id, reason))
mail_answer_thread(@issue, issue_thread_options(updated_by_user_id, recipient_id, reason).merge({
template_name: 'changed_milestone_email'
}))
end
def issue_status_changed_email(recipient_id, issue_id, status, updated_by_user_id, reason = nil)

View file

@ -51,7 +51,9 @@ module Emails
@milestone = milestone
@milestone_url = milestone_url(@milestone)
mail_answer_thread(@merge_request, merge_request_thread_options(updated_by_user_id, recipient_id, reason))
mail_answer_thread(@merge_request, merge_request_thread_options(updated_by_user_id, recipient_id, reason).merge({
template_name: 'changed_milestone_email'
}))
end
def closed_merge_request_email(recipient_id, merge_request_id, updated_by_user_id, reason = nil)

View file

@ -16,6 +16,7 @@ class Notify < BaseMailer
include Emails::AutoDevops
include Emails::RemoteMirrors
helper MilestonesHelper
helper MergeRequestsHelper
helper DiffHelper
helper BlobHelper

View file

@ -1,3 +1,5 @@
%p
Milestone changed to
%strong= link_to(@milestone.name, @milestone_url)
- if date_range = milestone_date_range(@milestone)
= "(#{date_range})"

View file

@ -0,0 +1 @@
Milestone changed to <%= @milestone.name %><% if date_range = milestone_date_range(@milestone) %> (<%= date_range %>)<% end %> ( <%= @milestone_url %> )

View file

@ -1 +0,0 @@
Milestone changed to <%= @milestone.name %> ( <%= @milestone_url %> )

View file

@ -1,3 +0,0 @@
%p
Milestone changed to
%strong= link_to(@milestone.name, @milestone_url)

View file

@ -1 +0,0 @@
Milestone changed to <%= @milestone.name %> ( <%= @milestone_url %> )

View file

@ -0,0 +1,35 @@
# frozen_string_literal: true
require 'spec_helper'
describe 'notify/changed_milestone_email.html.haml' do
let(:milestone) { create(:milestone, title: 'some-milestone') }
let(:milestone_link) { milestone_url(milestone) }
before do
assign(:milestone, milestone)
assign(:milestone_url, milestone_link)
end
context 'milestone without start and due dates' do
it 'renders without date range' do
render
expect(rendered).to have_content('Milestone changed to some-milestone', exact: true)
expect(rendered).to have_link('some-milestone', href: milestone_link)
end
end
context 'milestone with start and due dates' do
before do
milestone.update(start_date: '2018-01-01', due_date: '2018-12-31')
end
it 'renders with date range' do
render
expect(rendered).to have_content('Milestone changed to some-milestone (Jan 1, 2018Dec 31, 2018)', exact: true)
expect(rendered).to have_link('some-milestone', href: milestone_link)
end
end
end