diff --git a/.gitignore b/.gitignore index bfeb4264..08a008ea 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ settings/celery_local.py database.sqlite logs media -static +/static *.pyc *.mo .venv diff --git a/taiga/base/mails.py b/taiga/base/mails.py index 433e945e..3d0770e1 100644 --- a/taiga/base/mails.py +++ b/taiga/base/mails.py @@ -16,29 +16,15 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -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) diff --git a/taiga/base/management/commands/test_emails.py b/taiga/base/management/commands/test_emails.py index 12a2cc06..05d89afb 100644 --- a/taiga/base/management/commands/test_emails.py +++ b/taiga/base/management/commands/test_emails.py @@ -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) diff --git a/taiga/base/static/emails/taiga-logo-email.png b/taiga/base/static/emails/taiga-logo-email.png new file mode 100644 index 00000000..d044c38f Binary files /dev/null and b/taiga/base/static/emails/taiga-logo-email.png differ diff --git a/taiga/base/templates/emails/base-body-html.jinja b/taiga/base/templates/emails/base-body-html.jinja index 9a5fb68b..b4466e70 100644 --- a/taiga/base/templates/emails/base-body-html.jinja +++ b/taiga/base/templates/emails/base-body-html.jinja @@ -1,466 +1,256 @@ - + + - - - - {{ _("Taiga") }} - + + + + + + + - /** - * @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{ - 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%; - text-decoration: none; - text-align: center; - margin: 0 auto 16px; - text-transform: uppercase; - padding: .8rem 3rem; - } - - a.button:hover { - background: #aad400; - } - - 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 /\/\/\/\/\/\/\/\/ */ - - @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; - width:100% !important; - } - - /** - * @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 ======== */ - - /** - * @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 */ - } - - - -
- - - + +
- - - - - + +
- - + +
+ +
+
+ + + - - - - - - - -
+ +
+ + - -
- - - Taiga - + + + + + + + +
Taiga logo
-
- - - - - {% block social %} - - - - {% endblock %} -
- {% block body %}{% endblock %} -
- -
- - - - - -
- {% block footer %} - {% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} - Taiga Support: - {{ support_url}} -
- Contact us: - - {{ support_email }} - -
- Mailing list: - - {{ mailing_list_url }} - - {% endtrans %} - {% endblock %} -
- -
- -
+ + +
-
- + + + +
+ + + + + + +
+ +
+ + + + + + + + + +
+
+ {% block title %}{% endblock %} +
+
+
+ {% block body %}{% endblock %} +
+
+
+ +
+ + + + + + +
+ + + + + + +
+ {% block logo %}{% endblock %} +
+
+
+ +
+
+ + +
+ + + + + + +
+ +
+ + + + + + + + + +
+ +
+
+

(ɔ) 2017, Taiga Agile, LLC
This mail is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

+
+
+
+ +
+
+ + + + diff --git a/taiga/base/templates/emails/hero-body-html.jinja b/taiga/base/templates/emails/hero-body-html.jinja index fb2285f3..a528c139 100644 --- a/taiga/base/templates/emails/hero-body-html.jinja +++ b/taiga/base/templates/emails/hero-body-html.jinja @@ -1,425 +1,125 @@ - - - - - - {{ _("You have been Taigatized") }} - - - -
- - - - -
- - - - - - - - - - - -
- - - - - -
- - Taiga - - {% trans %} -

You have been Taigatized!

-

Welcome to Taiga, an Open Source, Agile Project Management Tool

- {% endtrans %} -
- -
- - - - - {% block social %} - - - - {% endblock %} -
- {% block body %}{% endblock %} -
-
- - - - - - -
- {% block footer %} - {% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} - Taiga Support: - {{ support_url}} -
- Contact us: - - {{ support_email }} - -
- Mailing list: - - {{ mailing_list_url }} - - {% endtrans %} - {% endblock %} -
- -
- -
-
- + + + + + + + + + + + + + + + + + +
Taiga logo
+
+ {% trans %} + You have been Taigatized! + {% endtrans %} +
+ {% trans %} + Welcome to Taiga, an Open Source, Agile Project Management Tool + {% endtrans %} +
+
 
+
+ {% block title %}{% endblock %} +
+ {% block body %}{% endblock %} +
+
+ {% block footer %}{% endblock %} +
+

(ɔ) 2017, Taiga Agile, LLC
This mail is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

+
+ diff --git a/taiga/base/templates/emails/updates-body-html.jinja b/taiga/base/templates/emails/updates-body-html.jinja index f07dbe74..2d506755 100644 --- a/taiga/base/templates/emails/updates-body-html.jinja +++ b/taiga/base/templates/emails/updates-body-html.jinja @@ -1,487 +1,354 @@ - + + - - - - {{ _("[Taiga] Updates") }} - + + + + + + + - /** - * @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{ - 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%; - text-decoration: none; - text-align: center; - margin: 0 auto 16px; - text-transform: uppercase; - padding: .8rem 3rem; - } - - a.button:hover { - background: #aad400; - } - - .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 /\/\/\/\/\/\/\/\/ */ - - @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; - width:100% !important; - } - - /** - * @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 ======== */ - - /** - * @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 */ - } - - - -
- - - - - - - - - +

{% trans role=role %}{{ role }} role points{% endtrans %}

