Commit 51ac77af authored by Heinrich Lee Yu's avatar Heinrich Lee Yu Committed by Heinrich Lee Yu

Add date range to milestone changed emails

Also refactored issues and MRs to use the same email template file
parent 62d250ff
...@@ -56,7 +56,9 @@ module Emails ...@@ -56,7 +56,9 @@ module Emails
@milestone = milestone @milestone = milestone
@milestone_url = milestone_url(@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 end
def issue_status_changed_email(recipient_id, issue_id, status, updated_by_user_id, reason = nil) def issue_status_changed_email(recipient_id, issue_id, status, updated_by_user_id, reason = nil)
......
...@@ -51,7 +51,9 @@ module Emails ...@@ -51,7 +51,9 @@ module Emails
@milestone = milestone @milestone = milestone
@milestone_url = milestone_url(@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 end
def closed_merge_request_email(recipient_id, merge_request_id, updated_by_user_id, reason = nil) def closed_merge_request_email(recipient_id, merge_request_id, updated_by_user_id, reason = nil)
......
...@@ -16,6 +16,7 @@ class Notify < BaseMailer ...@@ -16,6 +16,7 @@ class Notify < BaseMailer
include Emails::AutoDevops include Emails::AutoDevops
include Emails::RemoteMirrors include Emails::RemoteMirrors
helper MilestonesHelper
helper MergeRequestsHelper helper MergeRequestsHelper
helper DiffHelper helper DiffHelper
helper BlobHelper helper BlobHelper
......
%p %p
Milestone changed to Milestone changed to
%strong= link_to(@milestone.name, @milestone_url) %strong= link_to(@milestone.name, @milestone_url)
- if date_range = milestone_date_range(@milestone)
= "(#{date_range})"
Milestone changed to <%= @milestone.name %><% if date_range = milestone_date_range(@milestone) %> (<%= date_range %>)<% end %> ( <%= @milestone_url %> )
Milestone changed to <%= @milestone.name %> ( <%= @milestone_url %> )
%p
Milestone changed to
%strong= link_to(@milestone.name, @milestone_url)
Milestone changed to <%= @milestone.name %> ( <%= @milestone_url %> )
# 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, 2018–Dec 31, 2018)', exact: true)
expect(rendered).to have_link('some-milestone', href: milestone_link)
end
end
end
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