Improving mail design
parent
1c569edd96
commit
db971f7c79
|
@ -7,7 +7,7 @@ settings/celery_local.py
|
|||
database.sqlite
|
||||
logs
|
||||
media
|
||||
static
|
||||
/static
|
||||
*.pyc
|
||||
*.mo
|
||||
.venv
|
||||
|
|
|
@ -16,29 +16,15 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
from djmail import template_mail
|
||||
from djmail.template_mail import TemplateMail
|
||||
from djmail.template_mail import MagicMailBuilder
|
||||
import premailer
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
# Hide CSS warnings messages if debug mode is disable
|
||||
if not getattr(settings, "DEBUG", False):
|
||||
premailer.premailer.cssutils.log.setLevel(logging.CRITICAL)
|
||||
|
||||
|
||||
class InlineCSSTemplateMail(template_mail.TemplateMail):
|
||||
def _render_message_body_as_html(self, context):
|
||||
html = super()._render_message_body_as_html(context)
|
||||
|
||||
# Transform CSS into line style attributes
|
||||
return premailer.transform(html)
|
||||
|
||||
|
||||
class MagicMailBuilder(template_mail.MagicMailBuilder):
|
||||
class MagicMailBuilder(MagicMailBuilder):
|
||||
pass
|
||||
|
||||
|
||||
mail_builder = MagicMailBuilder(template_mail_cls=InlineCSSTemplateMail)
|
||||
mail_builder = MagicMailBuilder(template_mail_cls=TemplateMail)
|
||||
|
|
|
@ -23,7 +23,7 @@ from django.contrib.auth import get_user_model
|
|||
from django.core.management.base import BaseCommand
|
||||
from django.utils import timezone
|
||||
|
||||
from taiga.base.mails import InlineCSSTemplateMail
|
||||
from djmail.template_mail import TemplateMail
|
||||
from taiga.base.mails import mail_builder
|
||||
|
||||
from taiga.projects.models import Project, Membership
|
||||
|
@ -186,7 +186,7 @@ class Command(BaseCommand):
|
|||
break
|
||||
context["snapshot"] = snapshot
|
||||
|
||||
cls = type("InlineCSSTemplateMail", (InlineCSSTemplateMail,), {"name": notification_email[1]})
|
||||
cls = type("TemplateMail", (TemplateMail,), {"name": notification_email[1]})
|
||||
email = cls()
|
||||
email.send(email_address, context)
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
|
@ -1,466 +1,256 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!doctype html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>{{ _("Taiga") }}</title>
|
||||
<title></title>
|
||||
<!--[if !mso]><!-- -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!--<![endif]-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style type="text/css">
|
||||
/* /\/\/\/\/\/\/\/\/ CLIENT-SPECIFIC STYLES /\/\/\/\/\/\/\/\/ */
|
||||
#outlook a{padding:0;} /* Force Outlook to provide a "view in browser" message */
|
||||
.ReadMsgBody{width:100%;} .ExternalClass{width:100%;} /* Force Hotmail to display emails at full width */
|
||||
.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Force Hotmail to display normal line spacing */
|
||||
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;} /* Prevent WebKit and Windows mobile changing default text sizes */
|
||||
table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;} /* Remove spacing between tables in Outlook 2007 and up */
|
||||
img{-ms-interpolation-mode:bicubic;} /* Allow smoother rendering of resized image in Internet Explorer */
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ RESET STYLES /\/\/\/\/\/\/\/\/ */
|
||||
body{margin:0; padding:0;}
|
||||
img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;}
|
||||
table{border-collapse:collapse !important;}
|
||||
body, #bodyTable, #bodyCell{height:100% !important; margin:0; padding:0; width:100% !important;}
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ TEMPLATE STYLES /\/\/\/\/\/\/\/\/ */
|
||||
|
||||
#bodyCell{padding:20px;}
|
||||
#templateContainer{width:600px;}
|
||||
|
||||
/* ========== Page Styles ========== */
|
||||
|
||||
body, #bodyTable{
|
||||
background-color:#f5f5f5;
|
||||
#outlook a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section email border
|
||||
*/
|
||||
#templateContainer{
|
||||
background-color:#FFF;
|
||||
border:1px solid #CDCDCD;
|
||||
.ReadMsgBody {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 1
|
||||
*/
|
||||
h1{
|
||||
color: #6e6e6e !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial;
|
||||
font-size:25px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
.ExternalClass {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ExternalClass * {
|
||||
line-height: 100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/**
|
||||
* @style heading 2
|
||||
*/
|
||||
h2{
|
||||
color: #6e6e6e !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial;
|
||||
font-size:20px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
line-height:100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
/**
|
||||
* @tab Page
|
||||
* @section heading 3
|
||||
*/
|
||||
h3{
|
||||
color:#6e6e6e !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:16px;
|
||||
font-weight:normal;
|
||||
line-height:100%;
|
||||
font-weight:bold;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
table,
|
||||
td {
|
||||
border-collapse: collapse;
|
||||
mso-table-lspace: 0pt;
|
||||
mso-table-rspace: 0pt;
|
||||
}
|
||||
|
||||
/**
|
||||
* @tab Page
|
||||
* @section heading 4
|
||||
*/
|
||||
h4{
|
||||
color:#808080 !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:14px;
|
||||
font-weight:bold;
|
||||
line-height:100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========== Header Styles ========== */
|
||||
|
||||
.headerContent {
|
||||
text-align: center;
|
||||
color:#8D8D8D !important;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:14px;
|
||||
margin-bottom:16px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#headerImage{
|
||||
img {
|
||||
border: 0;
|
||||
height: auto;
|
||||
width:80px;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
/* ========== Body Styles ========== */
|
||||
|
||||
/**
|
||||
* @tab Body
|
||||
* @section body style
|
||||
* @tip Set the background color and borders for your email's body area.
|
||||
*/
|
||||
#templateBody{
|
||||
background-color:#FFF;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body text
|
||||
*/
|
||||
.bodyContent{
|
||||
color:#505050;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:16px;
|
||||
line-height:150%;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
padding-top:20px;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link
|
||||
*/
|
||||
.bodyContent a:link, .bodyContent a:visited, /* Yahoo! Mail Override */ .bodyContent a .yshortcuts /* Yahoo! Mail Override */{
|
||||
color:#699b05;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link button class
|
||||
*/
|
||||
a.button {
|
||||
background: #699b05;
|
||||
color: #fff;
|
||||
display: block;
|
||||
width: 50%;
|
||||
line-height: 100%;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 0 auto 16px;
|
||||
text-transform: uppercase;
|
||||
padding: .8rem 3rem;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
a.button:hover {
|
||||
background: #aad400;
|
||||
p {
|
||||
display: block;
|
||||
margin: 13px 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
border-bottom: 1px solid #e1e1e1;
|
||||
border-top: 0;
|
||||
}
|
||||
|
||||
.bodyContent img{
|
||||
display:inline;
|
||||
height:auto;
|
||||
max-width:560px;
|
||||
}
|
||||
|
||||
.update-row h1,
|
||||
.update-row h2,
|
||||
.update-row h3 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.update-row tr {
|
||||
border-bottom: 1px solid #cdcdcd;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.update-row tr:first-child,
|
||||
.update-row tr:last-child {
|
||||
border-bottom: 3px solid #cdcdcd;
|
||||
}
|
||||
|
||||
.update-row td {
|
||||
padding: 15px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.update-row td.update-row-name {
|
||||
width: 40%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.update-row td.update-row-from {
|
||||
border-bottom: 1px solid #f5f5f5;
|
||||
}
|
||||
|
||||
.social-links {
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:13px;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.social-links a:link, .social-links a:visited{
|
||||
color:#699b05;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
text-align: center;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
/* ========== Footer Styles ========== */
|
||||
|
||||
/**
|
||||
* @section footer style
|
||||
*/
|
||||
#templateFooter{
|
||||
background-color:#555555;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section footer text
|
||||
*/
|
||||
.footerContent{
|
||||
color:#f5f5f5;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:10px;
|
||||
line-height:150%;
|
||||
padding-top:20px;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
/**
|
||||
* @tab Footer
|
||||
* @section footer link
|
||||
* @tip Set the styling for your email's footer links. Choose a color that helps them stand out from your text.
|
||||
*/
|
||||
.footerContent a:link, .footerContent a:visited, /* Yahoo! Mail Override */ .footerContent a .yshortcuts, .footerContent a span /* Yahoo! Mail Override */{
|
||||
/*@editable*/ color:#699b05;
|
||||
/*@editable*/ font-weight:normal;
|
||||
/*@editable*/ text-decoration:underline;
|
||||
}
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ MOBILE STYLES /\/\/\/\/\/\/\/\/ */
|
||||
|
||||
</style>
|
||||
<!--[if !mso]><!-->
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width:480px) {
|
||||
/* /\/\/\/\/\/\/ CLIENT-SPECIFIC MOBILE STYLES /\/\/\/\/\/\/ */
|
||||
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:none !important;} /* Prevent Webkit platforms from changing default text sizes */
|
||||
body{width:100% !important; min-width:100% !important;} /* Prevent iOS Mail from adding padding to the body */
|
||||
|
||||
/* /\/\/\/\/\/\/ MOBILE RESET STYLES /\/\/\/\/\/\/ */
|
||||
#bodyCell{padding:10px !important;}
|
||||
|
||||
/* /\/\/\/\/\/\/ MOBILE TEMPLATE STYLES /\/\/\/\/\/\/ */
|
||||
|
||||
/* ======== Page Styles ======== */
|
||||
|
||||
/**
|
||||
* @section template width
|
||||
*/
|
||||
#templateContainer{
|
||||
max-width:600px !important;
|
||||
@-ms-viewport {
|
||||
width: 320px;
|
||||
}
|
||||
@viewport {
|
||||
width: 320px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<!--<![endif]-->
|
||||
<!--[if mso]>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
<![endif]-->
|
||||
<!--[if lte mso 11]>
|
||||
<style type="text/css">
|
||||
.outlook-group-fix {
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 1
|
||||
*/
|
||||
h1{
|
||||
font-size:18px !important;
|
||||
line-height:100% !important;
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
@media only screen and (min-width:480px) {
|
||||
.mj-column-per-100 {
|
||||
width: 100%!important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 2
|
||||
*/
|
||||
h2{
|
||||
font-size:16px !important;
|
||||
line-height:100% !important;
|
||||
.mj-column-per-80 {
|
||||
width: 80%!important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 3
|
||||
*/
|
||||
h3{
|
||||
font-size:14px !important;
|
||||
line-height:100% !important;
|
||||
}
|
||||
|
||||
|
||||
/* ======== Header Styles ======== */
|
||||
|
||||
#templatePreheader{display:none !important;} /* Hide the template preheader to save space */
|
||||
|
||||
/**
|
||||
* @section header image
|
||||
*/
|
||||
#headerImage{
|
||||
height:auto !important;
|
||||
max-width:600px !important;
|
||||
.mj-column-per-20 {
|
||||
width: 20%!important;
|
||||
}
|
||||
|
||||
/* ======== Body Styles ======== */
|
||||
|
||||
/**
|
||||
* @tab Mobile Styles
|
||||
* @section body image
|
||||
* @tip Make the main body image fluid for portrait or landscape view adaptability, and set the image's original width as the max-width. If a fluid setting doesn't work, set the image width to half its original size instead.
|
||||
*/
|
||||
#bodyImage{
|
||||
height:auto !important;
|
||||
max-width:560px !important;
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body text
|
||||
*/
|
||||
.bodyContent{
|
||||
font-size:16px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link button class
|
||||
*/
|
||||
.bodyContent a.button {
|
||||
font-size:14px !important;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* ======== Footer Styles ======== */
|
||||
|
||||
/**
|
||||
* @section footer text
|
||||
*/
|
||||
.footerContent{
|
||||
font-size:14px !important;
|
||||
line-height:115% !important;
|
||||
}
|
||||
|
||||
.footerContent a{display:block !important;} /* Place footer social and utility links on their own lines, for easier access */
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" alink="#699b05" link="#699b05" bgcolor="#FFFFFF" text="#444444">
|
||||
<center>
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable">
|
||||
|
||||
<body style="background: #F5F5F5;">
|
||||
<div style="background-color:#F5F5F5;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td align="center" valign="top" id="bodyCell">
|
||||
<!-- BEGIN TEMPLATE // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" id="templateContainer">
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]-->
|
||||
<div style="margin:0px auto;max-width:600px;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<!-- BEGIN HEADER // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateHeader">
|
||||
<td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:10px;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:middle;width:600px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-100 outlook-group-fix" style="vertical-align:middle;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="vertical-align:middle;" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top" class="headerContent">
|
||||
<img src="{{ static("emails/top-bg-update.png") }}" />
|
||||
<a href="{{ resolve_front_url("home") }}" title="Taiga">
|
||||
<img src="{{ static("emails/logo-color.png") }}" id="headerImage" alt="Taiga" />
|
||||
</a>
|
||||
</td>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:30px;"><img alt="Taiga logo" title="" height="auto" src="{{ static('emails/taiga-logo-email.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;"
|
||||
width="30"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateBody">
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]-->
|
||||
<div style="margin:0px auto;max-width:600px;background:#fff;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;background:#fff;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top" class="bodyContent">
|
||||
<td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:10px 10px;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:480px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-80 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;padding-bottom:0px;" align="left">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:20px;font-weight:bold;line-height:22px;text-align:left;">
|
||||
{% block title %}{% endblock %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="left">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:14px;line-height:22px;text-align:left;">
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% block social %}
|
||||
<tr>
|
||||
<td valign="top" class="social-links">
|
||||
<a href="{{ sr('social.twitter_url') }}" title="{{ _('Follow us on Twitter') }}" style="color: #9dce0a">{{ _("Twitter") }}</a>
|
||||
<a href="{{ sr('social.github_url') }}" title="{{ _('Get the code on GitHub') }}" style="color: #9dce0a">{{ _("GitHub") }}</a>
|
||||
<a href="{{ sr('taigaio_url') }}" title="{{ _('Visit our website') }}" style="color: #9dce0a">{{ _("Taiga.io") }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endblock %}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- // END HEADER -->
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td><td style="vertical-align:middle;width:120px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-20 outlook-group-fix" style="vertical-align:middle;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="vertical-align:middle;" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:60px;">
|
||||
{% block logo %}{% endblock %}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]-->
|
||||
<div style="margin:0px auto;max-width:600px;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:0px;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:600px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-100 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:9px;line-height:22px;text-align:center;">
|
||||
<a href="#">taiga Support</a>
|
||||
<a href="#">Contact us</a>
|
||||
<a href="#">mailing list</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<!-- BEGIN FOOTER // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateFooter">
|
||||
<tr>
|
||||
<td valign="top" class="footerContent">
|
||||
{% block footer %}
|
||||
{% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %}
|
||||
<strong>Taiga Support:</strong>
|
||||
<a href="{{ support_url }}" title="Support page" style="color: #9dce0a">{{ support_url}}</a>
|
||||
<br>
|
||||
<strong>Contact us:</strong>
|
||||
<a href="mailto:{{ support_email }}" title="Support email" style="color: #9dce0a">
|
||||
{{ support_email }}
|
||||
</a>
|
||||
<br>
|
||||
<strong>Mailing list:</strong>
|
||||
<a href="{{ mailing_list_url }}" title="Mailing list" style="color: #9dce0a">
|
||||
{{ mailing_list_url }}
|
||||
</a>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:9px;line-height:22px;text-align:center;">
|
||||
<p>(ɔ) 2017, Taiga Agile, LLC<br>This mail is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- // END FOOTER -->
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- // END TEMPLATE -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -1,425 +1,125 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<!doctype html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>{{ _("You have been Taigatized") }}</title>
|
||||
<title></title>
|
||||
<!--[if !mso]><!-- -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!--<![endif]-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style type="text/css">
|
||||
#outlook a { padding: 0; }
|
||||
.ReadMsgBody { width: 100%; }
|
||||
.ExternalClass { width: 100%; }
|
||||
.ExternalClass * { line-height:100%; }
|
||||
body { margin: 0; padding: 0; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
|
||||
table, td { border-collapse:collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; }
|
||||
img { border: 0; height: auto; line-height: 100%; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; }
|
||||
p { display: block; margin: 13px 0; }
|
||||
</style>
|
||||
<!--[if !mso]><!-->
|
||||
<style type="text/css">
|
||||
/* /\/\/\/\/\/\/\/\/ CLIENT-SPECIFIC STYLES /\/\/\/\/\/\/\/\/ */
|
||||
#outlook a{padding:0;} /* Force Outlook to provide a "view in browser" message */
|
||||
.ReadMsgBody{width:100%;} .ExternalClass{width:100%;} /* Force Hotmail to display emails at full width */
|
||||
.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Force Hotmail to display normal line spacing */
|
||||
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;} /* Prevent WebKit and Windows mobile changing default text sizes */
|
||||
table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;} /* Remove spacing between tables in Outlook 2007 and up */
|
||||
img{-ms-interpolation-mode:bicubic;} /* Allow smoother rendering of resized image in Internet Explorer */
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ RESET STYLES /\/\/\/\/\/\/\/\/ */
|
||||
body{margin:0; padding:0;}
|
||||
img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;}
|
||||
table{border-collapse:collapse !important;}
|
||||
body, #bodyTable, #bodyCell{height:100% !important; margin:0; padding:0; width:100% !important;}
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ TEMPLATE STYLES /\/\/\/\/\/\/\/\/ */
|
||||
|
||||
#bodyCell{padding:20px;}
|
||||
#templateContainer{width:600px;}
|
||||
|
||||
/* ========== Page Styles ========== */
|
||||
|
||||
body, #bodyTable{
|
||||
background-color:#f5f5f5;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section email border
|
||||
*/
|
||||
#templateContainer{
|
||||
border:1px solid #CDCDCD;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 1
|
||||
*/
|
||||
h1{
|
||||
color: #fff !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial;
|
||||
font-size:25px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
line-height:100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/**
|
||||
* @style heading 2
|
||||
*/
|
||||
h2{
|
||||
color: #8D8D8D !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial;
|
||||
font-size:20px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
line-height:100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 3
|
||||
*/
|
||||
h3{
|
||||
color:#6e6e6e !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:16px;
|
||||
font-weight:normal;
|
||||
line-height:100%;
|
||||
font-weight:bold;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 4
|
||||
*/
|
||||
h4{
|
||||
color:#808080 !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:14px;
|
||||
font-weight:bold;
|
||||
line-height:100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========== Header Styles ========== */
|
||||
|
||||
.headerContent {
|
||||
text-align: center;
|
||||
color:#fff !important;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:14px;
|
||||
margin-bottom:16px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#headerImage{
|
||||
height:auto;
|
||||
width:80px;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
/* ========== Body Styles ========== */
|
||||
|
||||
/**
|
||||
* @section body style
|
||||
*/
|
||||
#templateBody{
|
||||
background-color:#FFF;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body text
|
||||
*/
|
||||
.bodyContent{
|
||||
color:#505050;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:16px;
|
||||
line-height:150%;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
padding-top:20px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link
|
||||
*/
|
||||
.bodyContent a:link, .bodyContent a:visited, /* Yahoo! Mail Override */ .bodyContent a .yshortcuts /* Yahoo! Mail Override */{
|
||||
color:#699b05;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link button class
|
||||
*/
|
||||
.bodyContent a.button {
|
||||
background: #699b05;
|
||||
color: #fff;
|
||||
display: block;
|
||||
width: 50%;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 0 auto 16px;
|
||||
text-transform: uppercase;
|
||||
padding: .8rem 3rem;
|
||||
}
|
||||
|
||||
.bodyContent a.button:hover {
|
||||
background: #aad400;
|
||||
}
|
||||
|
||||
.bodyContent img{
|
||||
display:inline;
|
||||
height:auto;
|
||||
max-width:560px;
|
||||
}
|
||||
|
||||
.social-links {
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:13px;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.social-links a:link, .social-links a:visited{
|
||||
color:#699b05;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
text-align: center;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
/* ========== Footer Styles ========== */
|
||||
|
||||
/**
|
||||
* @section footer style
|
||||
*/
|
||||
#templateFooter{
|
||||
background-color:#555555;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section footer text
|
||||
*/
|
||||
.footerContent{
|
||||
color:#f5f5f5;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:10px;
|
||||
line-height:150%;
|
||||
padding-top:20px;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section footer link
|
||||
*/
|
||||
.footerContent a:link, .footerContent a:visited, /* Yahoo! Mail Override */ .footerContent a .yshortcuts, .footerContent a span /* Yahoo! Mail Override */{
|
||||
color:#699b05;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ MOBILE STYLES /\/\/\/\/\/\/\/\/ */
|
||||
|
||||
@media only screen and (max-width:480px) {
|
||||
/* /\/\/\/\/\/\/ CLIENT-SPECIFIC MOBILE STYLES /\/\/\/\/\/\/ */
|
||||
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:none !important;} /* Prevent Webkit platforms from changing default text sizes */
|
||||
body{width:100% !important; min-width:100% !important;} /* Prevent iOS Mail from adding padding to the body */
|
||||
|
||||
/* /\/\/\/\/\/\/ MOBILE RESET STYLES /\/\/\/\/\/\/ */
|
||||
#bodyCell{padding:10px !important;}
|
||||
|
||||
/* /\/\/\/\/\/\/ MOBILE TEMPLATE STYLES /\/\/\/\/\/\/ */
|
||||
|
||||
/* ======== Page Styles ======== */
|
||||
|
||||
/**
|
||||
* @section template width
|
||||
*/
|
||||
#templateContainer{
|
||||
max-width:600px !important;
|
||||
/*@editable*/ width:100% !important;
|
||||
@-ms-viewport { width:320px; }
|
||||
@viewport { width:320px; }
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 1
|
||||
*/
|
||||
h1{
|
||||
font-size:18px !important;
|
||||
line-height:100% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 2
|
||||
*/
|
||||
h2{
|
||||
font-size:16px !important;
|
||||
line-height:100% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 3
|
||||
*/
|
||||
h3{
|
||||
font-size:14px !important;
|
||||
line-height:100% !important;
|
||||
}
|
||||
|
||||
|
||||
/* ======== Header Styles ======== */
|
||||
|
||||
#templatePreheader{display:none !important;} /* Hide the template preheader to save space */
|
||||
|
||||
/**
|
||||
* @section header image
|
||||
*/
|
||||
#headerImage{
|
||||
height:auto !important;
|
||||
max-width:600px !important;
|
||||
width:20% !important;
|
||||
}
|
||||
|
||||
/* ======== Body Styles ======== */
|
||||
|
||||
/**
|
||||
* @section body image
|
||||
*/
|
||||
#bodyImage{
|
||||
height:auto !important;
|
||||
max-width:560px !important;
|
||||
</style>
|
||||
<!--<![endif]-->
|
||||
<!--[if mso]>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
<![endif]-->
|
||||
<!--[if lte mso 11]>
|
||||
<style type="text/css">
|
||||
.outlook-group-fix {
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body text
|
||||
*/
|
||||
.bodyContent{
|
||||
font-size:16px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link button class
|
||||
*/
|
||||
.bodyContent a.button {
|
||||
font-size:14px !important;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* ======== Footer Styles ======== */
|
||||
|
||||
/**
|
||||
* @section footer text
|
||||
*/
|
||||
.footerContent{
|
||||
font-size:14px !important;
|
||||
line-height:115% !important;
|
||||
}
|
||||
|
||||
.footerContent a{display:block !important;} /* Place footer social and utility links on their own lines, for easier access */
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
@media only screen and (min-width:480px) {
|
||||
.mj-column-per-100 { width:100%!important; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" alink="#699b05" link="#699b05" bgcolor="#FFFFFF" text="#444444">
|
||||
<center>
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable">
|
||||
<body style="background: #F5F5F5;">
|
||||
<div style="background-color:#F5F5F5;"><!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td align="center" valign="top" id="bodyCell">
|
||||
<!-- BEGIN TEMPLATE // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" id="templateContainer">
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]--><div style="margin:0px auto;max-width:600px;"><table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;" align="center" border="0"><tbody><tr><td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:10px;"><!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:middle;width:600px;">
|
||||
<![endif]--><div class="mj-column-per-100 outlook-group-fix" style="vertical-align:middle;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;"><table role="presentation" cellpadding="0" cellspacing="0" style="vertical-align:middle;" width="100%" border="0"><tbody><tr><td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center"><table role="presentation" cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center" border="0"><tbody><tr><td style="width:60px;"><img alt="Taiga logo" title="" height="auto" src="{{ static('emails/taiga-logo-email.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60"></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<!-- BEGIN HEADER // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateHeader">
|
||||
<tr>
|
||||
<td valign="top" class="headerContent" background="{{ static("emails/top-bg-hero.png") }}" style="background-position: center center">
|
||||
<a href="{{ resolve_front_url("home") }}" title="Taiga">
|
||||
<img src="{{ static("emails/logo.png") }}" id="headerImage" alt="Taiga" />
|
||||
</a>
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]--><div style="margin:0px auto;max-width:600px;background:#fff;"><table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;background:#fff;" align="center" border="0"><tbody><tr><td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:10px 10px;"><!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:600px;">
|
||||
<![endif]--><div class="mj-column-per-100 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;"><table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0"><tbody><tr><td style="word-break:break-word;font-size:0px;padding:10px 25px;padding-bottom:0px;" align="center"><div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:20px;font-weight:bold;line-height:22px;text-align:center;">
|
||||
{% trans %}
|
||||
<h1>You have been Taigatized!</h1>
|
||||
<p>Welcome to Taiga, an Open Source, Agile Project Management Tool</p>
|
||||
You have been Taigatized!
|
||||
{% endtrans %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- // END HEADER -->
|
||||
</td>
|
||||
</tr>
|
||||
</div></td></tr><tr><td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center"><div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:14px;line-height:22px;text-align:center;">
|
||||
{% trans %}
|
||||
Welcome to Taiga, an Open Source, Agile Project Management Tool
|
||||
{% endtrans %}
|
||||
</div></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateBody">
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]--><div style="margin:0px auto;max-width:600px;"><table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;" align="center" border="0"><tbody><tr><td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:0px;"><!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:600px;">
|
||||
<![endif]--><div class="mj-column-per-100 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;"><table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0"><tbody><tr><td style="word-break:break-word;font-size:0px;"><div style="font-size:1px;line-height:8px;white-space:nowrap;"> </div></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td valign="top" class="bodyContent">
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]--><div style="margin:0px auto;max-width:600px;background:#fff;"><table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;background:#fff;" align="center" border="0"><tbody><tr><td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:20px 0px;"><!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:600px;">
|
||||
<![endif]--><div class="mj-column-per-100 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;"><table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0"><tbody><tr><td style="word-break:break-word;font-size:0px;padding:10px 25px;padding-bottom:0px;" align="left"><div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:16px;font-weight:bold;line-height:22px;text-align:left;">
|
||||
{% block title %}{% endblock %}
|
||||
</div></td></tr><tr><td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="left"><div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:14px;line-height:22px;text-align:left;">
|
||||
{% block body %}{% endblock %}
|
||||
</td>
|
||||
</tr>
|
||||
{% block social %}
|
||||
</div></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td valign="top" class="social-links">
|
||||
<a href="{{ sr("social.twitter_url") }}" title="{{ _("Follow us on Twitter") }}" style="color: #9dce0a">{{ _("Twitter") }}</a>
|
||||
<a href="{{ sr("social.github_url") }}" title="{{ _("Get the code on GitHub") }}" style="color: #9dce0a">{{ _("GitHub") }}</a>
|
||||
<a href="{{ sr("taigaio_url") }}" title="{{ _("Visit our website") }}" style="color: #9dce0a">{{ _("Taiga.io") }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endblock %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<!-- BEGIN FOOTER // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateFooter">
|
||||
|
||||
<tr>
|
||||
<td valign="top" class="footerContent">
|
||||
{% block footer %}
|
||||
{% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %}
|
||||
<strong>Taiga Support:</strong>
|
||||
<a href="{{ support_url }}" title="Support page" style="color: #9dce0a">{{ support_url}}</a>
|
||||
<br>
|
||||
<strong>Contact us:</strong>
|
||||
<a href="mailto:{{ support_email }}" title="Support email" style="color: #9dce0a">
|
||||
{{ support_email }}
|
||||
</a>
|
||||
<br>
|
||||
<strong>Mailing list:</strong>
|
||||
<a href="{{ mailing_list_url }}" title="Mailing list" style="color: #9dce0a">
|
||||
{{ mailing_list_url }}
|
||||
</a>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- // END FOOTER -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- // END TEMPLATE -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]--><div style="margin:0px auto;max-width:600px;"><table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;" align="center" border="0"><tbody><tr><td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:0px;"><!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:600px;">
|
||||
<![endif]--><div class="mj-column-per-100 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;"><table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0"><tbody><tr><td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center"><div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:9px;line-height:22px;text-align:center;">
|
||||
{% block footer %}{% endblock %}
|
||||
</div></td></tr><tr><td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center"><div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:9px;line-height:22px;text-align:center;">
|
||||
<a href="#">taiga Support</a>
|
||||
<a href="#">Contact us</a>
|
||||
<a href="#">mailing list</a>
|
||||
</div></td></tr><tr><td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center"><div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:9px;line-height:22px;text-align:center;">
|
||||
<p>(ɔ) 2017, Taiga Agile, LLC<br>This mail is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License</p>
|
||||
</div></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]--></td></tr></tbody></table></div><!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]--></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,487 +1,354 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!doctype html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>{{ _("[Taiga] Updates") }}</title>
|
||||
<title></title>
|
||||
<!--[if !mso]><!-- -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<!--<![endif]-->
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style type="text/css">
|
||||
/* /\/\/\/\/\/\/\/\/ CLIENT-SPECIFIC STYLES /\/\/\/\/\/\/\/\/ */
|
||||
#outlook a{padding:0;} /* Force Outlook to provide a "view in browser" message */
|
||||
.ReadMsgBody{width:100%;} .ExternalClass{width:100%;} /* Force Hotmail to display emails at full width */
|
||||
.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Force Hotmail to display normal line spacing */
|
||||
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;} /* Prevent WebKit and Windows mobile changing default text sizes */
|
||||
table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;} /* Remove spacing between tables in Outlook 2007 and up */
|
||||
img{-ms-interpolation-mode:bicubic;} /* Allow smoother rendering of resized image in Internet Explorer */
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ RESET STYLES /\/\/\/\/\/\/\/\/ */
|
||||
body{margin:0; padding:0;}
|
||||
img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;}
|
||||
table{border-collapse:collapse !important;}
|
||||
body, #bodyTable, #bodyCell{height:100% !important; margin:0; padding:0; width:100% !important;}
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ TEMPLATE STYLES /\/\/\/\/\/\/\/\/ */
|
||||
|
||||
#bodyCell{padding:20px;}
|
||||
#templateContainer{width:600px;}
|
||||
|
||||
/* ========== Page Styles ========== */
|
||||
|
||||
body, #bodyTable{
|
||||
background-color:#f5f5f5;
|
||||
#outlook a {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section email border
|
||||
*/
|
||||
#templateContainer{
|
||||
background-color:#FFF;
|
||||
border:1px solid #CDCDCD;
|
||||
.ReadMsgBody {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 1
|
||||
*/
|
||||
h1{
|
||||
color: #6e6e6e !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial;
|
||||
font-size:25px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
.ExternalClass {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ExternalClass * {
|
||||
line-height: 100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/**
|
||||
* @style heading 2
|
||||
*/
|
||||
h2{
|
||||
color: #6e6e6e !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial;
|
||||
font-size:20px;
|
||||
font-style:normal;
|
||||
font-weight:bold;
|
||||
line-height:100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
/**
|
||||
* @tab Page
|
||||
* @section heading 3
|
||||
*/
|
||||
h3{
|
||||
color:#6e6e6e !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:16px;
|
||||
font-weight:normal;
|
||||
line-height:100%;
|
||||
font-weight:bold;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:center;
|
||||
table,
|
||||
td {
|
||||
border-collapse: collapse;
|
||||
mso-table-lspace: 0pt;
|
||||
mso-table-rspace: 0pt;
|
||||
}
|
||||
|
||||
/**
|
||||
* @tab Page
|
||||
* @section heading 4
|
||||
*/
|
||||
h4{
|
||||
color:#808080 !important;
|
||||
display:block;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:14px;
|
||||
font-weight:bold;
|
||||
line-height:100%;
|
||||
letter-spacing:normal;
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
margin-bottom:16px;
|
||||
margin-left:0;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========== Header Styles ========== */
|
||||
|
||||
.headerContent {
|
||||
text-align: center;
|
||||
color:#8D8D8D !important;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:14px;
|
||||
margin-bottom:16px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#headerImage{
|
||||
img {
|
||||
border: 0;
|
||||
height: auto;
|
||||
width:80px;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
/* ========== Body Styles ========== */
|
||||
|
||||
/**
|
||||
* @tab Body
|
||||
* @section body style
|
||||
* @tip Set the background color and borders for your email's body area.
|
||||
*/
|
||||
#templateBody{
|
||||
background-color:#FFF;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body text
|
||||
*/
|
||||
.bodyContent{
|
||||
color:#505050;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:16px;
|
||||
line-height:150%;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
padding-top:20px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link
|
||||
*/
|
||||
.bodyContent a:link, .bodyContent a:visited, /* Yahoo! Mail Override */ .bodyContent a .yshortcuts /* Yahoo! Mail Override */{
|
||||
color:#699b05;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link button class
|
||||
*/
|
||||
a.button {
|
||||
background: #699b05;
|
||||
color: #fff;
|
||||
display: block;
|
||||
width: 50%;
|
||||
line-height: 100%;
|
||||
outline: none;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 0 auto 16px;
|
||||
text-transform: uppercase;
|
||||
padding: .8rem 3rem;
|
||||
-ms-interpolation-mode: bicubic;
|
||||
}
|
||||
|
||||
a.button:hover {
|
||||
background: #aad400;
|
||||
p {
|
||||
display: block;
|
||||
margin: 13px 0;
|
||||
}
|
||||
|
||||
.bodyContent img{
|
||||
display:inline;
|
||||
height:auto;
|
||||
max-width:560px;
|
||||
}
|
||||
|
||||
.update-row h1,
|
||||
.update-row h2,
|
||||
.update-row h3 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.update-row tr {
|
||||
border-bottom: 1px solid #cdcdcd;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.update-row tr:first-child,
|
||||
.update-row tr:last-child {
|
||||
border-bottom: 3px solid #cdcdcd;
|
||||
}
|
||||
|
||||
.update-row td {
|
||||
padding: 15px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.update-row td.update-row-name {
|
||||
width: 40%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.update-row td.update-row-from {
|
||||
border-bottom: 1px solid #f5f5f5;
|
||||
}
|
||||
|
||||
.social-links {
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:13px;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.social-links a:link, .social-links a:visited{
|
||||
color:#699b05;
|
||||
font-weight:normal;
|
||||
text-decoration:underline;
|
||||
text-align: center;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
/* ========== Footer Styles ========== */
|
||||
|
||||
/**
|
||||
* @section footer style
|
||||
*/
|
||||
#templateFooter{
|
||||
background-color:#555555;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section footer text
|
||||
*/
|
||||
.footerContent{
|
||||
color:#f5f5f5;
|
||||
font-family: 'Open Sans', Arial, Helvetica;
|
||||
font-size:10px;
|
||||
line-height:150%;
|
||||
padding-top:20px;
|
||||
padding-right:20px;
|
||||
padding-bottom:20px;
|
||||
padding-left:20px;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
/**
|
||||
* @tab Footer
|
||||
* @section footer link
|
||||
* @tip Set the styling for your email's footer links. Choose a color that helps them stand out from your text.
|
||||
*/
|
||||
.footerContent a:link, .footerContent a:visited, /* Yahoo! Mail Override */ .footerContent a .yshortcuts, .footerContent a span /* Yahoo! Mail Override */{
|
||||
/*@editable*/ color:#699b05;
|
||||
/*@editable*/ font-weight:normal;
|
||||
/*@editable*/ text-decoration:underline;
|
||||
}
|
||||
|
||||
/* /\/\/\/\/\/\/\/\/ MOBILE STYLES /\/\/\/\/\/\/\/\/ */
|
||||
|
||||
</style>
|
||||
<!--[if !mso]><!-->
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width:480px) {
|
||||
/* /\/\/\/\/\/\/ CLIENT-SPECIFIC MOBILE STYLES /\/\/\/\/\/\/ */
|
||||
body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:none !important;} /* Prevent Webkit platforms from changing default text sizes */
|
||||
body{width:100% !important; min-width:100% !important;} /* Prevent iOS Mail from adding padding to the body */
|
||||
|
||||
/* /\/\/\/\/\/\/ MOBILE RESET STYLES /\/\/\/\/\/\/ */
|
||||
#bodyCell{padding:10px !important;}
|
||||
|
||||
/* /\/\/\/\/\/\/ MOBILE TEMPLATE STYLES /\/\/\/\/\/\/ */
|
||||
|
||||
/* ======== Page Styles ======== */
|
||||
|
||||
/**
|
||||
* @section template width
|
||||
*/
|
||||
#templateContainer{
|
||||
max-width:600px !important;
|
||||
@-ms-viewport {
|
||||
width: 320px;
|
||||
}
|
||||
@viewport {
|
||||
width: 320px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<!--<![endif]-->
|
||||
<!--[if mso]>
|
||||
<xml>
|
||||
<o:OfficeDocumentSettings>
|
||||
<o:AllowPNG/>
|
||||
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||
</o:OfficeDocumentSettings>
|
||||
</xml>
|
||||
<![endif]-->
|
||||
<!--[if lte mso 11]>
|
||||
<style type="text/css">
|
||||
.outlook-group-fix {
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 1
|
||||
*/
|
||||
h1{
|
||||
font-size:18px !important;
|
||||
line-height:100% !important;
|
||||
</style>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
@media only screen and (min-width:480px) {
|
||||
.mj-column-per-100 {
|
||||
width: 100%!important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 2
|
||||
*/
|
||||
h2{
|
||||
font-size:16px !important;
|
||||
line-height:100% !important;
|
||||
.mj-column-per-80 {
|
||||
width: 80%!important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section heading 3
|
||||
*/
|
||||
h3{
|
||||
font-size:14px !important;
|
||||
line-height:100% !important;
|
||||
}
|
||||
|
||||
|
||||
/* ======== Header Styles ======== */
|
||||
|
||||
#templatePreheader{display:none !important;} /* Hide the template preheader to save space */
|
||||
|
||||
/**
|
||||
* @section header image
|
||||
*/
|
||||
#headerImage{
|
||||
height:auto !important;
|
||||
max-width:600px !important;
|
||||
.mj-column-per-20 {
|
||||
width: 20%!important;
|
||||
}
|
||||
|
||||
/* ======== Body Styles ======== */
|
||||
|
||||
/**
|
||||
* @tab Mobile Styles
|
||||
* @section body image
|
||||
* @tip Make the main body image fluid for portrait or landscape view adaptability, and set the image's original width as the max-width. If a fluid setting doesn't work, set the image width to half its original size instead.
|
||||
*/
|
||||
#bodyImage{
|
||||
height:auto !important;
|
||||
max-width:560px !important;
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body text
|
||||
*/
|
||||
.bodyContent{
|
||||
font-size:16px !important;
|
||||
line-height:125% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* @section body link button class
|
||||
*/
|
||||
.bodyContent a.button {
|
||||
font-size:14px !important;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* ======== Footer Styles ======== */
|
||||
|
||||
/**
|
||||
* @section footer text
|
||||
*/
|
||||
.footerContent{
|
||||
font-size:14px !important;
|
||||
line-height:115% !important;
|
||||
}
|
||||
|
||||
.footerContent a{display:block !important;} /* Place footer social and utility links on their own lines, for easier access */
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" alink="#699b05" link="#699b05" bgcolor="#FFFFFF" text="#444444">
|
||||
<center>
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="bodyTable">
|
||||
|
||||
<body style="background: #F5F5F5;">
|
||||
<div style="background-color:#F5F5F5;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td align="center" valign="top" id="bodyCell">
|
||||
<!-- BEGIN TEMPLATE // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" id="templateContainer">
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]-->
|
||||
<div style="margin:0px auto;max-width:600px;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<!-- BEGIN HEADER // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateHeader">
|
||||
<td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:10px;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:middle;width:600px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-100 outlook-group-fix" style="vertical-align:middle;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="vertical-align:middle;" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top" class="headerContent">
|
||||
<img src="{{ static("emails/top-bg-update.png") }}" />
|
||||
<a href="{{ resolve_front_url("home") }}"
|
||||
title="Taiga">
|
||||
<img src="{{ static("emails/logo-color.png") }}" id="headerImage" alt="Taiga" />
|
||||
</a>
|
||||
{% block head %}
|
||||
{% endblock %}
|
||||
</td>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:30px;"><img alt="Taiga logo" title="" height="auto" src="{{ static('emails/taiga-logo-email.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;"
|
||||
width="30"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- // END HEADER -->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]-->
|
||||
<div style="margin:0px auto;max-width:600px;background:#fff;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;background:#fff;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:10px 10px;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:480px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-80 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;padding-bottom:0px;" align="left">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:20px;font-weight:bold;line-height:22px;text-align:left;">
|
||||
{% block title %}{% endblock %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<!-- BEGIN BODY // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateBody">
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="left">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:14px;line-height:22px;text-align:left;">
|
||||
{% block head %}{% endblock %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td><td style="vertical-align:middle;width:120px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-20 outlook-group-fix" style="vertical-align:middle;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="vertical-align:middle;" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td valign="top" class="bodyContent">
|
||||
<table class="update-row" border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:60px;">
|
||||
{% block logo %}{% endblock %}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]-->
|
||||
<div style="margin:0px auto;max-width:600px;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:0px;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:600px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-100 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;">
|
||||
<div style="font-size:1px;line-height:8px;white-space:nowrap;"> </div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]-->
|
||||
<div style="margin:0px auto;max-width:600px;background:#fff;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;background:#fff;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:20px 0px;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:600px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-100 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;padding-bottom:0px;" align="left">
|
||||
{% block body %}
|
||||
<tr>
|
||||
<th colspan="2"><h2>{{ _("Updates") }}</h2></th>
|
||||
</tr>
|
||||
{% for entry in history_entries%}
|
||||
{% if entry.comment %}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
{% trans comment=mdrender(project, entry.comment) %}
|
||||
<h3>comment:</h3>
|
||||
<p>{{ comment }}</p>
|
||||
{% endtrans %}
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:16px;font-weight:bold;line-height:22px;text-align:left;">
|
||||
{{ _("Updates") }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% set changed_fields = entry.values_diff %}
|
||||
{% if changed_fields %}
|
||||
{% for entry in history_entries%} {% if entry.comment %} {% trans comment=mdrender(project, entry.comment) %}
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;padding-bottom:0px;" align="left">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:14px;font-weight:bold;line-height:22px;text-align:left;">
|
||||
Comment
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;padding-bottom:0px;" align="left">
|
||||
<div style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:12px;line-height:22px;text-align:left;">
|
||||
<blockquote>{{ comment }}</blockquote>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endtrans %} {% endif %} {% set changed_fields = entry.values_diff %} {% if changed_fields %}
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;padding-bottom:0px;" align="left">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:12px;line-height:22px;text-align:left;">
|
||||
{% include "emails/includes/fields_diff-html.jinja" %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% block social %}
|
||||
{% endif %} {% endfor %}{% endblock %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="600" align="center" style="width:600px;">
|
||||
<tr>
|
||||
<td valign="top" class="social-links">
|
||||
<a href="{{ sr("social.twitter_url") }}" title="{{ _("Follow us on Twitter") }}" style="color: #9dce0a">{{ _("Twitter") }}</a>
|
||||
<a href="{{ sr("social.github_url") }}" title="{{ _("Get the code on GitHub") }}" style="color: #9dce0a">{{ _("GitHub") }}</a>
|
||||
<a href="{{ sr("taigaio_url") }}" title="{{ _("Visit our website") }}" style="color: #9dce0a">{{ _("Taiga.io") }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endblock %}
|
||||
</table>
|
||||
<!-- // END BODY -->
|
||||
<td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;">
|
||||
<![endif]-->
|
||||
<div style="margin:0px auto;max-width:600px;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" style="font-size:0px;width:100%;" align="center" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align:center;vertical-align:top;direction:ltr;font-size:0px;padding:0px;">
|
||||
<!--[if mso | IE]>
|
||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;width:600px;">
|
||||
<![endif]-->
|
||||
<div class="mj-column-per-100 outlook-group-fix" style="vertical-align:top;display:inline-block;direction:ltr;font-size:13px;text-align:left;width:100%;">
|
||||
<table role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:9px;line-height:22px;text-align:center;">
|
||||
<a href="#">taiga Support</a>
|
||||
<a href="#">Contact us</a>
|
||||
<a href="#">mailing list</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top">
|
||||
<!-- BEGIN FOOTER // -->
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateFooter">
|
||||
<tr>
|
||||
<td valign="top" class="footerContent">
|
||||
{% block footer %}
|
||||
{% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %}
|
||||
<strong>Taiga Support:</strong>
|
||||
<a href="{{ support_url }}" title="Support page" style="color: #9dce0a">{{ support_url}}</a>
|
||||
<br>
|
||||
<strong>Contact us:</strong>
|
||||
<a href="mailto:{{ support_email }}" title="Support email" style="color: #9dce0a">
|
||||
{{ support_email }}
|
||||
</a>
|
||||
<br>
|
||||
<strong>Mailing list:</strong>
|
||||
<a href="{{ mailing_list_url }}" title="Mailing list" style="color: #9dce0a">
|
||||
{{ mailing_list_url }}
|
||||
</a>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
<td style="word-break:break-word;font-size:0px;padding:10px 25px;" align="center">
|
||||
<div class="" style="cursor:auto;color:#6e6e6e;font-family:Sans;font-size:9px;line-height:22px;text-align:center;">
|
||||
<p>(ɔ) 2017, Taiga Agile, LLC<br>This mail is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- // END FOOTER -->
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- // END TEMPLATE -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
</div>
|
||||
<!--[if mso | IE]>
|
||||
</td></tr></table>
|
||||
<![endif]-->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -1,13 +1,21 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Project dump generated
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), project=project.name, url=url, deletion_date=deletion_date|date("SHORT_DATETIME_FORMAT") + deletion_date|date(" T") %}
|
||||
<h1>Project dump generated</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<h3>Your dump from project {{ project }} has been correctly generated.</h3>
|
||||
<p>You can download it here:</p>
|
||||
<a class="button" href="{{ url }}" title="Download the dump file">Download the dump file</a>
|
||||
<p>This file will be deleted on {{ deletion_date }}.</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> Your dump from project <strong>{{ project }}</strong> has been correctly generated.<br>
|
||||
<a href="{{ url }}" style="color:#72a114;" title="Download the dump file">Download the dump file</a> </p>
|
||||
<p><small>This file will be deleted on {{ deletion_date }}.</small></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,12 +1,23 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
{% trans error_message=error_message %}
|
||||
{{ error_message }}
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), error_message=error_message, support_email=sr("support.email"), project=project.name %}
|
||||
<h1>{{ error_message }}</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<p>Your project {{ project }} has not been exported correctly.</p>
|
||||
<p>Hello {{ user }}, <br> Your project <strong>{{ project }}</strong> has not been exported correctly.</p>
|
||||
<p>The Taiga system administrators have been informed.<br/> Please, try it again or contact with the support team at
|
||||
<a href="mailto:{{ support_email }}" title="Support email" style="color: #699b05">{{ support_email }}</a></p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,12 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), error_message=error_message, support_email=sr("support.email") %}
|
||||
<h1>{{ error_message }}</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<p>Your project has not been importer correctly.</p>
|
||||
<p>The Taiga system administrators have been informed.<br/> Please, try it again or contact with the support team at
|
||||
<a href="mailto:{{ support_email }}" title="Support email" style="color: #699b05">{{ support_email }}</a></p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
{% block logo %}
|
||||
<img alt="Taiga" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
{% trans error_message=error_message %}
|
||||
{{ error_message }}
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), support_email=sr("support.email") %}
|
||||
<p>Hello {{ user }}, <br> Your project has not been imported correctly.</p>
|
||||
<p>The Taiga system administrators have been informed.<br/> Please, try it again or contact with the support team at
|
||||
<a href="mailto:{{ support_email }}" title="Support email" style="color: #699b05">{{ support_email }}</a></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,21 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Project dump imported
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), url=resolve_front_url("project", project.slug), project=project.name %}
|
||||
<h1>Project dump imported</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<h3>Your project dump has been correctly imported.</h3>
|
||||
<a class="button" href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
|
||||
<p>Hello {{ user }}, <br> Your project dump has been correctly imported.</p>
|
||||
<p><a style="color:#72a114;" class="button" href="{{ url }}" title="Go to the project {{ project }}">Go to <strong>{{ project }}</strong></a></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,8 +1,15 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
<img alt="Taiga" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Feedback
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans full_name=feedback_entry.full_name, email=feedback_entry.email %}
|
||||
<h1>Feedback</h1>
|
||||
<p>Taiga has received feedback from {{ full_name }} <{{ email }}></p>
|
||||
{% endtrans %}
|
||||
|
||||
|
@ -12,9 +19,9 @@
|
|||
{% endtrans %}
|
||||
|
||||
{% if extra %}
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="templateBody">
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td valign="top" valign="top" class="bodyContent">
|
||||
<td valign="top" valign="top">
|
||||
<h3>{{ _("Extra info") }}</h3>
|
||||
<dl>
|
||||
{% for k, v in extra.items() %}
|
||||
|
@ -26,4 +33,5 @@
|
|||
</tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Asana Project imported
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), url=resolve_front_url("project", project.slug), project=project.name %}
|
||||
<h1>Asana Project imported</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<h3>Your Asana project has been correctly imported.</h3>
|
||||
<a class="button" href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> Your project <strong>{{ project }}</strong> from Asana has been correctly imported.</p>
|
||||
<p><a href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Github Project imported
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), url=resolve_front_url("project", project.slug), project=project.name %}
|
||||
<h1>GitHub Project imported</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<h3>Your GitHub project has been correctly imported.</h3>
|
||||
<a class="button" href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> Your project <strong>{{ project }}</strong> from Github has been correctly imported.</p>
|
||||
<p><a href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,12 +1,20 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), error_message=error_message, support_email=sr("support.email") %}
|
||||
<h1>{{ error_message }}</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<p>Your project has not been importer correctly.</p>
|
||||
<p>The Taiga system administrators have been informed.<br/> Please, try it again or contact with the support team at
|
||||
<a href="mailto:{{ support_email }}" title="Support email" style="color: #699b05">{{ support_email }}</a></p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
{% block logo %}
|
||||
<img alt="Taiga" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
{% trans error_message=error_message %}
|
||||
{{ error_message }}
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), support_email=sr("support.email") %}
|
||||
<p>Hello {{ user }}, <br> Your project has not been importer correctly.</p>
|
||||
<p>The Taiga system administrators have been informed.<br/> Please, try it again or contact with the support team at
|
||||
<a href="mailto:{{ support_email }}" title="Support email" style="color: #699b05">{{ support_email }}</a>
|
||||
</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Jira Project imported
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), url=resolve_front_url("project", project.slug), project=project.name %}
|
||||
<h1>Jira Project imported</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<h3>Your Jira project has been correctly imported.</h3>
|
||||
<a class="button" href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> Your project <strong>{{ project }}</strong> from Jira has been correctly imported.</p>
|
||||
<p><a href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Trello Project imported
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), url=resolve_front_url("project", project.slug), project=project.name %}
|
||||
<h1>Trello Project imported</h1>
|
||||
<p>Hello {{ user }},</p>
|
||||
<h3>Your Trello project has been correctly imported.</h3>
|
||||
<a class="button" href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> Your project <strong>{{ project }}</strong> from Trello has been correctly imported.</p>
|
||||
<p><a href="{{ url }}" title="Go to the project {{ project }}">Go to {{ project }}</a></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,24 +1,23 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block body %}
|
||||
<p>
|
||||
{% if photo_url %}
|
||||
<a href="{{ user_profile_url }}" title="{{ full_name }}" >
|
||||
<img style="vertical-align:middle;" src="{{ photo_url }}" alt="{{ full_name }}" width="60"/>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% trans full_name=full_name, user_profile_url=user_profile_url, project_name=project_name %}
|
||||
<a style="font-weight: bold;text-decoration:none;color:#222;" href="{{ user_profile_url }}" title="{{ full_name }}">{{ full_name }}</a> has written to {{ project_name }}
|
||||
{% endtrans %}
|
||||
</p>
|
||||
|
||||
<p>{{ comment }}</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>
|
||||
{% trans project_name=project_name, project_settings_url=project_settings_url %}
|
||||
You are receiving this message because you are listed as administrator of the project titled {{ project_name }}. If you don't want members of the Taiga community contacting your project, please <a href="{{ project_settings_url }}">update your project settings</a> to prevent such contacts. Regular communications amongst members of the project will not be affected.
|
||||
{% endtrans %}
|
||||
</p>
|
||||
{% block logo %}
|
||||
<img alt="Taiga" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Message from {{ full_name }}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
{% trans full_name=full_name, user_profile_url=user_profile_url, project_name=project_name %}
|
||||
<p><a style="font-weight: bold;text-decoration:none;color:#222;" href="{{ user_profile_url }}" title="{{ full_name }}">{{ full_name }}</a> has written to {{ project_name }}</p>
|
||||
{% endtrans %}
|
||||
|
||||
<q>{{ comment }}</q>
|
||||
|
||||
{% trans project_name=project_name, project_settings_url=project_settings_url %}
|
||||
<p><small>You are receiving this message because you are listed as administrator of the project titled {{ project_name }}. If you don't want members of the Taiga community contacting your project, please <a href="{{ project_settings_url }}">update your project settings</a> to prevent such contacts. Regular communications amongst members of the project will not be affected.</small></p>
|
||||
{% endtrans %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -20,49 +20,36 @@
|
|||
{# POINTS #}
|
||||
{% if field_name == "points" %}
|
||||
{% for role, points in values.items() %}
|
||||
<tr>
|
||||
<td valign="middle" rowspan="2" class="update-row-name">
|
||||
<h3>{% trans role=role %}{{ role }} role points{% endtrans %}</h3>
|
||||
</td>
|
||||
<td valign="top" class="update-row-from">
|
||||
<span>{{ _("from") }}</span><br>
|
||||
<strong>{{ points.0 }}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<span>{{ _("to") }}</span><br>
|
||||
<strong>{{ points.1 }}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<ul>
|
||||
<li>
|
||||
<span>{{ _("from") }}</span> <strong>{{ points.0 }}</strong>
|
||||
</li>
|
||||
<li>
|
||||
<span>{{ _("to") }}</span> <strong>{{ points.1 }}</strong>
|
||||
</li>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
|
||||
{# ATTACHMENTS #}
|
||||
{% elif field_name == "attachments" %}
|
||||
{% if values.new %}
|
||||
{% for att in values['new']%}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<h3>{{ _("Added new attachment") }}</h3>
|
||||
<p>
|
||||
<a href="{{ att.url }}" target="_blank">
|
||||
{{ att.filename }}
|
||||
</a>
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="{{ att.url }}" target="_blank">{{ att.filename }}</a></li>
|
||||
{% if att.description %}
|
||||
<p>{{ att.description }}</p>
|
||||
<li>{{ att.description }}</li>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if values.changed %}
|
||||
{% for att in values['changed'] %}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<h3>{{ _("Updated attachment") }}</h3>
|
||||
<p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="{{ att.url }}" target="_blank">
|
||||
{{ att.filename|linebreaksbr }}
|
||||
{% if att.changes.is_deprecated %}
|
||||
|
@ -73,22 +60,21 @@
|
|||
{% endif %}
|
||||
{% endif %}
|
||||
</a>
|
||||
</p>
|
||||
</li>
|
||||
{% if att.changes.description %}
|
||||
<p>{{ att.changes.description.1 }}</p>
|
||||
<li>
|
||||
{{ att.changes.description.1 }}
|
||||
</li>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if values.deleted %}
|
||||
{% for att in values['deleted']%}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<h3>{{ _("Deleted attachment") }}</h3>
|
||||
<p>{{ att.filename|linebreaksbr }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<ul>
|
||||
<li>{{ att.filename|linebreaksbr }}</li>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{# TAGS AND WATCHERS #}
|
||||
|
@ -98,140 +84,90 @@
|
|||
{% set values_added = lists_diff(values_to, values_from) %}
|
||||
{% set values_removed = lists_diff(values_from, values_to) %}
|
||||
|
||||
<tr>
|
||||
<td valign="middle" class="update-row-name">
|
||||
<h3>{{ verbose_name(obj_class, field_name) }}</h3>
|
||||
</td>
|
||||
<td valign="top" class="update-row-from">
|
||||
<ul>
|
||||
<li>
|
||||
{% if values_added %}
|
||||
<span>{{ _("added") }}</span><br>
|
||||
<strong>{{ ', '.join(values_added) }}</strong>
|
||||
<span>{{ _("added") }}</span> <strong>{{ ', '.join(values_added) }}</strong>
|
||||
{% endif %}
|
||||
|
||||
{% if values_removed %}
|
||||
<span>{{ _("removed") }}</span><br>
|
||||
<strong>{{ ', '.join(values_removed) }}</strong>
|
||||
<span>{{ _("removed") }}</span> <strong>{{ ', '.join(values_removed) }}</strong>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
{# DESCRIPTIONS, CONTENT, BLOCKED_NOTE #}
|
||||
{% elif field_name in ["description_diff", "content_diff", "blocked_note_diff"] %}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<h3>{{ verbose_name(obj_class, field_name) }}</h3>
|
||||
<p>{{ mdrender(project, values.1) }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<ul>
|
||||
<li>{{ mdrender(project, values.1) }}</li>
|
||||
</ul>
|
||||
{# ASSIGNED TO #}
|
||||
{% elif field_name == "assigned_to" %}
|
||||
<tr>
|
||||
<td valign="middle" rowspan="2" class="update-row-name">
|
||||
<h3>{{ verbose_name(obj_class, field_name) }}</h3>
|
||||
</td>
|
||||
<td valign="top" class="update-row-from">
|
||||
<ul>
|
||||
<li>
|
||||
{% if values.0 != None and values.0 != "" %}
|
||||
<span>{{ _("from") }}</span><br>
|
||||
<strong>{{ values.0 }}</strong>
|
||||
<span>{{ _("from") }}</span> <strong>{{ values.0 }}</strong>
|
||||
{% else %}
|
||||
<span>{{ _("from") }}</span><br>
|
||||
<strong>{{ _("Unassigned") }}</strong>
|
||||
<span>{{ _("from") }}</span> <strong>{{ _("Unassigned") }}</strong>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
</li>
|
||||
<li>
|
||||
{% if values.1 != None and values.1 != "" %}
|
||||
<span>{{ _("to") }}</span><br>
|
||||
<strong>{{ values.1 }}</strong>
|
||||
<span>{{ _("to") }}</span> <strong>{{ values.1 }}</strong>
|
||||
{% else %}
|
||||
<span>{{ _("to") }}</span><br>
|
||||
<strong>{{ _("Unassigned") }}</strong>
|
||||
<span>{{ _("to") }}</span> <strong>{{ _("Unassigned") }}</strong>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</li>
|
||||
</ul>
|
||||
{# * #}
|
||||
{% else %}
|
||||
<tr>
|
||||
<td valign="middle" rowspan="2" class="update-row-name">
|
||||
<h3>{{ verbose_name(obj_class, field_name) }}</h3>
|
||||
</td>
|
||||
<td valign="top" class="update-row-from">
|
||||
<span>{{ _("from") }}</span><br>
|
||||
<strong>{{ values.0|linebreaksbr }}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<span>{{ _("to") }}</span><br>
|
||||
<strong>{{ values.1|linebreaksbr }}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<ul>
|
||||
<li><span>{{ _("from") }}</span> <strong>{{ values.0|linebreaksbr }}</strong></li>
|
||||
<li><span>{{ _("to") }}</span> <strong>{{ values.1|linebreaksbr }}</strong></li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% elif field_name == "custom_attributes" %}
|
||||
{# CUSTOM ATTRIBUTES #}
|
||||
{% if values.new %}
|
||||
{% for attr in values['new']%}
|
||||
<h3>{{ attr.name }}</h3>
|
||||
<ul>
|
||||
{% if attr.type == "richtext" %}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<h3>{{ attr.name }}</h3>
|
||||
<p>{{ mdrender(project, attr.value_diff) }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<li>{{ mdrender(project, attr.value_diff) }}</li>
|
||||
{% else %}
|
||||
<tr>
|
||||
<td valign="middle" rowspan="2" class="update-row-name">
|
||||
<h3>{{ attr.name }}</h3>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<span>{{ _("to") }}</span><br>
|
||||
<strong>{{ attr.value|linebreaksbr }}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<li><span>{{ _("to") }}</span> <strong>{{ attr.value|linebreaksbr }}</strong></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if values.changed %}
|
||||
{% for attr in values['changed'] %}
|
||||
{% if attr.changes.value%}
|
||||
<h3>{{ attr.name }}</h3>
|
||||
<ul>
|
||||
{% if attr.type == "richtext" %}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<h3>{{ attr.name }}</h3>
|
||||
<p>{{ mdrender(project, attr.value_diff) }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<li>{{ mdrender(project, attr.value_diff) }}</li>
|
||||
{% else %}
|
||||
<tr>
|
||||
<td valign="middle" rowspan="2" class="update-row-name">
|
||||
<h3>{{ attr.name }}</h3>
|
||||
</td>
|
||||
<td valign="top" class="update-row-from">
|
||||
<span>{{ _("from") }}</span><br>
|
||||
<strong>{{ attr.changes.value.0|linebreaksbr }}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<span>{{ _("to") }}</span><br>
|
||||
<strong>{{ attr.changes.value.1|linebreaksbr }}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<li><span>{{ _("from") }}</span> <strong>{{ attr.changes.value.0|linebreaksbr }}</strong></li>
|
||||
<li><span>{{ _("to") }}</span> <strong>{{ attr.changes.value.1|linebreaksbr }}</strong></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if values.deleted %}
|
||||
{% for attr in values['deleted']%}
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<h3>{{ attr.name }}</h3>
|
||||
<p>{{ _("-deleted-") }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<ul>
|
||||
<li>
|
||||
{{ _("-deleted-") }}
|
||||
</li>
|
||||
</ul>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
|
|
@ -54,6 +54,8 @@ from taiga.timeline.service import build_project_namespace
|
|||
|
||||
from . import choices
|
||||
|
||||
from .services import get_logo_small_thumbnail_url, get_logo_big_thumbnail_url
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
|
||||
|
@ -433,6 +435,14 @@ class Project(ProjectDefaults, TaggedMixin, TagsColorsMixin, models.Model):
|
|||
def project(self):
|
||||
return self
|
||||
|
||||
@property
|
||||
def logo_small_thumbnail_url(self):
|
||||
return get_logo_small_thumbnail_url(self)
|
||||
|
||||
@property
|
||||
def logo_big_thumbnail_url(self):
|
||||
return get_logo_big_thumbnail_url(self)
|
||||
|
||||
def _get_q_watchers(self):
|
||||
return Q(notify_policies__project_id=self.id) & ~Q(notify_policies__notify_level=NotifyLevel.none)
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ from django.conf import settings
|
|||
from django.utils.translation import ugettext as _
|
||||
|
||||
from taiga.base import exceptions as exc
|
||||
from taiga.base.mails import InlineCSSTemplateMail
|
||||
from djmail.template_mail import TemplateMail
|
||||
from taiga.projects.notifications.choices import NotifyLevel
|
||||
from taiga.projects.history.choices import HistoryType
|
||||
from taiga.projects.history.services import (make_key_from_model_object,
|
||||
|
@ -200,8 +200,8 @@ def _make_template_mail(name: str):
|
|||
instance for specified name, and return an instance
|
||||
of it.
|
||||
"""
|
||||
cls = type("InlineCSSTemplateMail",
|
||||
(InlineCSSTemplateMail,),
|
||||
cls = type("TemplateMail",
|
||||
(TemplateMail,),
|
||||
{"name": name})
|
||||
|
||||
return cls()
|
||||
|
|
|
@ -1,10 +1,21 @@
|
|||
{% extends "emails/updates-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Epic updated
|
||||
{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject, url=resolve_front_url("epic", project.slug, snapshot.ref) %}
|
||||
<h1>Epic updated</h1>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated a epic on {{ project }}</p>
|
||||
<p>Epic #{{ ref }} {{ subject }}</p>
|
||||
<a class="button" href="{{ url }}" title="See Epic #{{ ref }}: {{ subject }} in Taiga">See epic</a>
|
||||
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated epic <a style="color: #72a114" href="{{ url }}" title="See Epic #{{ ref }} {{ subject }} in Taiga">#{{ ref }} {{ subject }}</a> on {{ project }}</p>
|
||||
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
New epic created
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject, url=resolve_front_url("epic", project.slug, snapshot.ref) %}
|
||||
<h1>New epic created</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has created a new epic on {{ project }}</p>
|
||||
<p>Epic #{{ ref }} {{ subject }}</p>
|
||||
<a class="button" href="{{ url }}" title="See Epic #{{ ref }} {{ subject }}">See epic</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has created a new epic <strong><a style="color:#72a114;" href="{{ url }}" title="See epic #{{ ref }} {{ subject }}">#{{ ref }} {{ subject }}</a></strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Epic deleted
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject %}
|
||||
<h1>Epic deleted</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has deleted a epic on {{ project }}</p>
|
||||
<p>Epic #{{ ref }} {{ subject }}</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has deleted the epic <strong>#{{ ref }} {{ subject }}</strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,10 +1,21 @@
|
|||
{% extends "emails/updates-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Issue updated
|
||||
{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject, url=resolve_front_url("issue", project.slug, snapshot.ref) %}
|
||||
<h1>Issue updated</h1>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated an issue on {{ project }}</p>
|
||||
<p>Issue #{{ ref }} {{ subject }}</p>
|
||||
<a class="button" href="{{ url }}" title="See Issue #{{ ref }}: {{ subject }} in Taiga">See issue</a>
|
||||
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated issue <a style="color: #72a114" href="{{ url }}" title="See Issue #{{ ref }} {{ subject }} in Taiga"><strong>#{{ ref }} {{ subject }}</strong></a> on {{ project }}</p>
|
||||
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
New issue created
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject, url=resolve_front_url("issue", project.slug, snapshot.ref) %}
|
||||
<h1>New issue created</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has created a new issue on {{ project }}</p>
|
||||
<p>Issue #{{ ref }} {{ subject }}</p>
|
||||
<a class="button" href="{{ url }}" title="See Issue #{{ ref }} {{ subject }}">See issue</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has created a new issue <strong><a style="color:#72a114;" href="{{ url }}" title="See Issue #{{ ref }} {{ subject }}">#{{ ref }} {{ subject }}</a></strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Issue deleted
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject %}
|
||||
<h1>Issue deleted</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has deleted an issue on {{ project }}</p>
|
||||
<p>Issue #{{ ref }} {{ subject }}</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has deleted the issue <strong>#{{ ref }} {{ subject }}</strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,10 +1,21 @@
|
|||
{% extends "emails/updates-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Sprint updated
|
||||
{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, name=snapshot.name, url=resolve_front_url("taskboard", project.slug, snapshot.slug) %}
|
||||
<h1>Sprint updated</h1>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated an sprint on {{ project }}</p>
|
||||
<p>Sprint {{ name }}</p>
|
||||
<a class="button" href="{{ url }}" title="See Sprint: {{ name }} in Taiga">See sprint</a>
|
||||
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated sprint <a style="color: #72a114;" href="{{ url }}" title="See Sprint {{ name }} in Taiga"><strong>{{ name }}</strong></a> on {{ project }}</p>
|
||||
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
New sprint created
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, name=snapshot.name, url=resolve_front_url("taskboard", project.slug, snapshot.slug) %}
|
||||
<h1>New sprint created</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has created a new sprint on {{ project }}</p>
|
||||
<p>Sprint {{ name }}</p>
|
||||
<a class="button" href="{{ url }}" title="See Sprint {{ name }}">See sprint</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has created a new sprint <strong><a style="color:#72a114;" href="{{ url }}" title="See sprint {{ name }}">{{ name }}</a></strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Sprint deleted
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, name=snapshot.name %}
|
||||
<h1>Sprint deleted</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has deleted an sprint on {{ project }}</p>
|
||||
<p>Sprint {{ name }}</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has deleted the sprint <strong>{{ name }}</strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,10 +1,21 @@
|
|||
{% extends "emails/updates-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Task updated
|
||||
{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject, url=resolve_front_url("task", project.slug, snapshot.ref) %}
|
||||
<h1>Task updated</h1>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated a task on {{ project }}</p>
|
||||
<p>Task #{{ ref }} {{ subject }}</p>
|
||||
<a class="button" href="{{ url }}" title="See Task #{{ ref }}: {{ subject }} in Taiga">See task</a>
|
||||
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated task <a style="color: #72a114;" href="{{ url }}" title="See Task #{{ ref }} {{ subject }}"><strong>#{{ ref }} {{ subject }}</strong></a> on {{ project }}</p>
|
||||
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
New task created
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject, url=resolve_front_url("task", project.slug, snapshot.ref) %}
|
||||
<h1>New task created</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has created a new task on {{ project }}</p>
|
||||
<p>Task #{{ ref }} {{ subject }}</p>
|
||||
<a class="button" href="{{ url }}" title="See Task #{{ ref }} {{ subject }}">See task</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has created a new task <strong><a style="color:#72a114;" href="{{ url }}" title="See TasK #{{ ref }} {{ subject }}">#{{ ref }} {{ subject }}</a></strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Task deleted
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject %}
|
||||
<h1>Task deleted</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has deleted a task on {{ project }}</p>
|
||||
<p>Task #{{ ref }} {{ subject }}</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has deleted the task <strong>#{{ ref }} {{ subject }}</strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,10 +1,21 @@
|
|||
{% extends "emails/updates-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
User story updated
|
||||
{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject, url=resolve_front_url("userstory", project.slug, snapshot.ref) %}
|
||||
<h1>User Story updated</h1>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated a user story on {{ project }}</p>
|
||||
<p>User Story #{{ ref }} {{ subject }}</p>
|
||||
<a class="button" href="{{ url }}" title="See User Story #{{ ref }}: {{ subject }} in Taiga">See user story</a>
|
||||
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated user story <a style="color: #72a114;" href="{{ url }}" title="See Task #{{ ref }} {{ subject }}"><strong>#{{ ref }} {{ subject }}</strong></a> on {{ project }}</p>
|
||||
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
New user story created
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject, url=resolve_front_url("userstory", project.slug, snapshot.ref) %}
|
||||
<h1>New user story created</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has created a new user story on {{ project }}</p>
|
||||
<p>User Story #{{ ref }} {{ subject }}</p>
|
||||
<a class="button" href="{{ url }}" title="See User Story #{{ ref }} {{ subject }}">See user story</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has created a new user story <strong><a style="color:#72a114;" href="{{ url }}" title="See user story #{{ ref }} {{ subject }}">#{{ ref }} {{ subject }}</a></strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
User Story deleted
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, ref=snapshot.ref, subject=snapshot.subject %}
|
||||
<h1>User Story deleted</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has deleted a user story on {{ project }}</p>
|
||||
<p>User Story #{{ ref }} {{ subject }}</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has deleted the user story <strong>#{{ ref }} {{ subject }}</strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,10 +1,21 @@
|
|||
{% extends "emails/updates-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Wiki page updated
|
||||
{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, page=snapshot.slug, url=resolve_front_url("wiki", project.slug, snapshot.slug) %}
|
||||
<h1>Wiki Page updated</h1>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated a wiki page on {{ project }}</p>
|
||||
<p>Wiki page {{ page }}</p>
|
||||
<a class="button" href="{{ url }}" title="See wiki page in Taiga">See Wiki Page</a>
|
||||
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has updated wiki page <a style="color: #72a114;" href="{{ url }}" title="See wiki page {{ page }}"><strong>{{ page }}</strong></a> on {{ project }}</p>
|
||||
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
New wiki page created
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, page=snapshot.slug, url=resolve_front_url("wiki", project.slug, snapshot.slug) %}
|
||||
<h1>New wiki page created</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has created a new wiki page on {{ project }}</p>
|
||||
<p>Wiki page {{ page }}</p>
|
||||
<a class="button" href="{{ url }}" title="Wiki page {{ page }}">See wiki page</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has created a new wiki page <strong><a style="color:#72a114;" href="{{ url }}" title="See wiki page {{ page }}">{{ page }}</a></strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Wiki page deleted
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans user=user.get_full_name(), changer=changer.get_full_name(), project=project.name, page=snapshot.slug %}
|
||||
<h1>Wiki page deleted</h1>
|
||||
<p>Hello {{ user }},<br />{{ changer }} has deleted a wiki page on {{ project }}</p>
|
||||
<p>Wiki page {{ page }}</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> {{ changer }} has deleted the wiki page <strong>#{{ page }}</strong> on {{ project }}</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,21 +6,31 @@
|
|||
{% set sender_full_name=_("someone") %}
|
||||
{% endif %}
|
||||
|
||||
{% block title %}
|
||||
{% trans %}
|
||||
You have been invited to Taiga!
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans full_name=sender_full_name, project=membership.project %}
|
||||
<h2>You have been invited to Taiga!</h2>
|
||||
<p>Hi! {{ full_name }} has sent you an invitation to join project <em>{{ project }}</em> in Taiga.</br> Taiga is a Free, open Source Agile Project Management Tool.</p>
|
||||
<p>Hi! {{ full_name }} has sent you an invitation to join project <strong>{{ project }}</strong> in Taiga.</p>
|
||||
{% endtrans %}
|
||||
|
||||
{% if membership.invitation_extra_text %}
|
||||
{% trans extra=membership.invitation_extra_text|linebreaksbr %}
|
||||
<p><small>And now a few words from the jolly good fellow or sistren<br/> who thought so kindly as to invite you</small></p>
|
||||
<p><strong>{{ extra }}</strong></p>
|
||||
<p>And now a few words from the jolly good fellow or sistren who thought so kindly as to invite you</p>
|
||||
<blockquote>{{ extra }}</blockquote>
|
||||
{% endtrans %}
|
||||
{% endif %}
|
||||
|
||||
<a class="button" href="{{ resolve_front_url("invitation", membership.token) }}"
|
||||
<a style="color:#72a114;" href="{{ resolve_front_url("invitation", membership.token) }}"
|
||||
title="{{ _("Accept your invitation to Taiga") }}">{{ _("Accept your invitation") }}</a>
|
||||
<p><small>{{ _("The Taiga Team") }}</small></p>
|
||||
{% endblock %}
|
||||
|
||||
{% block footer %}
|
||||
{{ super() }}
|
||||
{% trans url=resolve_front_url('cancel-account', cancel_token) %}
|
||||
You may remove your account from this service <a href="{{ url }}" title="Remove your account" style="color: #72a114">clicking here</a>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
<img alt="Taiga logo" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
You have been added to a project
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans url=resolve_front_url("project", membership.project.slug), full_name=membership.user.get_full_name(), project=membership.project %}
|
||||
<h1>You have been added to a project</h1>
|
||||
<p>Hello {{ full_name }},<br />you have been added to the project {{ project }}</p>
|
||||
<a class="button" href="{{ url }}" title="Go to{{ project }}">Go to project</a>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
|
||||
<p>Hello {{ full_name }}, <br> you have been added to the project <a style="color:#72a114;" href="{{ url }}" title="Go to {{ project }}"><strong>{{project}}</strong></a></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,17 +1,31 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Ownership transfer accepted
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans old_owner_name=old_owner.get_full_name(), new_owner_name=new_owner.get_full_name(), project_name=project.name %}
|
||||
<p>Hi {{old_owner_name}},</p>
|
||||
<p>{{ new_owner_name}} has accepted your offer and will become the new project owner for "{{project_name}}".</p>
|
||||
|
||||
<p>Hello {{ old_owner_name }}, <br> {{ new_owner_name}} has accepted your offer and will become the new project owner of <strong> {{project}} </strong></p>
|
||||
{% endtrans %}
|
||||
{% if reason %}
|
||||
{% trans new_owner_name=new_owner.get_full_name()%}
|
||||
<p>{{ new_owner_name }} says:</p>
|
||||
{% endtrans %}
|
||||
|
||||
{% if reason %}
|
||||
{% trans new_owner_name=new_owner.get_full_name()%}<p>{{ new_owner_name }} says:</p>{% endtrans %}
|
||||
<p>{{reason}}</p>
|
||||
<blockquote>{{reason}}</blockquote>
|
||||
{% endif %}
|
||||
|
||||
{% trans %}
|
||||
<p>From now on, your new status for this project will be "admin".</p>
|
||||
<p>From now on, your new status for this project will be <strong>admin</strong>.</p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,24 +1,33 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Ownership transfer declined
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans owner_name=project.owner.get_full_name(), rejecter_name=rejecter.get_full_name(), project_name=project.name %}
|
||||
<p>Hi {{ owner_name }},</p>
|
||||
<p>{{ rejecter_name }} has declined your offer and will not become the new project owner for "{{project_name}}".</p>
|
||||
|
||||
<p>Hello {{ owner_name }}, <br> {{ rejecter_name}} has declined your offer and will not become the new project owner of <strong> {{project_name}} </strong></p>
|
||||
{% endtrans %}
|
||||
|
||||
{% if reason %}
|
||||
{% trans rejecter_name=rejecter.get_full_name()%}
|
||||
<p>{{ rejecter_name }} says:</p>
|
||||
{% endtrans %}
|
||||
<p>{{ reason }}</p>
|
||||
|
||||
<blockquote>{{reason}}</blockquote>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% trans %}
|
||||
<p>If you want, you can still try to transfer the project ownership to a different person.</p>
|
||||
{% endtrans %}
|
||||
|
||||
<a class="button" href="{{ resolve_front_url("project-admin", project.slug) }}"
|
||||
title="{% trans %}Request transfer to a different person{% endtrans %}">
|
||||
{% trans %}Request transfer to a different person{% endtrans %}
|
||||
</a>
|
||||
<p>If you want, you can still <a style="color:#72a114;" href="{{ resolve_front_url("project-admin", project.slug) }}"
|
||||
title="{% trans %} Request transfer to a different person{% endtrans %}"> {% trans %}Request transfer to a different person{% endtrans %}</a>
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,15 +1,24 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Ownership transfer requested
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans owner_name=project.owner.get_full_name(), requester_name=requester.get_full_name(), project_name=project.name %}
|
||||
<p>Hi {{owner_name}},</p>
|
||||
<p>{{ requester_name }} has requested to become the project owner for "{{project_name}}".</p>
|
||||
<p>Hello {{ owner_name }}, <br> {{ requester_name}} has requested to become the project owner of <strong> {{project_name}} </strong></p>
|
||||
{% endtrans %}
|
||||
|
||||
{% trans %}
|
||||
<p>Please, click on "Continue" if you would like to start the project transfer from the administration panel.</p>
|
||||
{% endtrans %}
|
||||
|
||||
<a class="button" href="{{ resolve_front_url("project-admin", project.slug) }}"
|
||||
title="{% trans %}Continue{% endtrans %}">{% trans %}Continue{% endtrans %}</a>
|
||||
<a style="color:#72a114;" href="{{ resolve_front_url("project-admin", project.slug) }}"
|
||||
title="{% trans %}Start the project transfer{% endtrans %}">
|
||||
{% trans %}Start the project transfer{% endtrans %}
|
||||
</a>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,23 +1,32 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
{% if project.logo_small_thumbnail_url %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ project.logo_big_thumbnail_url }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% else %}
|
||||
<img alt="{{ project.name }}" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Ownership transfer requested
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans owner_name=project.owner.get_full_name(), receiver_name=receiver.get_full_name(), project_name=project.name %}
|
||||
<p>Hi {{receiver_name}},</p>
|
||||
<p>{{ owner_name }}, the current project owner at "{{project_name}}" would like you to become the new project owner.</p>
|
||||
<p>Hello {{ receiver_name }}, <br> {{ owner_name}} the current project owner of <strong> {{project_name}} </strong> would like you to become the new project owner.</p>
|
||||
{% endtrans %}
|
||||
|
||||
{% if reason %}
|
||||
{% trans owner_name=project.owner.get_full_name() %}
|
||||
<p>{{ owner_name }} says:</p>
|
||||
{% endtrans %}
|
||||
|
||||
<p>{{ reason }}</p>
|
||||
<blockquote>{{ reason }}</blockquote>
|
||||
{% endif %}
|
||||
|
||||
{% trans %}
|
||||
<p>Please, click on "Continue" to either accept or reject this proposal.</p>
|
||||
{% endtrans %}
|
||||
<a style="color:#72a114;" href="{{ resolve_front_url("project-transfer", project.slug, project.transfer_token) }}"
|
||||
title="{{ _("accept or reject this proposal") }}">
|
||||
{% trans %}Accept or reject this proposal{% endtrans %}
|
||||
</a>
|
||||
|
||||
<a class="button" href="{{ resolve_front_url("project-transfer", project.slug, project.transfer_token) }}"
|
||||
title="{{ _("Continue") }}">{{ _("Continue") }}</a>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
<img alt="Taiga" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
{% trans %}
|
||||
Change your email
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans full_name=user.get_full_name(), url=resolve_front_url("change-email", user.email_token) %}
|
||||
<h1>Change your email</h1>
|
||||
<p>Hello {{ full_name }},<br />please confirm your email</p>
|
||||
<a class="button" href="{{ url }}" title="Confirm email">Confirm email</a>
|
||||
<p>You can ignore this message if you did not request.</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
<p>Hello {{ user }}, <br> please <a style="color: #72a114" href="{{ url }}" title="Confirm email">Confirm email</a>.</p>
|
||||
<p><small>You can ignore this message if you did not request.</small></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
{% extends "emails/base-body-html.jinja" %}
|
||||
|
||||
{% block logo %}
|
||||
<img alt="Taiga" title="" height="auto" src="{{ static('emails/logo-color.png') }}" style="border:none;border-radius:;display:block;outline:none;text-decoration:none;width:100%;height:auto;" width="60">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
Recover your password
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans full_name=user.get_full_name(), url=resolve_front_url("change-password", user.token) %}
|
||||
<h1>Recover your password</h1>
|
||||
<p>Hello {{ full_name }}, <br /> you asked to recover your password</p>
|
||||
<a class="button" href="{{ url }}" title="Recover your password">Recover your password</a>
|
||||
<p>You can ignore this message if you did not request.</p>
|
||||
<p><small>The Taiga Team</small></p>
|
||||
|
||||
<p>Hello {{ full_name }}, <br> you asked to recover your password</p>
|
||||
<a style="color:#72a114;" href="{{ url }}" title="Recover your password">Recover your password</a>
|
||||
<p><small>Please, ignore this message if you did not request.</small></p>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,26 +1,21 @@
|
|||
{% extends "emails/hero-body-html.jinja" %}
|
||||
|
||||
{% block body %}
|
||||
<table border="0" width="100%" cellpadding="0" cellspacing="0" class="table-body">
|
||||
<tr>
|
||||
{% block title %}
|
||||
{% trans %}
|
||||
Thank you for registering in Taiga, We hope you enjoy it
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% trans %}
|
||||
<td>
|
||||
<h2>Thank you for registering in Taiga</h2>
|
||||
<h3>We hope you enjoy it</h3>
|
||||
<p>We built Taiga because we wanted the project management tool that sits open on our computers all day long, to serve as a continued reminder of why we love to collaborate, code and design.</p>
|
||||
<p>We built it to be beautiful, elegant, simple to use and fun - without forsaking flexibility and power.</p>
|
||||
<small>The taiga Team</small>
|
||||
</td>
|
||||
{% endtrans %}
|
||||
</tr>
|
||||
</table>
|
||||
{% endblock %}
|
||||
|
||||
{% block footer %}
|
||||
{{ super() }}
|
||||
<br />
|
||||
<br />
|
||||
{% trans url=resolve_front_url('cancel-account', cancel_token) %}
|
||||
<strong>You may remove your account from this service</strong> <a href="{{ url }}" title="Remove your account" style="color: #9dce0a">clicking here</a>
|
||||
You may remove your account from this service <a href="{{ url }}" title="Remove your account" style="color: #9dce0a">clicking here</a>
|
||||
{% endtrans %}
|
||||
{% endblock %}
|
||||
|
|
Loading…
Reference in New Issue