+ {% endfor %} {# ATTACHMENTS #} {% elif field_name == "attachments" %} {% if values.new %} {% for att in values['new']%} - - - +

{{ _("Added new attachment") }}

+ {% endfor %} {% endif %} {% if values.changed %} {% for att in values['changed'] %} - - - +

{{ _("Updated attachment") }}

+ {% endfor %} {% endif %} {% if values.deleted %} {% for att in values['deleted']%} - - - +

{{ _("Deleted attachment") }}

+ {% 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) %} - - - - {# DESCRIPTIONS, CONTENT, BLOCKED_NOTE #} {% elif field_name in ["description_diff", "content_diff", "blocked_note_diff"] %} - - - +

{{ verbose_name(obj_class, field_name) }}

+ {# ASSIGNED TO #} {% elif field_name == "assigned_to" %} - - - - - - - + + {# * #} {% else %} - - - - - - - +

{{ verbose_name(obj_class, field_name) }}

+ {% endif %} {% elif field_name == "custom_attributes" %} {# CUSTOM ATTRIBUTES #} {% if values.new %} {% for attr in values['new']%} +

{{ attr.name }}

+ - - +
  • {{ mdrender(project, attr.value_diff) }}
  • {% else %} - - - - - - +
  • {{ _("to") }} {{ attr.value|linebreaksbr }}
  • {% endif %} + {% endfor %} {% endif %} {% if values.changed %} {% for attr in values['changed'] %} {% if attr.changes.value%} +

    {{ attr.name }}

    + - - +
  • {{ mdrender(project, attr.value_diff) }}
  • {% else %} - - - - - - - +
  • {{ _("from") }} {{ attr.changes.value.0|linebreaksbr }}
  • +
  • {{ _("to") }} {{ attr.changes.value.1|linebreaksbr }}
  • {% endif %} + {% endif %} {% endfor %} {% endif %} {% if values.deleted %} {% for attr in values['deleted']%} - - - +

    {{ attr.name }}

    + {% endfor %} {% endif %} {% endif %} diff --git a/taiga/projects/models.py b/taiga/projects/models.py index f28072ed..c4a898a4 100644 --- a/taiga/projects/models.py +++ b/taiga/projects/models.py @@ -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) diff --git a/taiga/projects/notifications/services.py b/taiga/projects/notifications/services.py index 2e1d6d55..498dd1f3 100644 --- a/taiga/projects/notifications/services.py +++ b/taiga/projects/notifications/services.py @@ -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() diff --git a/taiga/projects/notifications/templates/emails/epics/epic-change-body-html.jinja b/taiga/projects/notifications/templates/emails/epics/epic-change-body-html.jinja index 5c84885d..6aa61515 100644 --- a/taiga/projects/notifications/templates/emails/epics/epic-change-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/epics/epic-change-body-html.jinja @@ -1,10 +1,21 @@ {% extends "emails/updates-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    Epic updated

    -

    Hello {{ user }},
    {{ changer }} has updated a epic on {{ project }}

    -

    Epic #{{ ref }} {{ subject }}

    - See epic + +

    Hello {{ user }},
    {{ changer }} has updated epic #{{ ref }} {{ subject }} on {{ project }}

    + {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/epics/epic-create-body-html.jinja b/taiga/projects/notifications/templates/emails/epics/epic-create-body-html.jinja index 0484ee0b..a441cba5 100644 --- a/taiga/projects/notifications/templates/emails/epics/epic-create-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/epics/epic-create-body-html.jinja @@ -1,11 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    New epic created

    -

    Hello {{ user }},
    {{ changer }} has created a new epic on {{ project }}

    -

    Epic #{{ ref }} {{ subject }}

    - See epic -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has created a new epic #{{ ref }} {{ subject }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/epics/epic-delete-body-html.jinja b/taiga/projects/notifications/templates/emails/epics/epic-delete-body-html.jinja index 0debb545..5632446f 100644 --- a/taiga/projects/notifications/templates/emails/epics/epic-delete-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/epics/epic-delete-body-html.jinja @@ -1,11 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Epic deleted

    -

    Hello {{ user }},
    {{ changer }} has deleted a epic on {{ project }}

    -

    Epic #{{ ref }} {{ subject }}

    -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has deleted the epic #{{ ref }} {{ subject }} on {{ project }}

    {% endtrans %} {% endblock %} - diff --git a/taiga/projects/notifications/templates/emails/issues/issue-change-body-html.jinja b/taiga/projects/notifications/templates/emails/issues/issue-change-body-html.jinja index 47ce994d..fad1aca8 100644 --- a/taiga/projects/notifications/templates/emails/issues/issue-change-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/issues/issue-change-body-html.jinja @@ -1,10 +1,21 @@ {% extends "emails/updates-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    Issue updated

    -

    Hello {{ user }},
    {{ changer }} has updated an issue on {{ project }}

    -

    Issue #{{ ref }} {{ subject }}

    - See issue + +

    Hello {{ user }},
    {{ changer }} has updated issue #{{ ref }} {{ subject }} on {{ project }}

    + {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/issues/issue-create-body-html.jinja b/taiga/projects/notifications/templates/emails/issues/issue-create-body-html.jinja index 5560899a..04a6ba80 100644 --- a/taiga/projects/notifications/templates/emails/issues/issue-create-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/issues/issue-create-body-html.jinja @@ -1,11 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    New issue created

    -

    Hello {{ user }},
    {{ changer }} has created a new issue on {{ project }}

    -

    Issue #{{ ref }} {{ subject }}

    - See issue -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has created a new issue #{{ ref }} {{ subject }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/issues/issue-delete-body-html.jinja b/taiga/projects/notifications/templates/emails/issues/issue-delete-body-html.jinja index 1b20a020..ce931993 100644 --- a/taiga/projects/notifications/templates/emails/issues/issue-delete-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/issues/issue-delete-body-html.jinja @@ -1,10 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Issue deleted

    -

    Hello {{ user }},
    {{ changer }} has deleted an issue on {{ project }}

    -

    Issue #{{ ref }} {{ subject }}

    -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has deleted the issue #{{ ref }} {{ subject }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/milestones/milestone-change-body-html.jinja b/taiga/projects/notifications/templates/emails/milestones/milestone-change-body-html.jinja index 3e350766..0477474b 100644 --- a/taiga/projects/notifications/templates/emails/milestones/milestone-change-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/milestones/milestone-change-body-html.jinja @@ -1,10 +1,21 @@ {% extends "emails/updates-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    Sprint updated

    -

    Hello {{ user }},
    {{ changer }} has updated an sprint on {{ project }}

    -

    Sprint {{ name }}

    - See sprint + +

    Hello {{ user }},
    {{ changer }} has updated sprint {{ name }} on {{ project }}

    + {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/milestones/milestone-create-body-html.jinja b/taiga/projects/notifications/templates/emails/milestones/milestone-create-body-html.jinja index 39de7a4a..da084c39 100644 --- a/taiga/projects/notifications/templates/emails/milestones/milestone-create-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/milestones/milestone-create-body-html.jinja @@ -1,11 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    New sprint created

    -

    Hello {{ user }},
    {{ changer }} has created a new sprint on {{ project }}

    -

    Sprint {{ name }}

    - See sprint -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has created a new sprint {{ name }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/milestones/milestone-delete-body-html.jinja b/taiga/projects/notifications/templates/emails/milestones/milestone-delete-body-html.jinja index 4604ba41..9e4f51e4 100644 --- a/taiga/projects/notifications/templates/emails/milestones/milestone-delete-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/milestones/milestone-delete-body-html.jinja @@ -1,10 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Sprint deleted

    -

    Hello {{ user }},
    {{ changer }} has deleted an sprint on {{ project }}

    -

    Sprint {{ name }}

    -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has deleted the sprint {{ name }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/tasks/task-change-body-html.jinja b/taiga/projects/notifications/templates/emails/tasks/task-change-body-html.jinja index 83093f1f..edaf8440 100644 --- a/taiga/projects/notifications/templates/emails/tasks/task-change-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/tasks/task-change-body-html.jinja @@ -1,10 +1,21 @@ {% extends "emails/updates-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    Task updated

    -

    Hello {{ user }},
    {{ changer }} has updated a task on {{ project }}

    -

    Task #{{ ref }} {{ subject }}

    - See task + +

    Hello {{ user }},
    {{ changer }} has updated task #{{ ref }} {{ subject }} on {{ project }}

    + {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/tasks/task-create-body-html.jinja b/taiga/projects/notifications/templates/emails/tasks/task-create-body-html.jinja index 496c77af..3ab948ae 100644 --- a/taiga/projects/notifications/templates/emails/tasks/task-create-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/tasks/task-create-body-html.jinja @@ -1,11 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    New task created

    -

    Hello {{ user }},
    {{ changer }} has created a new task on {{ project }}

    -

    Task #{{ ref }} {{ subject }}

    - See task -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has created a new task #{{ ref }} {{ subject }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/tasks/task-delete-body-html.jinja b/taiga/projects/notifications/templates/emails/tasks/task-delete-body-html.jinja index 0eb1af1e..1eaafeee 100644 --- a/taiga/projects/notifications/templates/emails/tasks/task-delete-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/tasks/task-delete-body-html.jinja @@ -1,11 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Task deleted

    -

    Hello {{ user }},
    {{ changer }} has deleted a task on {{ project }}

    -

    Task #{{ ref }} {{ subject }}

    -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has deleted the task #{{ ref }} {{ subject }} on {{ project }}

    {% endtrans %} {% endblock %} - diff --git a/taiga/projects/notifications/templates/emails/userstories/userstory-change-body-html.jinja b/taiga/projects/notifications/templates/emails/userstories/userstory-change-body-html.jinja index 0ca026c2..77f7e64e 100644 --- a/taiga/projects/notifications/templates/emails/userstories/userstory-change-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/userstories/userstory-change-body-html.jinja @@ -1,10 +1,21 @@ {% extends "emails/updates-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    User Story updated

    -

    Hello {{ user }},
    {{ changer }} has updated a user story on {{ project }}

    -

    User Story #{{ ref }} {{ subject }}

    - See user story + +

    Hello {{ user }},
    {{ changer }} has updated user story #{{ ref }} {{ subject }} on {{ project }}

    + {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/userstories/userstory-create-body-html.jinja b/taiga/projects/notifications/templates/emails/userstories/userstory-create-body-html.jinja index a1e4a8a1..ead99e8e 100644 --- a/taiga/projects/notifications/templates/emails/userstories/userstory-create-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/userstories/userstory-create-body-html.jinja @@ -1,11 +1,20 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    New user story created

    -

    Hello {{ user }},
    {{ changer }} has created a new user story on {{ project }}

    -

    User Story #{{ ref }} {{ subject }}

    - See user story -

    The Taiga Team

    + +

    Hello {{ user }},
    {{ changer }} has created a new user story #{{ ref }} {{ subject }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-html.jinja b/taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-html.jinja index 1877b3b7..34e4af1d 100644 --- a/taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-html.jinja @@ -1,11 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    User Story deleted

    -

    Hello {{ user }},
    {{ changer }} has deleted a user story on {{ project }}

    -

    User Story #{{ ref }} {{ subject }}

    -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has deleted the user story #{{ ref }} {{ subject }} on {{ project }}

    {% endtrans %} {% endblock %} - diff --git a/taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-html.jinja b/taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-html.jinja index f056254c..21e0efa0 100644 --- a/taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-html.jinja @@ -1,10 +1,21 @@ {% extends "emails/updates-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    Wiki Page updated

    -

    Hello {{ user }},
    {{ changer }} has updated a wiki page on {{ project }}

    -

    Wiki page {{ page }}

    - See Wiki Page + +

    Hello {{ user }},
    {{ changer }} has updated wiki page {{ page }} on {{ project }}

    + {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-html.jinja b/taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-html.jinja index 28b1a0b5..68497c6a 100644 --- a/taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-html.jinja @@ -1,11 +1,20 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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) %} -

    New wiki page created

    -

    Hello {{ user }},
    {{ changer }} has created a new wiki page on {{ project }}

    -

    Wiki page {{ page }}

    - See wiki page -

    The Taiga Team

    + +

    Hello {{ user }},
    {{ changer }} has created a new wiki page {{ page }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-html.jinja b/taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-html.jinja index 291c1cb6..1d34494f 100644 --- a/taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-html.jinja @@ -1,10 +1,19 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Wiki page deleted

    -

    Hello {{ user }},
    {{ changer }} has deleted a wiki page on {{ project }}

    -

    Wiki page {{ page }}

    -

    The Taiga Team

    +

    Hello {{ user }},
    {{ changer }} has deleted the wiki page #{{ page }} on {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/templates/emails/membership_invitation-body-html.jinja b/taiga/projects/templates/emails/membership_invitation-body-html.jinja index a7cafb8b..96ccd8dc 100644 --- a/taiga/projects/templates/emails/membership_invitation-body-html.jinja +++ b/taiga/projects/templates/emails/membership_invitation-body-html.jinja @@ -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 %} -

    You have been invited to Taiga!

    -

    Hi! {{ full_name }} has sent you an invitation to join project {{ project }} in Taiga.
    Taiga is a Free, open Source Agile Project Management Tool.

    +

    Hi! {{ full_name }} has sent you an invitation to join project {{ project }} in Taiga.

    {% endtrans %} {% if membership.invitation_extra_text %} {% trans extra=membership.invitation_extra_text|linebreaksbr %} -

    And now a few words from the jolly good fellow or sistren
    who thought so kindly as to invite you

    -

    {{ extra }}

    +

    And now a few words from the jolly good fellow or sistren who thought so kindly as to invite you

    +
    {{ extra }}
    {% endtrans %} {% endif %} - {{ _("Accept your invitation") }} -

    {{ _("The Taiga Team") }}

    +{% endblock %} + +{% block footer %} + {{ super() }} + {% trans url=resolve_front_url('cancel-account', cancel_token) %} + You may remove your account from this service clicking here + {% endtrans %} {% endblock %} diff --git a/taiga/projects/templates/emails/membership_notification-body-html.jinja b/taiga/projects/templates/emails/membership_notification-body-html.jinja index 03866fa8..6bca3936 100644 --- a/taiga/projects/templates/emails/membership_notification-body-html.jinja +++ b/taiga/projects/templates/emails/membership_notification-body-html.jinja @@ -1,10 +1,16 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + Taiga logo +{% 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 %} -

    You have been added to a project

    -

    Hello {{ full_name }},
    you have been added to the project {{ project }}

    - Go to project -

    The Taiga Team

    + +

    Hello {{ full_name }},
    you have been added to the project {{project}}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/templates/emails/transfer_accept-body-html.jinja b/taiga/projects/templates/emails/transfer_accept-body-html.jinja index 6c8f409e..e4f176ba 100644 --- a/taiga/projects/templates/emails/transfer_accept-body-html.jinja +++ b/taiga/projects/templates/emails/transfer_accept-body-html.jinja @@ -1,17 +1,31 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Hi {{old_owner_name}},

    -

    {{ new_owner_name}} has accepted your offer and will become the new project owner for "{{project_name}}".

    - {% endtrans %} +

    Hello {{ old_owner_name }},
    {{ new_owner_name}} has accepted your offer and will become the new project owner of {{project}}

    + {% endtrans %} {% if reason %} - {% trans new_owner_name=new_owner.get_full_name()%}

    {{ new_owner_name }} says:

    {% endtrans %} -

    {{reason}}

    + {% trans new_owner_name=new_owner.get_full_name()%} +

    {{ new_owner_name }} says:

    + {% endtrans %} + +
    {{reason}}
    {% endif %} {% trans %} -

    From now on, your new status for this project will be "admin".

    +

    From now on, your new status for this project will be admin.

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/templates/emails/transfer_reject-body-html.jinja b/taiga/projects/templates/emails/transfer_reject-body-html.jinja index 982915f7..eca5824e 100644 --- a/taiga/projects/templates/emails/transfer_reject-body-html.jinja +++ b/taiga/projects/templates/emails/transfer_reject-body-html.jinja @@ -1,24 +1,33 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Hi {{ owner_name }},

    -

    {{ rejecter_name }} has declined your offer and will not become the new project owner for "{{project_name}}".

    + +

    Hello {{ owner_name }},
    {{ rejecter_name}} has declined your offer and will not become the new project owner of {{project_name}}

    {% endtrans %} {% if reason %} - {% trans rejecter_name=rejecter.get_full_name()%} -

    {{ rejecter_name }} says:

    - {% endtrans %} -

    {{ reason }}

    + {% trans rejecter_name=rejecter.get_full_name()%} +

    {{ rejecter_name }} says:

    + {% endtrans %} + +
    {{reason}}
    + {% endif %} - {% trans %} -

    If you want, you can still try to transfer the project ownership to a different person.

    - {% endtrans %} - - - {% trans %}Request transfer to a different person{% endtrans %} - +

    If you want, you can still {% trans %}Request transfer to a different person{% endtrans %} +

    {% endblock %} diff --git a/taiga/projects/templates/emails/transfer_request-body-html.jinja b/taiga/projects/templates/emails/transfer_request-body-html.jinja index 3351c382..1e323389 100644 --- a/taiga/projects/templates/emails/transfer_request-body-html.jinja +++ b/taiga/projects/templates/emails/transfer_request-body-html.jinja @@ -1,15 +1,24 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Hi {{owner_name}},

    -

    {{ requester_name }} has requested to become the project owner for "{{project_name}}".

    +

    Hello {{ owner_name }},
    {{ requester_name}} has requested to become the project owner of {{project_name}}

    {% endtrans %} - {% trans %} -

    Please, click on "Continue" if you would like to start the project transfer from the administration panel.

    - {% endtrans %} - - {% trans %}Continue{% endtrans %} + + {% trans %}Start the project transfer{% endtrans %} + {% endblock %} diff --git a/taiga/projects/templates/emails/transfer_start-body-html.jinja b/taiga/projects/templates/emails/transfer_start-body-html.jinja index 06cb70a6..650d5b63 100644 --- a/taiga/projects/templates/emails/transfer_start-body-html.jinja +++ b/taiga/projects/templates/emails/transfer_start-body-html.jinja @@ -1,23 +1,32 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Hi {{receiver_name}},

    -

    {{ owner_name }}, the current project owner at "{{project_name}}" would like you to become the new project owner.

    +

    Hello {{ receiver_name }},
    {{ owner_name}} the current project owner of {{project_name}} would like you to become the new project owner.

    {% endtrans %} {% if reason %} {% trans owner_name=project.owner.get_full_name() %}

    {{ owner_name }} says:

    {% endtrans %} - -

    {{ reason }}

    +
    {{ reason }}
    {% endif %} - {% trans %} -

    Please, click on "Continue" to either accept or reject this proposal.

    - {% endtrans %} + + {% trans %}Accept or reject this proposal{% endtrans %} + - {{ _("Continue") }} {% endblock %} diff --git a/taiga/users/templates/emails/change_email-body-html.jinja b/taiga/users/templates/emails/change_email-body-html.jinja index c1cfd438..f1d8b824 100644 --- a/taiga/users/templates/emails/change_email-body-html.jinja +++ b/taiga/users/templates/emails/change_email-body-html.jinja @@ -1,11 +1,18 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + Taiga +{% 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) %} -

    Change your email

    -

    Hello {{ full_name }},
    please confirm your email

    - Confirm email -

    You can ignore this message if you did not request.

    -

    The Taiga Team

    +

    Hello {{ user }},
    please Confirm email.

    +

    You can ignore this message if you did not request.

    {% endtrans %} {% endblock %} diff --git a/taiga/users/templates/emails/password_recovery-body-html.jinja b/taiga/users/templates/emails/password_recovery-body-html.jinja index bab36a4f..0e427579 100644 --- a/taiga/users/templates/emails/password_recovery-body-html.jinja +++ b/taiga/users/templates/emails/password_recovery-body-html.jinja @@ -1,11 +1,18 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + Taiga +{% endblock %} + +{% block title %} + Recover your password +{% endblock %} + {% block body %} {% trans full_name=user.get_full_name(), url=resolve_front_url("change-password", user.token) %} -

    Recover your password

    -

    Hello {{ full_name }},
    you asked to recover your password

    - Recover your password -

    You can ignore this message if you did not request.

    -

    The Taiga Team

    + +

    Hello {{ full_name }},
    you asked to recover your password

    + Recover your password +

    Please, ignore this message if you did not request.

    {% endtrans %} {% endblock %} diff --git a/taiga/users/templates/emails/registered_user-body-html.jinja b/taiga/users/templates/emails/registered_user-body-html.jinja index 19a87e6e..cbfa8189 100644 --- a/taiga/users/templates/emails/registered_user-body-html.jinja +++ b/taiga/users/templates/emails/registered_user-body-html.jinja @@ -1,26 +1,21 @@ {% extends "emails/hero-body-html.jinja" %} +{% block title %} + {% trans %} + Thank you for registering in Taiga, We hope you enjoy it + {% endtrans %} +{% endblock %} + {% block body %} -
    - - - - + +
    - - + +
    + +
    +
    + + + - - - - + +
    + +
    + + - - -
    - - - Taiga - - {% block head %} - {% endblock %} -
    - -
    - - - - - - - - -
    - - {% block body %} + - {% block social %} - - - - {% endblock %} -
    + + - + - {% for entry in history_entries%} - {% if entry.comment %} - - - - {% endif %} - {% set changed_fields = entry.values_diff %} - {% if changed_fields %} - {% include "emails/includes/fields_diff-html.jinja" %} - {% endif %} - {% endfor %} - {% endblock %} +

    {{ _("Updates") }}

    Taiga logo
    - {% trans comment=mdrender(project, entry.comment) %} -

    comment:

    -

    {{ comment }}

    - {% endtrans %} -
    - -
    - - - - - -
    - {% block footer %} - {% trans support_url=sr("support.url"), support_email=sr("support.email"), mailing_list_url=sr("support.mailing_list") %} - Taiga Support: - {{ support_url}} -
    - Contact us: - - {{ support_email }} - -
    - Mailing list: - - {{ mailing_list_url }} - - {% endtrans %} - {% endblock %} -
    - -
    - -
    + + +
    - - + + + +
    + + + + + + +
    + +
    + + + + + + + + + +
    +
    + {% block title %}{% endblock %} +
    +
    +
    + {% block head %}{% endblock %} +
    +
    +
    + +
    + + + + + + +
    + + + + + + +
    + {% block logo %}{% endblock %} +
    +
    +
    + +
    +
    + + +
    + + + + + + +
    + +
    + + + + + + +
    +
     
    +
    +
    + +
    +
    + + +
    + + + + + + +
    + +
    + + + + + + {% for entry in history_entries%} {% if entry.comment %} {% trans comment=mdrender(project, entry.comment) %} + + + + + + + {% endtrans %} {% endif %} {% set changed_fields = entry.values_diff %} {% if changed_fields %} + + + + {% endif %} {% endfor %}{% endblock %} + + +
    + {% block body %} +
    + {{ _("Updates") }} +
    +
    +
    + Comment +
    +
    +
    +
    {{ comment }}
    +
    +
    +
    + {% include "emails/includes/fields_diff-html.jinja" %} +
    +
    +
    + +
    +
    + + +
    + + + + + + +
    + +
    + + + + + + + + + +
    + +
    +
    +

    (ɔ) 2017, Taiga Agile, LLC
    This mail is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

    +
    +
    +
    + +
    +
    + + + + diff --git a/taiga/export_import/templates/emails/dump_project-body-html.jinja b/taiga/export_import/templates/emails/dump_project-body-html.jinja index 18b234c0..b5e04e70 100644 --- a/taiga/export_import/templates/emails/dump_project-body-html.jinja +++ b/taiga/export_import/templates/emails/dump_project-body-html.jinja @@ -1,13 +1,21 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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") %} -

    Project dump generated

    -

    Hello {{ user }},

    -

    Your dump from project {{ project }} has been correctly generated.

    -

    You can download it here:

    - Download the dump file -

    This file will be deleted on {{ deletion_date }}.

    -

    The Taiga Team

    +

    Hello {{ user }},
    Your dump from project {{ project }} has been correctly generated.
    + Download the dump file

    +

    This file will be deleted on {{ deletion_date }}.

    {% endtrans %} {% endblock %} diff --git a/taiga/export_import/templates/emails/export_error-body-html.jinja b/taiga/export_import/templates/emails/export_error-body-html.jinja index 0ae593e9..514a4903 100644 --- a/taiga/export_import/templates/emails/export_error-body-html.jinja +++ b/taiga/export_import/templates/emails/export_error-body-html.jinja @@ -1,12 +1,23 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    {{ error_message }}

    -

    Hello {{ user }},

    -

    Your project {{ project }} has not been exported correctly.

    +

    Hello {{ user }},
    Your project {{ project }} has not been exported correctly.

    The Taiga system administrators have been informed.
    Please, try it again or contact with the support team at {{ support_email }}

    -

    The Taiga Team

    {% endtrans %} {% endblock %} diff --git a/taiga/export_import/templates/emails/import_error-body-html.jinja b/taiga/export_import/templates/emails/import_error-body-html.jinja index 52afe388..0480b4f7 100644 --- a/taiga/export_import/templates/emails/import_error-body-html.jinja +++ b/taiga/export_import/templates/emails/import_error-body-html.jinja @@ -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") %} -

    {{ error_message }}

    -

    Hello {{ user }},

    -

    Your project has not been importer correctly.

    -

    The Taiga system administrators have been informed.
    Please, try it again or contact with the support team at - {{ support_email }}

    -

    The Taiga Team

    +{% block logo %} + Taiga +{% 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") %} +

    Hello {{ user }},
    Your project has not been imported correctly.

    +

    The Taiga system administrators have been informed.
    Please, try it again or contact with the support team at + {{ support_email }}

    {% endtrans %} {% endblock %} diff --git a/taiga/export_import/templates/emails/load_dump-body-html.jinja b/taiga/export_import/templates/emails/load_dump-body-html.jinja index 564ccff3..a981a2fc 100644 --- a/taiga/export_import/templates/emails/load_dump-body-html.jinja +++ b/taiga/export_import/templates/emails/load_dump-body-html.jinja @@ -1,11 +1,21 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Project dump imported

    -

    Hello {{ user }},

    -

    Your project dump has been correctly imported.

    - Go to {{ project }} -

    The Taiga Team

    + +

    Hello {{ user }},
    Your project dump has been correctly imported.

    +

    Go to {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/feedback/templates/emails/feedback_notification-body-html.jinja b/taiga/feedback/templates/emails/feedback_notification-body-html.jinja index 3417e7c2..72b04d8e 100644 --- a/taiga/feedback/templates/emails/feedback_notification-body-html.jinja +++ b/taiga/feedback/templates/emails/feedback_notification-body-html.jinja @@ -1,8 +1,15 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + Taiga +{% endblock %} + +{% block title %} + Feedback +{% endblock %} + {% block body %} {% trans full_name=feedback_entry.full_name, email=feedback_entry.email %} -

    Feedback

    Taiga has received feedback from {{ full_name }} <{{ email }}>

    {% endtrans %} @@ -12,9 +19,9 @@ {% endtrans %} {% if extra %} - +
    -
    +

    {{ _("Extra info") }}

    {% for k, v in extra.items() %} @@ -26,4 +33,5 @@
    {% endif %} + {% endblock %} diff --git a/taiga/importers/templates/emails/asana_import_success-body-html.jinja b/taiga/importers/templates/emails/asana_import_success-body-html.jinja index d14d1cb2..bd577451 100644 --- a/taiga/importers/templates/emails/asana_import_success-body-html.jinja +++ b/taiga/importers/templates/emails/asana_import_success-body-html.jinja @@ -1,11 +1,20 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Asana Project imported

    -

    Hello {{ user }},

    -

    Your Asana project has been correctly imported.

    - Go to {{ project }} -

    The Taiga Team

    +

    Hello {{ user }},
    Your project {{ project }} from Asana has been correctly imported.

    +

    Go to {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/importers/templates/emails/github_import_success-body-html.jinja b/taiga/importers/templates/emails/github_import_success-body-html.jinja index 6f2d31d3..13aec9e9 100644 --- a/taiga/importers/templates/emails/github_import_success-body-html.jinja +++ b/taiga/importers/templates/emails/github_import_success-body-html.jinja @@ -1,11 +1,20 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    GitHub Project imported

    -

    Hello {{ user }},

    -

    Your GitHub project has been correctly imported.

    - Go to {{ project }} -

    The Taiga Team

    +

    Hello {{ user }},
    Your project {{ project }} from Github has been correctly imported.

    +

    Go to {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/importers/templates/emails/importer_import_error-body-html.jinja b/taiga/importers/templates/emails/importer_import_error-body-html.jinja index 52afe388..0caf60a1 100644 --- a/taiga/importers/templates/emails/importer_import_error-body-html.jinja +++ b/taiga/importers/templates/emails/importer_import_error-body-html.jinja @@ -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") %} -

    {{ error_message }}

    -

    Hello {{ user }},

    -

    Your project has not been importer correctly.

    -

    The Taiga system administrators have been informed.
    Please, try it again or contact with the support team at - {{ support_email }}

    -

    The Taiga Team

    +{% block logo %} + Taiga +{% 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") %} +

    Hello {{ user }},
    Your project has not been importer correctly.

    +

    The Taiga system administrators have been informed.
    Please, try it again or contact with the support team at + {{ support_email }} +

    {% endtrans %} {% endblock %} diff --git a/taiga/importers/templates/emails/jira_import_success-body-html.jinja b/taiga/importers/templates/emails/jira_import_success-body-html.jinja index 51da9de9..e0edb08e 100644 --- a/taiga/importers/templates/emails/jira_import_success-body-html.jinja +++ b/taiga/importers/templates/emails/jira_import_success-body-html.jinja @@ -1,11 +1,20 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Jira Project imported

    -

    Hello {{ user }},

    -

    Your Jira project has been correctly imported.

    - Go to {{ project }} -

    The Taiga Team

    +

    Hello {{ user }},
    Your project {{ project }} from Jira has been correctly imported.

    +

    Go to {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/importers/templates/emails/trello_import_success-body-html.jinja b/taiga/importers/templates/emails/trello_import_success-body-html.jinja index d154666b..bfbb7b49 100644 --- a/taiga/importers/templates/emails/trello_import_success-body-html.jinja +++ b/taiga/importers/templates/emails/trello_import_success-body-html.jinja @@ -1,11 +1,20 @@ {% extends "emails/base-body-html.jinja" %} +{% block logo %} + {% if project.logo_small_thumbnail_url %} + {{ project.name }} + {% else %} + {{ project.name }} + {% 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 %} -

    Trello Project imported

    -

    Hello {{ user }},

    -

    Your Trello project has been correctly imported.

    - Go to {{ project }} -

    The Taiga Team

    +

    Hello {{ user }},
    Your project {{ project }} from Trello has been correctly imported.

    +

    Go to {{ project }}

    {% endtrans %} {% endblock %} diff --git a/taiga/projects/contact/templates/emails/contact_notification-body-html.jinja b/taiga/projects/contact/templates/emails/contact_notification-body-html.jinja index 812733f8..ae02449d 100644 --- a/taiga/projects/contact/templates/emails/contact_notification-body-html.jinja +++ b/taiga/projects/contact/templates/emails/contact_notification-body-html.jinja @@ -1,24 +1,23 @@ {% extends "emails/base-body-html.jinja" %} -{% block body %} -

    - {% if photo_url %} - - {{ full_name }} - - {% endif %} - {% trans full_name=full_name, user_profile_url=user_profile_url, project_name=project_name %} - {{ full_name }} has written to {{ project_name }} - {% endtrans %} -

    - -

    {{ comment }}

    - -
    - -

    - {% 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 update your project settings to prevent such contacts. Regular communications amongst members of the project will not be affected. - {% endtrans %} -

    +{% block logo %} + Taiga +{% 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 %} +

    {{ full_name }} has written to {{ project_name }}

    + {% endtrans %} + + {{ comment }} + + {% 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 update your project settings to prevent such contacts. Regular communications amongst members of the project will not be affected.

    + {% endtrans %} + {% endblock %} diff --git a/taiga/projects/history/templates/emails/includes/fields_diff-html.jinja b/taiga/projects/history/templates/emails/includes/fields_diff-html.jinja index 9d3473e7..002bb9e7 100644 --- a/taiga/projects/history/templates/emails/includes/fields_diff-html.jinja +++ b/taiga/projects/history/templates/emails/includes/fields_diff-html.jinja @@ -20,75 +20,61 @@ {# POINTS #} {% if field_name == "points" %} {% for role, points in values.items() %} -
    -

    {% trans role=role %}{{ role }} role points{% endtrans %}

    -
    - {{ _("from") }}
    - {{ points.0 }} -
    - {{ _("to") }}
    - {{ points.1 }} -
    -

    {{ _("Added new attachment") }}

    -

    - - {{ att.filename }} - -

    - {% if att.description %} -

    {{ att.description }}

    - {% endif %} -
    -

    {{ _("Updated attachment") }}

    -

    - - {{ att.filename|linebreaksbr }} - {% if att.changes.is_deprecated %} - {% if att.changes.is_deprecated.1 %} - [{{ _("deprecated") }}] - {% else %} - [{{ _("not deprecated") }}] - {% endif %} - {% endif %} - -

    - {% if att.changes.description %} -

    {{ att.changes.description.1 }}

    - {% endif %} -
    -

    {{ _("Deleted attachment") }}

    -

    {{ att.filename|linebreaksbr }}

    -
    -

    {{ verbose_name(obj_class, field_name) }}

    -
    - {% if values_added %} - {{ _("added") }}
    - {{ ', '.join(values_added) }} - {% endif %} +

    {{ verbose_name(obj_class, field_name) }}

    +
      +
    • + {% if values_added %} + {{ _("added") }} {{ ', '.join(values_added) }} + {% endif %} + + {% if values_removed %} + {{ _("removed") }} {{ ', '.join(values_removed) }} + {% endif %} +
    • +
    - {% if values_removed %} - {{ _("removed") }}
    - {{ ', '.join(values_removed) }} - {% endif %} -
    -

    {{ verbose_name(obj_class, field_name) }}

    -

    {{ mdrender(project, values.1) }}

    -
    -

    {{ verbose_name(obj_class, field_name) }}

    -
    +

    {{ verbose_name(obj_class, field_name) }}

    +
      +
    • {% if values.0 != None and values.0 != "" %} - {{ _("from") }}
      - {{ values.0 }} + {{ _("from") }} {{ values.0 }} {% else %} - {{ _("from") }}
      - {{ _("Unassigned") }} + {{ _("from") }} {{ _("Unassigned") }} {% endif %} -
    + +
  • {% if values.1 != None and values.1 != "" %} - {{ _("to") }}
    - {{ values.1 }} + {{ _("to") }} {{ values.1 }} {% else %} - {{ _("to") }}
    - {{ _("Unassigned") }} + {{ _("to") }} {{ _("Unassigned") }} {% endif %} -
  • -

    {{ verbose_name(obj_class, field_name) }}

    -
    - {{ _("from") }}
    - {{ values.0|linebreaksbr }} -
    - {{ _("to") }}
    - {{ values.1|linebreaksbr }} -
    -

    {{ attr.name }}

    -

    {{ mdrender(project, attr.value_diff) }}

    -
    -

    {{ attr.name }}

    -
    - {{ _("to") }}
    - {{ attr.value|linebreaksbr }} -
    -

    {{ attr.name }}

    -

    {{ mdrender(project, attr.value_diff) }}

    -
    -

    {{ attr.name }}

    -
    - {{ _("from") }}
    - {{ attr.changes.value.0|linebreaksbr }} -
    - {{ _("to") }}
    - {{ attr.changes.value.1|linebreaksbr }} -
    -

    {{ attr.name }}

    -

    {{ _("-deleted-") }}

    -
    - - {% trans %} - - {% endtrans %} - -
    -

    Thank you for registering in Taiga

    -

    We hope you enjoy it

    -

    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.

    -

    We built it to be beautiful, elegant, simple to use and fun - without forsaking flexibility and power.

    - The taiga Team -
    + {% trans %} +

    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.

    +

    We built it to be beautiful, elegant, simple to use and fun - without forsaking flexibility and power.

    + {% endtrans %} {% endblock %} {% block footer %} {{ super() }} -
    -
    {% trans url=resolve_front_url('cancel-account', cancel_token) %} - You may remove your account from this service clicking here + You may remove your account from this service clicking here {% endtrans %} {% endblock %}