2014-11-11 10:09:58 -05:00
|
|
|
module EmailsHelper
|
2017-02-07 10:06:27 -05:00
|
|
|
include AppearancesHelper
|
|
|
|
|
2014-11-11 10:09:58 -05:00
|
|
|
# Google Actions
|
|
|
|
# https://developers.google.com/gmail/markup/reference/go-to-action
|
2014-11-12 05:59:57 -05:00
|
|
|
def email_action(url)
|
|
|
|
name = action_title(url)
|
|
|
|
if name
|
|
|
|
data = {
|
|
|
|
"@context" => "http://schema.org",
|
|
|
|
"@type" => "EmailMessage",
|
|
|
|
"action" => {
|
|
|
|
"@type" => "ViewAction",
|
|
|
|
"name" => name,
|
2017-05-03 07:22:03 -04:00
|
|
|
"url" => url
|
2014-11-12 05:59:57 -05:00
|
|
|
}
|
2014-11-11 10:09:58 -05:00
|
|
|
}
|
|
|
|
|
2014-11-12 05:59:57 -05:00
|
|
|
content_tag :script, type: 'application/ld+json' do
|
|
|
|
data.to_json.html_safe
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def action_title(url)
|
|
|
|
return unless url
|
2017-02-22 12:46:57 -05:00
|
|
|
%w(merge_requests issues commit).each do |action|
|
2014-11-12 05:59:57 -05:00
|
|
|
if url.split("/").include?(action)
|
|
|
|
return "View #{action.humanize.singularize}"
|
|
|
|
end
|
2014-11-11 10:09:58 -05:00
|
|
|
end
|
2015-11-25 07:53:02 -05:00
|
|
|
|
|
|
|
nil
|
2014-11-11 10:09:58 -05:00
|
|
|
end
|
2015-01-16 08:38:53 -05:00
|
|
|
|
2015-04-27 00:04:33 -04:00
|
|
|
def password_reset_token_valid_time
|
|
|
|
valid_hours = Devise.reset_password_within / 60 / 60
|
|
|
|
if valid_hours >= 24
|
|
|
|
unit = 'day'
|
|
|
|
valid_length = (valid_hours / 24).floor
|
|
|
|
else
|
|
|
|
unit = 'hour'
|
|
|
|
valid_length = valid_hours.floor
|
|
|
|
end
|
|
|
|
|
|
|
|
pluralize(valid_length, unit)
|
|
|
|
end
|
|
|
|
|
|
|
|
def reset_token_expire_message
|
2015-05-13 23:57:16 -04:00
|
|
|
link_tag = link_to('request a new one', new_user_password_url(user_email: @user.email))
|
2015-04-27 00:04:33 -04:00
|
|
|
msg = "This link is valid for #{password_reset_token_valid_time}. "
|
|
|
|
msg << "After it expires, you can #{link_tag}."
|
|
|
|
end
|
2017-02-07 10:06:27 -05:00
|
|
|
|
|
|
|
def header_logo
|
|
|
|
if brand_item && brand_item.header_logo?
|
2017-02-17 04:05:13 -05:00
|
|
|
image_tag(
|
|
|
|
brand_item.header_logo,
|
|
|
|
style: 'height: 50px'
|
|
|
|
)
|
2017-02-07 10:06:27 -05:00
|
|
|
else
|
|
|
|
image_tag(
|
|
|
|
image_url('mailers/gitlab_header_logo.gif'),
|
2017-07-24 13:36:52 -04:00
|
|
|
size: '55x50',
|
|
|
|
alt: 'GitLab'
|
2017-02-07 10:06:27 -05:00
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|
2017-05-10 11:38:37 -04:00
|
|
|
|
|
|
|
def email_default_heading(text)
|
|
|
|
content_tag :h1, text, style: [
|
|
|
|
"font-family:'Helvetica Neue',Helvetica,Arial,sans-serif",
|
|
|
|
'color:#333333',
|
|
|
|
'font-size:18px',
|
|
|
|
'font-weight:400',
|
|
|
|
'line-height:1.4',
|
|
|
|
'padding:0',
|
|
|
|
'margin:0',
|
|
|
|
'text-align:center'
|
|
|
|
].join(';')
|
|
|
|
end
|
2014-11-11 10:09:58 -05:00
|
|
|
end
|