mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-18 06:21:25 -05:00
188 lines
5.4 KiB
CoffeeScript
188 lines
5.4 KiB
CoffeeScript
_ = require('underscore')
|
|
|
|
PersonalEmailLayout = require("./Layouts/PersonalEmailLayout")
|
|
NotificationEmailLayout = require("./Layouts/NotificationEmailLayout")
|
|
BaseWithHeaderEmailLayout = require("./Layouts/BaseWithHeaderEmailLayout")
|
|
|
|
SingleCTAEmailBody = require("./Bodies/SingleCTAEmailBody")
|
|
|
|
|
|
settings = require("settings-sharelatex")
|
|
|
|
|
|
|
|
templates = {}
|
|
|
|
|
|
templates.registered =
|
|
subject: _.template "Activate your #{settings.appName} Account"
|
|
layout: PersonalEmailLayout
|
|
type: "notification"
|
|
plainTextTemplate: _.template """
|
|
Congratulations, you've just had an account created for you on #{settings.appName} with the email address "<%= to %>".
|
|
|
|
Click here to set your password and log in: <%= setNewPasswordUrl %>
|
|
|
|
If you have any questions or problems, please contact #{settings.adminEmail}
|
|
"""
|
|
compiledTemplate: _.template """
|
|
<p>Congratulations, you've just had an account created for you on #{settings.appName} with the email address "<%= to %>".</p>
|
|
|
|
<p><a href="<%= setNewPasswordUrl %>">Click here to set your password and log in.</a></p>
|
|
|
|
<p>If you have any questions or problems, please contact <a href="mailto:#{settings.adminEmail}">#{settings.adminEmail}</a>.</p>
|
|
"""
|
|
|
|
|
|
templates.canceledSubscription =
|
|
subject: _.template "ShareLaTeX thoughts"
|
|
layout: PersonalEmailLayout
|
|
type:"lifecycle"
|
|
plainTextTemplate: _.template """
|
|
Hi <%= first_name %>,
|
|
|
|
I'm sorry to see you cancelled your ShareLaTeX premium account. Would you mind giving me some advice on what the site is lacking at the moment via this survey?:
|
|
|
|
https://sharelatex.typeform.com/to/f5lBiZ
|
|
|
|
Thank you in advance.
|
|
|
|
Henry
|
|
|
|
ShareLaTeX Co-founder
|
|
"""
|
|
compiledTemplate: _.template '''
|
|
<p>Hi <%= first_name %>,</p>
|
|
|
|
<p>I'm sorry to see you cancelled your ShareLaTeX premium account. Would you mind giving me some advice on what the site is lacking at the moment via <a href="https://sharelatex.typeform.com/to/f5lBiZ">this survey</a>?</p>
|
|
|
|
<p>Thank you in advance.</p>
|
|
|
|
<p>
|
|
Henry <br>
|
|
ShareLaTeX Co-founder
|
|
</p>
|
|
'''
|
|
|
|
|
|
templates.passwordResetRequested =
|
|
subject: _.template "Password Reset - #{settings.appName}"
|
|
layout: BaseWithHeaderEmailLayout
|
|
type:"notification"
|
|
plainTextTemplate: _.template """
|
|
Password Reset
|
|
|
|
We got a request to reset your #{settings.appName} password.
|
|
|
|
Click this link to reset your password: <%= setNewPasswordUrl %>
|
|
|
|
If you ignore this message, your password won't be changed.
|
|
|
|
If you didn't request a password reset, let us know.
|
|
|
|
Thank you
|
|
|
|
#{settings.appName} - <%= siteUrl %>
|
|
"""
|
|
compiledTemplate: (opts) ->
|
|
SingleCTAEmailBody({
|
|
title: "Password Reset"
|
|
greeting: "Hi,"
|
|
message: "We got a request to reset your #{settings.appName} password."
|
|
secondaryMessage: "If you ignore this message, your password won't be changed.<br>If you didn't request a password reset, let us know."
|
|
ctaText: "Reset password"
|
|
ctaURL: opts.setNewPasswordUrl
|
|
gmailGoToAction: null
|
|
})
|
|
|
|
|
|
templates.projectInvite =
|
|
subject: _.template "<%= project.name.slice(0, 40) %> - shared by <%= owner.email %>"
|
|
layout: BaseWithHeaderEmailLayout
|
|
type:"notification"
|
|
plainTextTemplate: _.template """
|
|
Hi, <%= owner.email %> wants to share '<%= project.name %>' with you.
|
|
|
|
Follow this link to view the project: <%= inviteUrl %>
|
|
|
|
Thank you
|
|
|
|
#{settings.appName} - <%= siteUrl %>
|
|
"""
|
|
compiledTemplate: (opts) ->
|
|
SingleCTAEmailBody({
|
|
title: "#{ opts.project.name.slice(0, 40) } – shared by #{ opts.owner.email }"
|
|
greeting: "Hi,"
|
|
message: "#{ opts.owner.email } wants to share “#{ opts.project.name.slice(0, 40) }” with you."
|
|
secondaryMessage: null
|
|
ctaText: "View project"
|
|
ctaURL: opts.inviteUrl
|
|
gmailGoToAction:
|
|
target: opts.inviteUrl
|
|
name: "View project"
|
|
description: "Join #{ opts.project.name.slice(0, 40) } at ShareLaTeX"
|
|
})
|
|
|
|
templates.completeJoinGroupAccount =
|
|
subject: _.template "Verify Email to join <%= group_name %> group"
|
|
layout: BaseWithHeaderEmailLayout
|
|
type:"notification"
|
|
plainTextTemplate: _.template """
|
|
Hi, please verify your email to join the <%= group_name %> and get your free premium account
|
|
|
|
Click this link to verify now: <%= completeJoinUrl %>
|
|
|
|
Thank You
|
|
|
|
#{settings.appName} - <%= siteUrl %>
|
|
"""
|
|
compiledTemplate: (opts) ->
|
|
SingleCTAEmailBody({
|
|
title: "Verify Email to join #{ opts.group_name } group"
|
|
greeting: "Hi,"
|
|
message: "please verify your email to join the #{ opts.group_name } group and get your free premium account."
|
|
secondaryMessage: null
|
|
ctaText: "Verify now"
|
|
ctaURL: opts.completeJoinUrl
|
|
gmailGoToAction: null
|
|
})
|
|
|
|
|
|
templates.testEmail =
|
|
subject: _.template "A Test Email from ShareLaTeX"
|
|
layout: BaseWithHeaderEmailLayout
|
|
type:"notification"
|
|
plainTextTemplate: _.template """
|
|
Hi,
|
|
|
|
This is a test email sent from ShareLaTeX.
|
|
|
|
#{settings.appName} - <%= siteUrl %>
|
|
"""
|
|
compiledTemplate: (opts) ->
|
|
SingleCTAEmailBody({
|
|
title: "A Test Email from ShareLaTeX"
|
|
greeting: "Hi,"
|
|
message: "This is a test email sent from ShareLaTeX"
|
|
secondaryMessage: null
|
|
ctaText: "Open ShareLaTeX"
|
|
ctaURL: "/"
|
|
gmailGoToAction: null
|
|
})
|
|
|
|
|
|
module.exports =
|
|
templates: templates
|
|
|
|
buildEmail: (templateName, opts)->
|
|
template = templates[templateName]
|
|
opts.siteUrl = settings.siteUrl
|
|
opts.body = template.compiledTemplate(opts)
|
|
if settings.email?.templates?.customFooter?
|
|
opts.body += settings.email?.templates?.customFooter
|
|
return {
|
|
subject : template.subject(opts)
|
|
html: template.layout(opts)
|
|
text: template?.plainTextTemplate?(opts)
|
|
type:template.type
|
|
}
|