Set action on issue/mr creation mail.

This commit is contained in:
Marin Jankovski 2014-11-12 11:59:57 +01:00
parent d65f2bad6c
commit 857852ce04
2 changed files with 24 additions and 12 deletions

View File

@ -2,19 +2,31 @@ module EmailsHelper
# Google Actions
# https://developers.google.com/gmail/markup/reference/go-to-action
def email_action(options)
data = {
"@context" => "http://schema.org",
"@type" => "EmailMessage",
"action" => {
"@type" => "ViewAction",
"name" => options[:name],
"url" => options[:url],
def email_action(url)
name = action_title(url)
if name
data = {
"@context" => "http://schema.org",
"@type" => "EmailMessage",
"action" => {
"@type" => "ViewAction",
"name" => name,
"url" => url,
}
}
}
content_tag :script, type: 'application/ld+json' do
data.to_json.html_safe
content_tag :script, type: 'application/ld+json' do
data.to_json.html_safe
end
end
end
def action_title(url)
return unless url
["merge_requests", "issues", "commit"].each do |action|
if url.split("/").include?(action)
return "View #{action.humanize.singularize}"
end
end
end
end

View File

@ -28,4 +28,4 @@
You're receiving this notification because you are a member of the #{link_to_unless @target_url, @project.name_with_namespace, project_url(@project)} project team.
- if @target_url
#{link_to "View it on GitLab", @target_url}
= email_action name: "View #{@note.noteable_type.underscore.humanize}", url: @target_url
= email_action @target_url