debian-mirror-gitlab/app/helpers/emails_helper.rb

70 lines
1.6 KiB
Ruby
Raw Normal View History

2015-04-26 12:48:37 +05:30
module EmailsHelper
2017-08-17 22:00:37 +05:30
include AppearancesHelper
2015-04-26 12:48:37 +05:30
# Google Actions
# https://developers.google.com/gmail/markup/reference/go-to-action
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
end
end
end
def action_title(url)
return unless url
2017-08-17 22:00:37 +05:30
%w(merge_requests issues commit).each do |action|
2015-04-26 12:48:37 +05:30
if url.split("/").include?(action)
return "View #{action.humanize.singularize}"
end
end
2015-12-23 02:04:40 +05:30
nil
2015-04-26 12:48:37 +05:30
end
2015-09-11 14:41:01 +05:30
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
link_tag = link_to('request a new one', new_user_password_url(user_email: @user.email))
msg = "This link is valid for #{password_reset_token_valid_time}. "
msg << "After it expires, you can #{link_tag}."
end
2017-08-17 22:00:37 +05:30
def header_logo
if brand_item && brand_item.header_logo?
image_tag(
brand_item.header_logo,
style: 'height: 50px'
)
else
image_tag(
image_url('mailers/gitlab_header_logo.gif'),
size: "55x50",
alt: "GitLab"
)
end
end
2015-04-26 12:48:37 +05:30
end