summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/mailers/emails/groups.rb2
-rw-r--r--app/mailers/emails/issues.rb4
-rw-r--r--app/mailers/emails/merge_requests.rb4
-rw-r--r--app/mailers/emails/notes.rb4
-rw-r--r--app/mailers/emails/profile.rb2
-rw-r--r--app/mailers/emails/projects.rb7
-rw-r--r--app/views/layouts/notify.html.haml34
-rw-r--r--app/views/notify/_note_message.html.haml6
-rw-r--r--app/views/notify/closed_issue_email.html.haml3
-rw-r--r--app/views/notify/closed_merge_request_email.html.haml9
-rw-r--r--app/views/notify/group_access_granted_email.html.haml3
-rw-r--r--app/views/notify/issue_status_changed_email.html.haml3
-rw-r--r--app/views/notify/merged_merge_request_email.html.haml9
-rw-r--r--app/views/notify/new_issue_email.html.haml15
-rw-r--r--app/views/notify/new_merge_request_email.html.haml14
-rw-r--r--app/views/notify/note_commit_email.html.haml3
-rw-r--r--app/views/notify/note_issue_email.html.haml3
-rw-r--r--app/views/notify/note_merge_request_email.html.haml13
-rw-r--r--app/views/notify/note_wall_email.html.haml4
-rw-r--r--app/views/notify/reassigned_issue_email.html.haml3
-rw-r--r--app/views/notify/reassigned_merge_request_email.html.haml3
-rw-r--r--spec/mailers/notify_spec.rb30
22 files changed, 88 insertions, 90 deletions
diff --git a/app/mailers/emails/groups.rb b/app/mailers/emails/groups.rb
index 1c8ae122c46..1654fc55bca 100644
--- a/app/mailers/emails/groups.rb
+++ b/app/mailers/emails/groups.rb
@@ -3,7 +3,7 @@ module Emails
def group_access_granted_email(user_group_id)
@membership = UsersGroup.find(user_group_id)
@group = @membership.group
-
+ @target_url = group_url(@group)
mail(to: @membership.user.email,
subject: subject("Access to group was granted"))
end
diff --git a/app/mailers/emails/issues.rb b/app/mailers/emails/issues.rb
index 3adb47dc5b1..d684e354452 100644
--- a/app/mailers/emails/issues.rb
+++ b/app/mailers/emails/issues.rb
@@ -3,6 +3,7 @@ module Emails
def new_issue_email(recipient_id, issue_id)
@issue = Issue.find(issue_id)
@project = @issue.project
+ @target_url = project_issue_url(@project, @issue)
mail(from: sender(@issue.author_id),
to: recipient(recipient_id),
subject: subject("#{@issue.title} (##{@issue.iid})"))
@@ -12,6 +13,7 @@ module Emails
@issue = Issue.find(issue_id)
@previous_assignee = User.find_by(id: previous_assignee_id) if previous_assignee_id
@project = @issue.project
+ @target_url = project_issue_url(@project, @issue)
mail(from: sender(updated_by_user_id),
to: recipient(recipient_id),
subject: subject("#{@issue.title} (##{@issue.iid})"))
@@ -21,6 +23,7 @@ module Emails
@issue = Issue.find issue_id
@project = @issue.project
@updated_by = User.find updated_by_user_id
+ @target_url = project_issue_url(@project, @issue)
mail(from: sender(updated_by_user_id),
to: recipient(recipient_id),
subject: subject("#{@issue.title} (##{@issue.iid})"))
@@ -31,6 +34,7 @@ module Emails
@issue_status = status
@project = @issue.project
@updated_by = User.find updated_by_user_id
+ @target_url = project_issue_url(@project, @issue)
mail(from: sender(updated_by_user_id),
to: recipient(recipient_id),
subject: subject("#{@issue.title} (##{@issue.iid})"))
diff --git a/app/mailers/emails/merge_requests.rb b/app/mailers/emails/merge_requests.rb
index 0845e14edc7..5e1b8faf13e 100644
--- a/app/mailers/emails/merge_requests.rb
+++ b/app/mailers/emails/merge_requests.rb
@@ -3,6 +3,7 @@ module Emails
def new_merge_request_email(recipient_id, merge_request_id)
@merge_request = MergeRequest.find(merge_request_id)
@project = @merge_request.project
+ @target_url = project_merge_request_url(@project, @merge_request)
mail(from: sender(@merge_request.author_id),
to: recipient(recipient_id),
subject: subject("#{@merge_request.title} (!#{@merge_request.iid})"))
@@ -12,6 +13,7 @@ module Emails
@merge_request = MergeRequest.find(merge_request_id)
@previous_assignee = User.find_by(id: previous_assignee_id) if previous_assignee_id
@project = @merge_request.project
+ @target_url = project_merge_request_url(@project, @merge_request)
mail(from: sender(updated_by_user_id),
to: recipient(recipient_id),
subject: subject("#{@merge_request.title} (!#{@merge_request.iid})"))
@@ -21,6 +23,7 @@ module Emails
@merge_request = MergeRequest.find(merge_request_id)
@updated_by = User.find updated_by_user_id
@project = @merge_request.project
+ @target_url = project_merge_request_url(@project, @merge_request)
mail(from: sender(updated_by_user_id),
to: recipient(recipient_id),
subject: subject("#{@merge_request.title} (!#{@merge_request.iid})"))
@@ -29,6 +32,7 @@ module Emails
def merged_merge_request_email(recipient_id, merge_request_id)
@merge_request = MergeRequest.find(merge_request_id)
@project = @merge_request.project
+ @target_url = project_merge_request_url(@project, @merge_request)
mail(from: sender(@merge_request.author_id_of_changes),
to: recipient(recipient_id),
subject: subject("#{@merge_request.title} (!#{@merge_request.iid})"))
diff --git a/app/mailers/emails/notes.rb b/app/mailers/emails/notes.rb
index 00b127da429..ccbdadf010f 100644
--- a/app/mailers/emails/notes.rb
+++ b/app/mailers/emails/notes.rb
@@ -4,6 +4,7 @@ module Emails
@note = Note.find(note_id)
@commit = @note.noteable
@project = @note.project
+ @target_url = project_commit_url(@project, @commit, anchor: "note_#{@note.id}")
mail(from: sender(@note.author_id),
to: recipient(recipient_id),
subject: subject("#{@commit.title} (#{@commit.short_id})"))
@@ -13,6 +14,7 @@ module Emails
@note = Note.find(note_id)
@issue = @note.noteable
@project = @note.project
+ @target_url = project_issue_url(@project, @issue, anchor: "note_#{@note.id}")
mail(from: sender(@note.author_id),
to: recipient(recipient_id),
subject: subject("#{@issue.title} (##{@issue.iid})"))
@@ -22,6 +24,7 @@ module Emails
@note = Note.find(note_id)
@merge_request = @note.noteable
@project = @note.project
+ @target_url = project_merge_request_url(@project, @merge_request, anchor: "note_#{@note.id}")
mail(from: sender(@note.author_id),
to: recipient(recipient_id),
subject: subject("#{@merge_request.title} (!#{@merge_request.iid})"))
@@ -30,6 +33,7 @@ module Emails
def note_wall_email(recipient_id, note_id)
@note = Note.find(note_id)
@project = @note.project
+ @target_url = project_wall_url(@note.project, anchor: "note_#{@note.id}")
mail(from: sender(@note.author_id),
to: recipient(recipient_id),
subject: subject("Note on wall"))
diff --git a/app/mailers/emails/profile.rb b/app/mailers/emails/profile.rb
index c91660a02b5..f02d95fd557 100644
--- a/app/mailers/emails/profile.rb
+++ b/app/mailers/emails/profile.rb
@@ -3,6 +3,7 @@ module Emails
def new_user_email(user_id, password)
@user = User.find(user_id)
@password = password
+ @target_url = user_url(@user)
mail(to: @user.email, subject: subject("Account was created for you"))
end
@@ -15,6 +16,7 @@ module Emails
def new_ssh_key_email(key_id)
@key = Key.find(key_id)
@user = @key.user
+ @target_url = user_url(@user)
mail(to: @user.email, subject: subject("SSH key was added to your account"))
end
end
diff --git a/app/mailers/emails/projects.rb b/app/mailers/emails/projects.rb
index 46f24e9fb7c..46aa34d13da 100644
--- a/app/mailers/emails/projects.rb
+++ b/app/mailers/emails/projects.rb
@@ -3,6 +3,7 @@ module Emails
def project_access_granted_email(user_project_id)
@users_project = UsersProject.find user_project_id
@project = @users_project.project
+ @target_url = project_url(@project)
mail(to: @users_project.user.email,
subject: subject("Access to project was granted"))
end
@@ -10,6 +11,7 @@ module Emails
def project_was_moved_email(project_id, user_id)
@user = User.find user_id
@project = Project.find project_id
+ @target_url = project_url(@project)
mail(to: @user.email,
subject: subject("Project was moved"))
end
@@ -21,6 +23,11 @@ module Emails
@commits = Commit.decorate(compare.commits)
@diffs = compare.diffs
@branch = branch
+ if @commits.length > 1
+ @target_url = project_compare_url(@project, from: @commits.first, to: @commits.last)
+ else
+ @target_url = project_commit_url(@project, @compare.commit)
+ end
mail(from: sender(author_id),
to: recipient,
diff --git a/app/views/layouts/notify.html.haml b/app/views/layouts/notify.html.haml
index f88abeca887..09d84a3eb9f 100644
--- a/app/views/layouts/notify.html.haml
+++ b/app/views/layouts/notify.html.haml
@@ -3,20 +3,24 @@
%meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}
%title
GitLab
+ :css
+ p.details {
+ font-style:italic;
+ color:#777
+ }
+ .footer p {
+ font-size:small;
+ color:#777
+ }
%body
- %h1{style: "background: #EEE; border-bottom: 1px solid #DDD; color: #474D57; font: normal 20px Helvetica, Arial, sans-serif; margin: 0; padding: 5px 10px; line-height: 32px; font-size: 16px;"}
- GitLab
- - if @project
- \|
- = link_to @project.name_with_namespace, project_url(@project), style: 'color: #29B; text-decoration: none'
- %table{align: "left", border: "0", cellpadding: "0", cellspacing: "0", style: "padding: 10px 0;", width: "100%"}
- %tr
- %td{align: "left", style: "margin: 0; padding: 10px;"}
- = yield
- %br
- %tr
- %td{align: "left", style: "margin: 0; padding: 10px;"}
- %p{style: "font-size:small;color:#777"}
- - if @project
- You're receiving this notification because you are a member of the #{@project.name_with_namespace} project team.
+ %div.content
+ = yield
+ %div.footer{style: "margin-top: 10px;"}
+ %p
+ \—
+ %br
+ - if @project
+ You're receiving this notification because you are a member of the #{link_to @project.name_with_namespace, project_url(@project)} project team.
+ - if @target_url
+ #{link_to "View in GitLab", @target_url}
diff --git a/app/views/notify/_note_message.html.haml b/app/views/notify/_note_message.html.haml
index 9e329af2d47..5272dfa0ede 100644
--- a/app/views/notify/_note_message.html.haml
+++ b/app/views/notify/_note_message.html.haml
@@ -1,6 +1,2 @@
-%p
- %strong #{@note.author_name}
- wrote:
-
-%cite{style: 'color: #666'}
+%div
= markdown(@note.note)
diff --git a/app/views/notify/closed_issue_email.html.haml b/app/views/notify/closed_issue_email.html.haml
index 325cd44eb4b..56c18cd83cd 100644
--- a/app/views/notify/closed_issue_email.html.haml
+++ b/app/views/notify/closed_issue_email.html.haml
@@ -1,5 +1,2 @@
%p
= "Issue was closed by #{@updated_by.name}"
-%p
- = "Issue ##{@issue.iid}"
- = link_to_gfm truncate(@issue.title, length: 45), project_issue_url(@issue.project, @issue), title: @issue.title
diff --git a/app/views/notify/closed_merge_request_email.html.haml b/app/views/notify/closed_merge_request_email.html.haml
index 45770cc85de..809d46f31be 100644
--- a/app/views/notify/closed_merge_request_email.html.haml
+++ b/app/views/notify/closed_merge_request_email.html.haml
@@ -1,9 +1,2 @@
%p
- = "Merge Request #{@merge_request.iid} was closed by #{@updated_by.name}"
-%p
- = link_to_gfm truncate(@merge_request.title, length: 40), project_merge_request_url(@merge_request.target_project, @merge_request)
-%p
- != merge_path_description(@merge_request, '→')
-%p
- Assignee: #{@merge_request.author_name} → #{@merge_request.assignee_name}
-
+ = "Merge Request !#{@merge_request.iid} was closed by #{@updated_by.name}"
diff --git a/app/views/notify/group_access_granted_email.html.haml b/app/views/notify/group_access_granted_email.html.haml
index 5023ec737a5..0092a947eee 100644
--- a/app/views/notify/group_access_granted_email.html.haml
+++ b/app/views/notify/group_access_granted_email.html.haml
@@ -1,5 +1,2 @@
%p
= "You have been granted #{@membership.human_access} access to group"
-%p
- = link_to group_url(@group) do
- = @group.name
diff --git a/app/views/notify/issue_status_changed_email.html.haml b/app/views/notify/issue_status_changed_email.html.haml
index 7706b3f7516..482c884a9db 100644
--- a/app/views/notify/issue_status_changed_email.html.haml
+++ b/app/views/notify/issue_status_changed_email.html.haml
@@ -1,5 +1,2 @@
%p
= "Issue was #{@issue_status} by #{@updated_by.name}"
-%p
- = "Issue ##{@issue.iid}"
- = link_to_gfm truncate(@issue.title, length: 45), project_issue_url(@issue.project, @issue), title: @issue.title
diff --git a/app/views/notify/merged_merge_request_email.html.haml b/app/views/notify/merged_merge_request_email.html.haml
index e2bc9cf5c04..0c62d439aed 100644
--- a/app/views/notify/merged_merge_request_email.html.haml
+++ b/app/views/notify/merged_merge_request_email.html.haml
@@ -1,9 +1,2 @@
%p
- = "Merge Request #{@merge_request.iid} was merged"
-%p
- = link_to_gfm truncate(@merge_request.title, length: 40), project_merge_request_url(@merge_request.target_project, @merge_request)
-%p
- != merge_path_description(@merge_request, '→')
-%p
- Assignee: #{@merge_request.author_name} → #{@merge_request.assignee_name}
-
+ = "Merge Request !#{@merge_request.iid} was merged"
diff --git a/app/views/notify/new_issue_email.html.haml b/app/views/notify/new_issue_email.html.haml
index 3b3c148517a..f2f8eee18c4 100644
--- a/app/views/notify/new_issue_email.html.haml
+++ b/app/views/notify/new_issue_email.html.haml
@@ -1,9 +1,6 @@
-%p
- New Issue was created.
-%p
- = "Issue ##{@issue.iid}"
- = link_to_gfm truncate(@issue.title, length: 45), project_issue_url(@issue.project, @issue), title: @issue.title
-%p
- Author: #{@issue.author_name}
-%p
- Assignee: #{@issue.assignee_name}
+-if @issue.description
+ = markdown(@issue.description)
+
+- if @issue.assignee_id.present?
+ %p
+ Assignee: #{@issue.assignee_name}
diff --git a/app/views/notify/new_merge_request_email.html.haml b/app/views/notify/new_merge_request_email.html.haml
index 321f9418ded..f02d5111b22 100644
--- a/app/views/notify/new_merge_request_email.html.haml
+++ b/app/views/notify/new_merge_request_email.html.haml
@@ -1,9 +1,9 @@
-%p
- = "New Merge Request ##{@merge_request.iid}"
-%p
- = link_to_gfm truncate(@merge_request.title, length: 40), project_merge_request_url(@merge_request.target_project, @merge_request)
-%p
+%p.details
!= merge_path_description(@merge_request, '→')
-%p
- Assignee: #{@merge_request.author_name} → #{@merge_request.assignee_name}
+- if @merge_request.assignee_id.present?
+ %p
+ Assignee: #{@merge_request.author_name} → #{@merge_request.assignee_name}
+
+-if @merge_request.description
+ = markdown(@merge_request.description)
diff --git a/app/views/notify/note_commit_email.html.haml b/app/views/notify/note_commit_email.html.haml
index 620b258fc15..1d961e4424c 100644
--- a/app/views/notify/note_commit_email.html.haml
+++ b/app/views/notify/note_commit_email.html.haml
@@ -1,5 +1,2 @@
-%p
- = "New comment for Commit #{@commit.short_id}"
- = link_to_gfm truncate(@commit.title, length: 16), project_commit_url(@note.project, id: @commit.id, anchor: "note_#{@note.id}")
= render 'note_message'
diff --git a/app/views/notify/note_issue_email.html.haml b/app/views/notify/note_issue_email.html.haml
index b3230953e7d..2fa2f784661 100644
--- a/app/views/notify/note_issue_email.html.haml
+++ b/app/views/notify/note_issue_email.html.haml
@@ -1,4 +1 @@
-%p
- = "New comment for Issue ##{@issue.iid}"
- = link_to_gfm truncate(@issue.title, length: 35), project_issue_url(@issue.project, @issue, anchor: "note_#{@note.id}")
= render 'note_message'
diff --git a/app/views/notify/note_merge_request_email.html.haml b/app/views/notify/note_merge_request_email.html.haml
index d587b068486..65f0e4c4068 100644
--- a/app/views/notify/note_merge_request_email.html.haml
+++ b/app/views/notify/note_merge_request_email.html.haml
@@ -1,8 +1,7 @@
-%p
- - if @note.for_diff_line?
- = link_to "New comment on diff", diffs_project_merge_request_url(@merge_request.target_project, @merge_request, anchor: "note_#{@note.id}")
- - else
- = link_to "New comment", project_merge_request_url(@merge_request.target_project, @merge_request, anchor: "note_#{@note.id}")
- for Merge Request ##{@merge_request.iid}
- %cite "#{truncate(@merge_request.title, length: 20)}"
+- if @note.diff_file_name
+ %p.details
+ New comment on diff for
+ = link_to @note.diff_file_name, @target_url
+ \:
+
= render 'note_message'
diff --git a/app/views/notify/note_wall_email.html.haml b/app/views/notify/note_wall_email.html.haml
index 92200e83efa..2fa2f784661 100644
--- a/app/views/notify/note_wall_email.html.haml
+++ b/app/views/notify/note_wall_email.html.haml
@@ -1,5 +1 @@
-%p
- New message on
- = link_to "Project Wall", project_wall_url(@note.project, anchor: "note_#{@note.id}")
-
= render 'note_message'
diff --git a/app/views/notify/reassigned_issue_email.html.haml b/app/views/notify/reassigned_issue_email.html.haml
index b0edff44ce6..07227a3e68c 100644
--- a/app/views/notify/reassigned_issue_email.html.haml
+++ b/app/views/notify/reassigned_issue_email.html.haml
@@ -1,7 +1,4 @@
%p
- = "Reassigned Issue ##{@issue.iid}"
- = link_to_gfm truncate(@issue.title, length: 30), project_issue_url(@issue.project, @issue)
-%p
Assignee changed
- if @previous_assignee
from
diff --git a/app/views/notify/reassigned_merge_request_email.html.haml b/app/views/notify/reassigned_merge_request_email.html.haml
index d2d82d36c48..00aee6bc952 100644
--- a/app/views/notify/reassigned_merge_request_email.html.haml
+++ b/app/views/notify/reassigned_merge_request_email.html.haml
@@ -1,7 +1,4 @@
%p
- = "Reassigned Merge Request ##{@merge_request.iid}"
- = link_to_gfm truncate(@merge_request.title, length: 30), project_merge_request_url(@merge_request.target_project, @merge_request)
-%p
Assignee changed
- if @previous_assignee
from
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb
index 6ba4d97ad4a..f990ed659b8 100644
--- a/spec/mailers/notify_spec.rb
+++ b/spec/mailers/notify_spec.rb
@@ -146,7 +146,8 @@ describe Notify do
end
context 'for issues' do
- let(:issue) { create(:issue, author: current_user, assignee: assignee, project: project ) }
+ let(:issue) { create(:issue, author: current_user, assignee: assignee, project: project) }
+ let(:issue_with_description) { create(:issue, author: current_user, assignee: assignee, project: project, description: Faker::Lorem.sentence) }
describe 'that are new' do
subject { Notify.new_issue_email(issue.assignee_id, issue.id) }
@@ -162,6 +163,14 @@ describe Notify do
end
end
+ describe 'that are new with a description' do
+ subject { Notify.new_issue_email(issue_with_description.assignee_id, issue_with_description.id) }
+
+ it 'contains the description' do
+ should have_body_text /#{issue_with_description.description}/
+ end
+ end
+
describe 'that have been reassigned' do
subject { Notify.reassigned_issue_email(recipient.id, issue.id, previous_assignee.id, current_user) }
@@ -221,6 +230,7 @@ describe Notify do
context 'for merge requests' do
let(:merge_request) { create(:merge_request, author: current_user, assignee: assignee, source_project: project, target_project: project) }
+ let(:merge_request_with_description) { create(:merge_request, author: current_user, assignee: assignee, source_project: project, target_project: project, description: Faker::Lorem.sentence) }
describe 'that are new' do
subject { Notify.new_merge_request_email(merge_request.assignee_id, merge_request.id) }
@@ -244,6 +254,14 @@ describe Notify do
end
end
+ describe 'that are new with a description' do
+ subject { Notify.new_merge_request_email(merge_request_with_description.assignee_id, merge_request_with_description.id) }
+
+ it 'contains the description' do
+ should have_body_text /#{merge_request_with_description.description}/
+ end
+ end
+
describe 'that are reassigned' do
subject { Notify.reassigned_merge_request_email(recipient.id, merge_request.id, previous_assignee.id, current_user.id) }
@@ -335,10 +353,6 @@ describe Notify do
should deliver_to recipient.email
end
- it 'contains the name of the note\'s author' do
- should have_body_text /#{note_author.name}/
- end
-
it 'contains the message from the note' do
should have_body_text /#{note.note}/
end
@@ -468,6 +482,8 @@ describe Notify do
let(:example_site_path) { root_path }
let(:user) { create(:user) }
let(:compare) { Gitlab::Git::Compare.new(project.repository.raw_repository, 'cd5c4bac', 'b1e6a9db') }
+ let(:commits) { Commit.decorate(compare.commits) }
+ let(:diff_path) { project_compare_path(project, from: commits.first, to: commits.last) }
subject { Notify.repository_push_email(project.id, 'devs@company.name', user.id, 'master', compare) }
@@ -492,5 +508,9 @@ describe Notify do
it 'includes diffs' do
should have_body_text /Checkout wiki pages for installation information/
end
+
+ it 'contains a link to the diff' do
+ should have_body_text /#{diff_path}/
+ end
end
end