diff --git a/requirements.txt b/requirements.txt index b741b4f9..10375718 100644 --- a/requirements.txt +++ b/requirements.txt @@ -27,6 +27,7 @@ Unidecode==0.04.16 raven==5.1.1 bleach==1.4 django-ipware==0.1.0 +premailer==2.8.1 # Comment it if you are using python >= 3.4 enum34==1.0 diff --git a/taiga/auth/services.py b/taiga/auth/services.py index dee8c606..1c0f64de 100644 --- a/taiga/auth/services.py +++ b/taiga/auth/services.py @@ -29,7 +29,7 @@ from django.db import transaction as tx from django.db import IntegrityError from django.utils.translation import ugettext as _ -from djmail.template_mail import MagicMailBuilder +from djmail.template_mail import MagicMailBuilder, InlineCSSTemplateMail from taiga.base import exceptions as exc from taiga.users.serializers import UserSerializer @@ -46,7 +46,7 @@ def send_register_email(user) -> bool: """ cancel_token = get_token_for_user(user, "cancel_account") context = {"user": user, "cancel_token": cancel_token} - mbuilder = MagicMailBuilder() + mbuilder = MagicMailBuilder(template_mail_cls=InlineCSSTemplateMail) email = mbuilder.registered_user(user.email, context) return bool(email.send()) diff --git a/taiga/base/templates/emails/base.jinja b/taiga/base/templates/emails/base.jinja index 0138a1b7..ac8439df 100644 --- a/taiga/base/templates/emails/base.jinja +++ b/taiga/base/templates/emails/base.jinja @@ -1,159 +1,431 @@ - + {% set home_url = resolve_front_url("home") %} {% set home_url_name = "Taiga" %} + + + + Taiga + - - - - - - - -
+ .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 - -
-
- - {% block body %}{% endblock %} - {# - - - - -
-

{{ project_name }}

-

{{ type }}: {{ subject }}

-

Updated fields by {{ user.get_full_name() }}

- {% block body_changes %} -
    -
  • severity: from "10" to "project 2 - Normal".
  • -
- {% endblock %} -
- #} -
- {% block footer %} - {# -

- More info at: - - {{ final_url_name }} - -

- #} - {% endblock %} -
+ + +
+ + + + + + + + +
+ + + + + +
+ + + Taiga logo + + {% block body %} + {% endblock %} +
+ +
+ + + + + +
+ {% block footer %} + {% endblock %} +
+ +
+ +
-
- + + diff --git a/taiga/base/templates/emails/hero.jinja b/taiga/base/templates/emails/hero.jinja new file mode 100644 index 00000000..cf952bcb --- /dev/null +++ b/taiga/base/templates/emails/hero.jinja @@ -0,0 +1,409 @@ + +{% set home_url = resolve_front_url("home") %} +{% set home_url_name = "Taiga" %} + + + + + You have been Taigatized + + + +
+ + + + +
+ + + + + + + + + + + +
+ + + + + +
+ + Taiga + +

You have been Taigatized!

+

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

+
+ +
+ + + + + + + +
+ {% block body %}{% endblock %} +
+
+ + + + + + +
+ {% block footer %} + {% endblock %} +
+ +
+ +
+
+ + diff --git a/taiga/base/templates/emails/updates.jinja b/taiga/base/templates/emails/updates.jinja new file mode 100644 index 00000000..65a16fa2 --- /dev/null +++ b/taiga/base/templates/emails/updates.jinja @@ -0,0 +1,454 @@ + + +{% set home_url = resolve_front_url("home") %} +{% set home_url_name = "Taiga" %} + + + + [Taiga] Jesús Espino updated the US #1680 "Rediseño de emails" + + + +
+ + + + +
+ + + + + + + + + + + +
+ + + + + +
+ + + Taiga logo + + {% block head %} + {% endblock %} +
+ +
+ + + + + + + + +
+ + {% block body %} + {% endblock %} +
+
+ +
+ + + + + +
+ {% block footer %} + {% endblock %} +
+ +
+ +
+
+ + diff --git a/taiga/feedback/services.py b/taiga/feedback/services.py index 10362208..01d24cd9 100644 --- a/taiga/feedback/services.py +++ b/taiga/feedback/services.py @@ -16,14 +16,14 @@ from django.conf import settings -from djmail.template_mail import MagicMailBuilder +from djmail.template_mail import MagicMailBuilder, InlineCSSTemplateMail def send_feedback(feedback_entry, extra): support_email = settings.FEEDBACK_EMAIL if support_email: - mbuilder = MagicMailBuilder() + mbuilder = MagicMailBuilder(template_mail_cls=InlineCSSTemplateMail) email = mbuilder.feedback_notification(support_email, {"feedback_entry": feedback_entry, "extra": extra}) email.send() diff --git a/taiga/feedback/templates/emails/feedback_notification-body-html.jinja b/taiga/feedback/templates/emails/feedback_notification-body-html.jinja index 2888f56f..9687ed51 100644 --- a/taiga/feedback/templates/emails/feedback_notification-body-html.jinja +++ b/taiga/feedback/templates/emails/feedback_notification-body-html.jinja @@ -1,37 +1,451 @@ -{% extends "emails/base.jinja" %} + + + + Taiga + + + +
+ + + + +
+ + + + + + + + +
+ + + + + +
+ + + Taiga logo + + +

Feedback

+

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

+ + + + + + {% if extra %} + + + + {% endif %} +
+

Comment

+

{{ feedback_entry.comment }}

+
+

Extra:

+
+ {% for k, v in extra.items() %} +
{{ k }}
+
{{ v }}
+ {% endfor %} +
+
+ +
+ +
+ + + + + +
+ + + +
+ +
+ +
+
+ + diff --git a/taiga/projects/history/services.py b/taiga/projects/history/services.py index f22574a2..c47fab2a 100644 --- a/taiga/projects/history/services.py +++ b/taiga/projects/history/services.py @@ -173,7 +173,7 @@ def is_hidden_snapshot(obj:FrozenDiff) -> bool: nfields = _not_important_fields[content_type] result = snapshot_fields - nfields - if len(result) == 0: + if snapshot_fields and len(result) == 0: return True return False 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 12090cd6..91484315 100644 --- a/taiga/projects/history/templates/emails/includes/fields_diff-html.jinja +++ b/taiga/projects/history/templates/emails/includes/fields_diff-html.jinja @@ -9,141 +9,162 @@ "us_order" ] %} -
{% for field_name, values in changed_fields.items() %} {% if field_name not in excluded_fields %} -
- {{ verbose_name(object, field_name) }} -
- - {# POINTS #} + {# POINTS #} {% if field_name == "points" %} - {% for role, points in values.items() %} -
- {{ role }} -
-
- to: {{ points.1|linebreaksbr }} -
-
- from: {{ points.0|linebreaksbr }} -
+ + +

{{ role }} role points

+ + + from
+ {{ points.1 }} + + + + + to
+ {{ points.0 }} + + {% endfor %} {# ATTACHMENTS #} {% elif field_name == "attachments" %} - {% if values.new %} -
- {{ _("Added") }} -
- {% for att in values['new']%} -
- - {{ att.filename|linebreaksbr }} - - {% if att.description %} {{ att.description|linebreaksbr }}{% endif %} -
+ + +

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

+

+ + {{ att.filename|linebreaksbr }} + +

+ {% if att.description %} +

{{ att.description|linebreaksbr }}

+ {% endif %} + + {% endfor %} {% endif %} {% if values.changed %} -
- {{ _("Changed") }} -
- {% for att in values['changed'] %} -
- - {{ att.filename|linebreaksbr }} - - -
+ + {% endfor %} {% endif %} - {% if values.deleted %} -
- {{ _("Deleted") }} -
- {% for att in values['deleted']%} -
- {{ att.filename|linebreaksbr }} -
+ + +

{{ _("Deleted attachment") }}

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

{{ att.filename|linebreaksbr }}

+ {% endif %} + + {% endfor %} {% endif %} - {# TAGS AND WATCHERS #} {% elif field_name in ["tags", "watchers"] %} - -
- to: {{ ', '.join(values.1)|linebreaksbr }} -
- - {% if values.0 %} -
- from: {{ ', '.join(values.0)|linebreaksbr }} -
- {% endif %} - + + +

{{ field_name }}

+ + + from
+ {{ ', '.join(values.0)|linebreaksbr }} + + + + + to
+ {{ ', '.join(values.1)|linebreaksbr }} + + {# DESCRIPTIONS #} {% elif field_name in ["description_diff"] %} -
- diff: {{ mdrender(project, values.1) }} -
+ + +

Description diff

+

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

+ + {# CONTENT #} {% elif field_name in ["content_diff"] %} -
- diff: {{ mdrender(project, values.1) }} -
+ + +

Content diff

+

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

+ + {# ASSIGNED TO #} {% elif field_name == "assigned_to" %} -
- {% if values.1 != None and values.1 != "" %} - to: {{ values.1|linebreaksbr }} - {% else %} - to: {{ _("Unassigned") }} - {% endif %} -
- -
- {% if values.0 != None and values.0 != "" %} - from: {{ values.0|linebreaksbr }} - {% else %} - from: {{ _("Unassigned") }} - {% endif %} -
+ + +

{{ field_name }}

+ + + {% if values.0 != None and values.0 != "" %} + from
+ {{ values.0|linebreaksbr }} + {% else %} + from
+ {{ _("Unassigned") }} + {% endif %} + + + + + {% if values.1 != None and values.1 != "" %} + to
+ {{ values.1|linebreaksbr }} + {% else %} + to
+ {{ _("Unassigned") }} + {% endif %} + + {# * #} {% else %} - {% if values.1 != None and values.1 != "" %} -
- to: {{ values.1|linebreaksbr }} -
- {% endif %} - - {% if values.0 != None and values.0 != "" %} -
- from: {{ values.0|linebreaksbr }} -
- {% endif %} + + +

{{ field_name }}

+ + + from
+ {{ values.1|linebreaksbr }} + + + + + to
+ {{ values.0|linebreaksbr }} + + {% endif %} - {% endif %} - {% endfor %} -
diff --git a/taiga/projects/notifications/services.py b/taiga/projects/notifications/services.py index a278cee2..8accc657 100644 --- a/taiga/projects/notifications/services.py +++ b/taiga/projects/notifications/services.py @@ -198,8 +198,8 @@ def _make_template_mail(name:str): instance for specified name, and return an instance of it. """ - cls = type("TemplateMail", - (template_mail.TemplateMail,), + cls = type("InlineCSSTemplateMail", + (template_mail.InlineCSSTemplateMail,), {"name": name}) return cls() @@ -250,7 +250,8 @@ def send_sync_notifications(notification_id): history_entries = tuple(notification.history_entries.all().order_by("created_at")) obj, _ = get_last_snapshot_for_key(notification.key) - context = {"snapshot": obj.snapshot, + context = { + "snapshot": obj.snapshot, "project": notification.project, "changer": notification.owner, "history_entries": history_entries} @@ -260,6 +261,7 @@ def send_sync_notifications(notification_id): email = _make_template_mail(template_name) for user in notification.notify_users.distinct(): + context["user"] = user email.send(user.email, context) notification.delete() 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 301f351b..15d72016 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,30 +1,42 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/updates.jinja" %} {% set final_url = resolve_front_url("issue", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View issue #{0}".format(snapshot.ref) %} +{% block head %} +

Issue #{{ snapshot.ref }} {{ snapshot.subject }} updated

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has updated an issue on {{ project.name }}

+ See Issue +{% endblock %} + {% block body %} - - - - -
-

Project: {{ project.name }}

-

Issue #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Updated by {{ changer.get_full_name() }}.

- {% for entry in history_entries%} - {% if entry.comment %} -

Comment {{ mdrender(project, entry.comment) }}

- {% endif %} - {% set changed_fields = entry.values_diff %} - {% if changed_fields %} - {% include "emails/includes/fields_diff-html.jinja" %} - {% endif %} - {% endfor %} -
+ +

Updates

+ + {% for entry in history_entries%} + {% if entry.comment %} + + +

Comment

+

{{ mdrender(project, entry.comment) }}

+ + + {% endif %} + {% set changed_fields = entry.values_diff %} + {% if changed_fields %} + {% include "emails/includes/fields_diff-html.jinja" %} + {% endif %} + {% endfor %} {% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/issues/issue-change-body-text.jinja b/taiga/projects/notifications/templates/emails/issues/issue-change-body-text.jinja index efcd3214..8c2ddbff 100644 --- a/taiga/projects/notifications/templates/emails/issues/issue-change-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/issues/issue-change-body-text.jinja @@ -1,9 +1,10 @@ {% set final_url = resolve_front_url("issue", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View issue #{0}".format(snapshot.ref) %} -- Project: {{ project.name }} -- Issue #{{ snapshot.ref }}: {{ snapshot.subject }} -- Updated by {{ changer.get_full_name() }} +Issue #{{ snapshot.ref }} {{ snapshot.subject }} updated +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has updated an issue on {{ project.name }} +See issue in Taiga {{ final_url_name }} ({{ final_url }}) + {% for entry in history_entries%} {% if entry.comment %} Comment: {{ entry.comment|linebreaksbr }} @@ -13,5 +14,3 @@ {% include "emails/includes/fields_diff-text.jinja" %} {% endif %} {% endfor %} - -** More info at {{ final_url_name }} ({{ final_url }}) ** 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 5f6538b8..182d31de 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 @@ -4,18 +4,21 @@ {% set final_url_name = "Taiga - View issue #{0}".format(snapshot.ref) %} {% block body %} - - - - -
-

Project: {{ project.name }}

-

Issue #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Created by {{ changer.get_full_name() }}.

-
+

New issue created

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has created a new issue on {{ project.name }}

+

Issue #{{ snapshot.ref }} {{ snapshot.subject }}

+ See issue +

The Taiga Team

{% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/issues/issue-create-body-text.jinja b/taiga/projects/notifications/templates/emails/issues/issue-create-body-text.jinja index f64a3176..1f67040e 100644 --- a/taiga/projects/notifications/templates/emails/issues/issue-create-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/issues/issue-create-body-text.jinja @@ -1,8 +1,7 @@ {% set final_url = resolve_front_url("issue", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View issue #{0}".format(snapshot.ref) %} -- Project: {{ project.name }} -- US #{{ snapshot.ref }}: {{ snapshot.subject }} -- Created by {{ changer.get_full_name() }} - -** More info at {{ final_url_name }} ({{ final_url }}) ** +New issue created +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has created a new issue on {{ project.name }} +See issue #{{ snapshot.ref }} {{ snapshot.subject }} at {{ final_url_name }} ({{ final_url }}) +The Taiga Team 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 d9be80bc..d50874be 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,13 +1,20 @@ {% extends "emails/base.jinja" %} {% block body %} - - - - -
-

{{ project.name }}

-

Issue #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Deleted by {{ changer.get_full_name() }}

-
+

Issue deleted

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has deleted an issue on {{ project.name }}

+

Issue #{{ snapshot.ref }} {{ snapshot.subject }}

+

The Taiga Team

+{% endblock %} + +{% block footer %} + Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/issues/issue-delete-body-text.jinja b/taiga/projects/notifications/templates/emails/issues/issue-delete-body-text.jinja index e71c0580..26dd8ef8 100644 --- a/taiga/projects/notifications/templates/emails/issues/issue-delete-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/issues/issue-delete-body-text.jinja @@ -1,3 +1,4 @@ -- Project: {{ project.name }} -- Issue #{{ snapshot.ref }}: {{ snapshot.subject }} -- Deleted by {{ changer.get_full_name() }} +Issue deleted +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has deleted an issue on {{ project.name }} +Issue #{{ snapshot.ref }} {{ snapshot.subject }} +The Taiga Team 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 898c8e78..f0e3f152 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,4 +1,4 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/updates.jinja" %} {% set final_url = resolve_front_url("taskboard", project.slug, snapshot.slug) %} {% set final_url_name = "Taiga - View milestone #{0}".format(snapshot.slug) %} @@ -23,8 +23,15 @@ {% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% 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 284e98b0..fc9accae 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 @@ -14,8 +14,15 @@ {% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% 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 20ac2a5d..dae36cfa 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 @@ -12,3 +12,14 @@ {% endblock %} +{% block footer %} + Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio +{% endblock %} diff --git a/taiga/projects/notifications/templates/emails/projects/project-change-body-html.jinja b/taiga/projects/notifications/templates/emails/projects/project-change-body-html.jinja index 0c65ef64..41ae8ea0 100644 --- a/taiga/projects/notifications/templates/emails/projects/project-change-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/projects/project-change-body-html.jinja @@ -1,4 +1,4 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/updates.jinja" %} {% set final_url = resolve_front_url("project-admin", snapshot.slug) %} {% set final_url_name = "Taiga - View Project #{0}".format(snapshot.slug) %} @@ -22,8 +22,15 @@ {% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/projects/project-change-body-text.jinja b/taiga/projects/notifications/templates/emails/projects/project-change-body-text.jinja index 14fda13f..0d14754d 100644 --- a/taiga/projects/notifications/templates/emails/projects/project-change-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/projects/project-change-body-text.jinja @@ -7,11 +7,11 @@ {% if entry.comment %} Comment: {{ entry.comment|linebreaksbr }} {% endif %} + {% set changed_fields = entry.values_diff %} - {% for field_name, values in changed_fields.items() %} - * {{ verbose_name(object, field_name) }}: from '{{ values.0 }}' to '{{ values.1 }}'. - {% endfor %} - {% endif %} + {% for field_name, values in changed_fields.items() %} + * {{ verbose_name(object, field_name) }}: from '{{ values.0 }}' to '{{ values.1 }}'. + {% endfor %} {% endfor %} ** More info at {{ final_url_name }} ({{ final_url }}) ** diff --git a/taiga/projects/notifications/templates/emails/projects/project-create-body-html.jinja b/taiga/projects/notifications/templates/emails/projects/project-create-body-html.jinja index a37f59c1..4207a4cb 100644 --- a/taiga/projects/notifications/templates/emails/projects/project-create-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/projects/project-create-body-html.jinja @@ -1,3 +1,5 @@ +{% extends "emails/hero.jinja" %} + {% set final_url = resolve_front_url("project-admin", snapshot.slug) %} {% set final_url_name = "Taiga - View Project #{0}".format(snapshot.slug) %} @@ -13,7 +15,13 @@ {% endblock %} {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/projects/project-delete-body-html.jinja b/taiga/projects/notifications/templates/emails/projects/project-delete-body-html.jinja index 2b8fa57d..53dfc6e8 100644 --- a/taiga/projects/notifications/templates/emails/projects/project-delete-body-html.jinja +++ b/taiga/projects/notifications/templates/emails/projects/project-delete-body-html.jinja @@ -10,3 +10,15 @@ {% endblock %} + +{% block footer %} + Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio +{% 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 02bfee38..ada43d22 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,30 +1,42 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/updates.jinja" %} {% set final_url = resolve_front_url("task", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View task #{0}".format(snapshot.ref) %} +{% block head %} +

Task #{{ snapshot.ref }} {{ snapshot.subject }} updated

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has updated a task on {{ project.name }}

+ See task +{% endblock %} + {% block body %} - - - - -
-

Project: {{ project.name }}

-

Task #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Updated by {{ changer.get_full_name() }}.

- {% for entry in history_entries%} - {% if entry.comment %} -

Comment {{ mdrender(project, entry.comment) }}

- {% endif %} - {% set changed_fields = entry.values_diff %} - {% if changed_fields %} - {% include "emails/includes/fields_diff-html.jinja" %} - {% endif %} - {% endfor %} -
+ +

Updates

+ + {% for entry in history_entries%} + {% if entry.comment %} + + +

Comment

+

{{ mdrender(project, entry.comment) }}

+ + + {% endif %} + {% set changed_fields = entry.values_diff %} + {% if changed_fields %} + {% include "emails/includes/fields_diff-html.jinja" %} + {% endif %} + {% endfor %} {% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/tasks/task-change-body-text.jinja b/taiga/projects/notifications/templates/emails/tasks/task-change-body-text.jinja index 925fbacc..90e38aa6 100644 --- a/taiga/projects/notifications/templates/emails/tasks/task-change-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/tasks/task-change-body-text.jinja @@ -1,9 +1,11 @@ {% set final_url = resolve_front_url("task", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View task #{0}".format(snapshot.ref) %} -- Project: {{ project.name }} -- Task #{{ snapshot.ref }}: {{ snapshot.subject }} -- Updated by {{ changer.get_full_name() }} +Task #{{ snapshot.ref }} {{ snapshot.subject }} updated +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has updated a task on {{ project.name }} + +See task at {{ final_url_name }} ({{ final_url }}) + {% for entry in history_entries%} {% if entry.comment %} Comment: {{ entry.comment|linebreaksbr }} @@ -13,5 +15,3 @@ {% include "emails/includes/fields_diff-text.jinja" %} {% endif %} {% endfor %} - -** More info at {{ final_url_name }} ({{ final_url }}) ** 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 6d2a216e..d153199a 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 @@ -4,19 +4,22 @@ {% set final_url_name = "Taiga - View task #{0}".format(snapshot.ref) %} {% block body %} - - - - -
-

Project: {{ project.name }}

-

Task #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Created by {{ changer.get_full_name() }}.

-
-{% endblock %} -{% block footer %} -

- More info at: {{ final_url_name }} -

+

New task created

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has created a new task on {{ project.name }}

+

Task #{{ snapshot.ref }} {{ snapshot.subject }}

+ See task +

The Taiga Team

+{% endblock %} + +{% block footer %} + Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/tasks/task-create-body-text.jinja b/taiga/projects/notifications/templates/emails/tasks/task-create-body-text.jinja index 7ceca7fe..abe81ecc 100644 --- a/taiga/projects/notifications/templates/emails/tasks/task-create-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/tasks/task-create-body-text.jinja @@ -1,8 +1,7 @@ {% set final_url = resolve_front_url("task", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View task #{0}".format(snapshot.ref) %} -- Project: {{ project.name }} -- Task #{{ snapshot.ref }}: {{ snapshot.subject }} -- Created by {{ changer.get_full_name() }} - -** More info at {{ final_url_name }} ({{ final_url }}) ** +New task created +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has created a new task on {{ project.name }} +See task #{{ snapshot.ref }} {{ snapshot.subject }} at {{ final_url_name }} ({{ final_url }}) +The Taiga Team 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 0186fa98..ba2804bc 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,14 +1,21 @@ {% extends "emails/base.jinja" %} {% block body %} - - - - -
-

{{ project.name }}

-

Task #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Deleted by {{ changer.get_full_name() }}

-
+

Task deleted

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has deleted a task on {{ project.name }}

+

Task #{{ snapshot.ref }} {{ snapshot.subject }}

+

The Taiga Team

+{% endblock %} + +{% block footer %} + Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/tasks/task-delete-body-text.jinja b/taiga/projects/notifications/templates/emails/tasks/task-delete-body-text.jinja index 8aa8d6ba..22e8c043 100644 --- a/taiga/projects/notifications/templates/emails/tasks/task-delete-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/tasks/task-delete-body-text.jinja @@ -1,4 +1,3 @@ -- Project: {{ project.name }} -- Task #{{ snapshot.ref }}: {{ snapshot.subject }} -- Deleted by {{ changer.get_full_name() }} - +Task deleted +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has deleted a task on {{ project.name }} +Task #{{ snapshot.ref }} {{ snapshot.subject }} 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 770ae1a0..37777be0 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,30 +1,42 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/updates.jinja" %} {% set final_url = resolve_front_url("userstory", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View US #{0}".format(snapshot.ref) %} +{% block head %} +

User story #{{ snapshot.ref }} {{ snapshot.subject }} updated

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has updated a user story on {{ project.name }}

+ See Issue +{% endblock %} + {% block body %} - - - - -
-

Project: {{ project.name }}

-

US #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Updated by {{ changer.get_full_name() }}.

- {% for entry in history_entries%} - {% if entry.comment %} -

Comment {{ mdrender(project, entry.comment) }}

- {% endif %} - {% set changed_fields = entry.values_diff %} - {% if changed_fields %} - {% include "emails/includes/fields_diff-html.jinja" %} - {% endif %} - {% endfor %} -
+ +

Updates

+ + {% for entry in history_entries%} + {% if entry.comment %} + + +

Comment

+

{{ mdrender(project, entry.comment) }}

+ + + {% endif %} + {% set changed_fields = entry.values_diff %} + {% if changed_fields %} + {% include "emails/includes/fields_diff-html.jinja" %} + {% endif %} + {% endfor %} {% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/userstories/userstory-change-body-text.jinja b/taiga/projects/notifications/templates/emails/userstories/userstory-change-body-text.jinja index 95195b79..c6138a12 100644 --- a/taiga/projects/notifications/templates/emails/userstories/userstory-change-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/userstories/userstory-change-body-text.jinja @@ -1,9 +1,10 @@ {% set final_url = resolve_front_url("userstory", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View US #{0}".format(snapshot.ref) %} -- Project: {{ project.name }} -- US #{{ snapshot.ref }}: {{ snapshot.subject }} -- Updated by {{ changer.get_full_name() }} +User story #{{ snapshot.ref }} {{ snapshot.subject }} updated +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has updated a user story on {{ project.name }} +See user story in Taiga {{ final_url_name }} ({{ final_url }}) + {% for entry in history_entries%} {% if entry.comment %} Comment: {{ entry.comment|linebreaksbr }} @@ -13,5 +14,3 @@ {% include "emails/includes/fields_diff-text.jinja" %} {% endif %} {% endfor %} - -** More info at {{ final_url_name }} ({{ final_url }}) ** 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 922aa86f..bd95b4ca 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 @@ -4,18 +4,21 @@ {% set final_url_name = "Taiga - View US #{0}".format(snapshot.ref) %} {% block body %} - - - - -
-

Project: {{ project.name }}

-

US #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Created by {{ changer.get_full_name() }}.

-
+

New user story created

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has created a new user story on {{ project.name }}

+

User story #{{ snapshot.ref }} {{ snapshot.subject }}

+ See user story +

The Taiga Team

{% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/userstories/userstory-create-body-text.jinja b/taiga/projects/notifications/templates/emails/userstories/userstory-create-body-text.jinja index 850d1d3a..9d161906 100644 --- a/taiga/projects/notifications/templates/emails/userstories/userstory-create-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/userstories/userstory-create-body-text.jinja @@ -1,8 +1,8 @@ {% set final_url = resolve_front_url("userstory", project.slug, snapshot.ref) %} {% set final_url_name = "Taiga - View US #{0}".format(snapshot.ref) %} -- Project: {{ project.name }} -- US #{{ snapshot.ref }}: {{ snapshot.subject }} -- Created by {{ changer.get_full_name() }} - -** More info at {{ final_url_name }} ({{ final_url }}) ** +New user story created +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has created a new user story on {{ project.name }} +User story #{{ snapshot.ref }} {{ snapshot.subject }} +More info at {{ final_url_name }} ({{ final_url }}) +The Taiga Team 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 75d3c14d..2e98392f 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,13 +1,20 @@ {% extends "emails/base.jinja" %} {% block body %} - - - - -
-

{{ project.name }}

-

US #{{ snapshot.ref }}: {{ snapshot.subject }}

-

Deleted by {{ changer.get_full_name() }}

-
+

User story deleted

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has deleted a user story on {{ project.name }}

+

User story #{{ snapshot.ref }} {{ snapshot.subject }}

+

The Taiga Team

+{% endblock %} + +{% block footer %} + Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-text.jinja b/taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-text.jinja index 7ea708ce..d4af94d3 100644 --- a/taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/userstories/userstory-delete-body-text.jinja @@ -1,3 +1,4 @@ -- Project: {{ project.name }} -- US #{{ snapshot.ref }}: {{ snapshot.subject }} -- Deleted by {{ changer.get_full_name() }} +User story deleted +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} hasdeleted a user story on {{ project.name }} +User story #{{ snapshot.ref }} {{ snapshot.subject }} +The Taiga Team 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 c7694c4a..4d4bd4b7 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,30 +1,43 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/updates.jinja" %} {% set final_url = resolve_front_url("wiki", project.slug, snapshot.slug) %} {% set final_url_name = "Taiga - View Wiki Page '{0}'".format(snapshot.slug) %} +{% block head %} +

Wiki Page {{ snapshot.slug }} updated

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has updated a wiki page on {{ project.name }}

+ See Wiki +{% endblock %} + + {% block body %} - - - - -
-

Project: {{ project.name }}

-

Wiki Page: {{ snapshot.slug }}

-

Updated by {{ changer.get_full_name() }}.

- {% for entry in history_entries%} - {% if entry.comment %} -

Comment {{ mdrender(project, entry.comment) }}

- {% endif %} - {% set changed_fields = entry.values_diff %} - {% if changed_fields %} - {% include "emails/includes/fields_diff-html.jinja" %} - {% endif %} - {% endfor %} -
+ +

Updates

+ + {% for entry in history_entries%} + {% if entry.comment %} + + +

Comment

+

{{ mdrender(project, entry.comment) }}

+ + + {% endif %} + {% set changed_fields = entry.values_diff %} + {% if changed_fields %} + {% include "emails/includes/fields_diff-html.jinja" %} + {% endif %} + {% endfor %} {% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-text.jinja b/taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-text.jinja index 50bc8d74..b9eb44f2 100644 --- a/taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/wiki/wikipage-change-body-text.jinja @@ -1,9 +1,10 @@ {% set final_url = resolve_front_url("wiki", project.slug, snapshot.slug) %} {% set final_url_name = "Taiga - View Wiki Page '{0}'".format(snapshot.slug) %} -- Project: {{ project.name }} -- Wiki Page: {{ snapshot.slug }} -- Updated by {{ changer.get_full_name() }} +Wiki Page {{ snapshot.slug }} updated +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has updated a wiki page on {{ project.name }} +See wiki page in Taiga {{ final_url_name }} ({{ final_url }}) + {% for entry in history_entries%} {% if entry.comment %} Comment: {{ entry.comment|linebreaksbr }} @@ -13,5 +14,3 @@ {% include "emails/includes/fields_diff-text.jinja" %} {% endif %} {% endfor %} - -** More info at {{ final_url_name }} ({{ final_url }}) ** 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 6112a0c5..cba2b5b0 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 @@ -4,18 +4,21 @@ {% set final_url_name = "Taiga - View Wiki Page '{0}'".format(snapshot.slug) %} {% block body %} - - - - -
-

Project: {{ project.name }}

-

Wiki Page: {{ snapshot.slug }}

-

Created by {{ changer.get_full_name() }}.

-
+

New wiki page created

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has created a new wiki page on {{ project.name }}

+

Wiki page {{ snapshot.slug }}

+ See wiki page +

The Taiga Team

{% endblock %} + {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-text.jinja b/taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-text.jinja index 70bb34e9..8f6f4020 100644 --- a/taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/wiki/wikipage-create-body-text.jinja @@ -1,8 +1,7 @@ {% set final_url = resolve_front_url("wiki", project.slug, snapshot.slug) %} {% set final_url_name = "Taiga - View Wiki Page '{0}'".format(snapshot.slug) %} -- Project: {{ project.name }} -- Wiki Page: {{ snapshot.slug }} -- Created by {{ changer.get_full_name() }} - -** More info at {{ final_url_name }} ({{ final_url }}) ** +New wiki page created +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has created a new wiki page on {{ project.name }} +See wiki page {{ snapshot.slug }} at {{ final_url_name }} ({{ final_url }}) +The Taiga Team 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 4e98c508..46bdc60c 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,13 +1,8 @@ {% extends "emails/base.jinja" %} {% block body %} - - - - -
-

{{ project.name }}

-

Wiki Page: {{ snapshot.slug }}

-

Deleted by {{ changer.get_full_name() }}

-
+

Wiki page deleted

+

Hello {{ user.get_full_name() }},
{{ changer.get_full_name() }} has deleted a wiki page on {{ project.name }}

+

Wiki page {{ snapshot.slug }}

+

The Taiga Team

{% endblock %} diff --git a/taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-text.jinja b/taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-text.jinja index d896f42f..caecd953 100644 --- a/taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-text.jinja +++ b/taiga/projects/notifications/templates/emails/wiki/wikipage-delete-body-text.jinja @@ -1,3 +1,4 @@ -- Project: {{ project.name }} -- Wiki Page: {{ snapshot.slug }} -- Deleted by {{ changer.get_full_name() }} +Wiki page deleted +Hello {{ user.get_full_name() }}, {{ changer.get_full_name() }} has deleted a wiki page on {{ project.name }} +Wiki page {{ snapshot.slug }} +The Taiga Team diff --git a/taiga/projects/services/invitations.py b/taiga/projects/services/invitations.py index 59da4b80..1d79e58d 100644 --- a/taiga/projects/services/invitations.py +++ b/taiga/projects/services/invitations.py @@ -1,12 +1,12 @@ from django.apps import apps from django.conf import settings -from djmail.template_mail import MagicMailBuilder +from djmail.template_mail import MagicMailBuilder, InlineCSSTemplateMail def send_invitation(invitation): """Send an invitation email""" - mbuilder = MagicMailBuilder() + mbuilder = MagicMailBuilder(template_mail_cls=InlineCSSTemplateMail) if invitation.user: template = mbuilder.membership_notification else: diff --git a/taiga/projects/templates/emails/membership_invitation-body-html.jinja b/taiga/projects/templates/emails/membership_invitation-body-html.jinja index 55bc69eb..7c880832 100644 --- a/taiga/projects/templates/emails/membership_invitation-body-html.jinja +++ b/taiga/projects/templates/emails/membership_invitation-body-html.jinja @@ -1,31 +1,28 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/hero.jinja" %} {% set final_url = resolve_front_url("invitation", membership.token) %} {% set final_url_name = "Taiga - Invitation to join on {0} project.".format(membership.project) %} {% block body %} - - - - -
-

The Taiga.io Deputy System Admin is commanded by His Highness The Chief Lord Oompa Loompa to extend a membership invitation to {{ membership.email}} and delights in the pleasure of welcoming you to join {{ membership.invited_by.full_name }} and others in the team as a new and right honorable member in good standing of the project titled: '{{ membership.project }}'.

-

You may indicate your humble desire to accept this invitation by gently clicking here: {{ final_url }}

- - {% if membership.invitation_extra_text %} -

- And now some words from the jolly good fellow or sistren who thought so kindly as to invite you:
- {{ membership.invitation_extra_text }} -

- {% endif %} - -

Dress: Morning Suit, Uniform, Lounge Suit, Birthday Suit or hoodie.

- -
+

You, or someone you know, has invited you to Taiga

+

The Taiga.io Deputy System Admin is commanded by His Highness The Chief Lord Oompa Loompa to extend a membership invitation to
{{ membership.email}}
and delights in the pleasure of welcoming you to join {{ membership.invited_by.full_name }} and others in the team as a new and right honorable member in good standing of the project titled: '{{ membership.project }}'.

+You may indicate your humble desire to accept this invitation by gently clicking here +Accept your invitation +{% if membership.invitation_extra_text %} +

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

+

{{ membership.invitation_extra_text }}

+{% endif %} +

Dress: Morning Suit, Uniform, Lounge Suit, Birthday Suit or hoodie.

{% endblock %} {% block footer %} -

- Further details: {{ final_url_name }} -

+Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+Contact us: +
+Support: +support@taiga.io +
+Our mailing address is: +https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/templates/emails/membership_notification-body-html.jinja b/taiga/projects/templates/emails/membership_notification-body-html.jinja index 5558f08b..fe5e0630 100644 --- a/taiga/projects/templates/emails/membership_notification-body-html.jinja +++ b/taiga/projects/templates/emails/membership_notification-body-html.jinja @@ -1,22 +1,23 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/hero.jinja" %} {% set final_url = resolve_front_url("project", membership.project.slug) %} {% set final_url_name = "Taiga - Project '{0}'.".format(membership.project) %} {% block body %} - - - - -
-

Hi {{ membership.user.get_full_name() }},

-

you have been added to the project - '{{ membership.project }}'.

-
+

You have been added to a project

+

Hello {{ membership.user.get_full_name() }},
you have been added to the project {{ membership.project }}

+ Go to project +

The Taiga Team

{% endblock %} {% block footer %} -

- More info at: {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/projects/templates/emails/membership_notification-body-text.jinja b/taiga/projects/templates/emails/membership_notification-body-text.jinja index 61d4b3ec..b54a23d2 100644 --- a/taiga/projects/templates/emails/membership_notification-body-text.jinja +++ b/taiga/projects/templates/emails/membership_notification-body-text.jinja @@ -1,8 +1,6 @@ {% set final_url = resolve_front_url("project", membership.project.slug) %} -Hi {{ membership.user.get_full_name() }}, +You have been added to a project +Hello {{ membership.user.get_full_name() }},you have been added to the project {{ membership.project }} -you have been added to the project '{{ membership.project }}' ({{ final_url }}). - - -** More info at ({{ final_url }}) ** +See project at ({{ final_url }}) diff --git a/taiga/users/api.py b/taiga/users/api.py index 139c1f11..856f99a1 100644 --- a/taiga/users/api.py +++ b/taiga/users/api.py @@ -31,7 +31,7 @@ from rest_framework.response import Response from rest_framework.filters import BaseFilterBackend from rest_framework import status -from djmail.template_mail import MagicMailBuilder +from djmail.template_mail import MagicMailBuilder, InlineCSSTemplateMail from taiga.auth.tokens import get_user_for_token from taiga.base.decorators import list_route, detail_route @@ -103,7 +103,7 @@ class UsersViewSet(ModelCrudViewSet): user.token = str(uuid.uuid1()) user.save(update_fields=["token"]) - mbuilder = MagicMailBuilder() + mbuilder = MagicMailBuilder(template_mail_cls=InlineCSSTemplateMail) email = mbuilder.password_recovery(user.email, {"user": user}) email.send() @@ -234,7 +234,7 @@ class UsersViewSet(ModelCrudViewSet): request.user.email_token = str(uuid.uuid1()) request.user.new_email = new_email request.user.save(update_fields=["email_token", "new_email"]) - mbuilder = MagicMailBuilder() + mbuilder = MagicMailBuilder(template_mail_cls=InlineCSSTemplateMail) email = mbuilder.change_email(request.user.new_email, {"user": request.user}) email.send() diff --git a/taiga/users/templates/emails/change_email-body-html.jinja b/taiga/users/templates/emails/change_email-body-html.jinja index f47f9b29..6eadbdf0 100644 --- a/taiga/users/templates/emails/change_email-body-html.jinja +++ b/taiga/users/templates/emails/change_email-body-html.jinja @@ -4,24 +4,21 @@ {% set final_url_name = "Taiga - Change email" %} {% block body %} - - - - -
-

Change your email:

-

Hello {{ user.get_full_name() }},

-

you can confirm your change of email by going to the following url:

-

{{ final_url }} -

You can ignore this message if you did not request.

-

Regards

-

--
The Taiga Team

-
+

Change your email

+

Hello {{ user.get_full_name() }},
please confirm your email

+ Confirm email +

You can ignore this message if you did not request.

+

The Taiga Team

{% endblock %} {% block footer %} -

- More info at: - {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/users/templates/emails/change_email-body-text.jinja b/taiga/users/templates/emails/change_email-body-text.jinja index bd133d43..ffb6e9d9 100644 --- a/taiga/users/templates/emails/change_email-body-text.jinja +++ b/taiga/users/templates/emails/change_email-body-text.jinja @@ -1,12 +1,5 @@ -Hello {{ user.get_full_name() }}, - -you can confirm your change of email by going to the following url: - -{{ resolve_front_url('change-email', user.email_token) }} +Hello {{ user.get_full_name() }}, please confirm your email {{ resolve_front_url('change-email', user.email_token) }} You can ignore this message if you did not request. -Regards - --- The Taiga Team diff --git a/taiga/users/templates/emails/password_recovery-body-html.jinja b/taiga/users/templates/emails/password_recovery-body-html.jinja index 0d55d679..f74ebedb 100644 --- a/taiga/users/templates/emails/password_recovery-body-html.jinja +++ b/taiga/users/templates/emails/password_recovery-body-html.jinja @@ -4,24 +4,21 @@ {% set final_url_name = "Taiga - Change password" %} {% block body %} - - - - -
-

Recover your password:

-

Hello {{ user.get_full_name() }},

-

you can recover your password by going to the following url:

-

{{ final_url }} -

You can ignore this message if you did not request.

-

Regards

-

--
The Taiga Team

-
+

Recover your password

+

Hello {{ user.get_full_name() }},
you asked to recover your password

+ Recover your password +

You can ignore this message if you did not request.

+

The Taiga Team

{% endblock %} {% block footer %} -

- More info at: - {{ final_url_name }} -

+ Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+ Contact us: +
+ Support: + support@taiga.io +
+ Our mailing address is: + https://groups.google.com/forum/#!forum/taigaio {% endblock %} diff --git a/taiga/users/templates/emails/password_recovery-body-text.jinja b/taiga/users/templates/emails/password_recovery-body-text.jinja index 6fe87554..d5e25baf 100644 --- a/taiga/users/templates/emails/password_recovery-body-text.jinja +++ b/taiga/users/templates/emails/password_recovery-body-text.jinja @@ -1,12 +1,7 @@ -Hello {{ user.get_full_name() }}, - -you can recover your password by going to the following url: +Hello {{ user.get_full_name() }}, you asked to recover your password {{ resolve_front_url('change-password', user.token) }} You can ignore this message if you did not request. -Regards - --- The Taiga Team diff --git a/taiga/users/templates/emails/registered_user-body-html.jinja b/taiga/users/templates/emails/registered_user-body-html.jinja index e82d0606..f9ba1519 100644 --- a/taiga/users/templates/emails/registered_user-body-html.jinja +++ b/taiga/users/templates/emails/registered_user-body-html.jinja @@ -1,24 +1,30 @@ -{% extends "emails/base.jinja" %} +{% extends "emails/hero.jinja" %} {% block body %}
-

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

- -

You, or someone you know has invited you to Taiga. You may remove your account from this service by clicking here:

- {{ resolve_front_url('cancel-account', cancel_token) }} - -

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. We named it Taiga after the forest biome, because like its namesake, our tool is at the center of an ecosystem - your team, your projects. A great project management tool also helps you see the forest for the trees. We couldn't think of a more appropriate name for what we've done.

- -

We hope you enjoy it.

+

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
{% endblock %} {% block footer %} -

- The Taiga development team. -

+Copyright © 2014 Taiga Agile, LLC, All rights reserved. +
+Contact us: +
+Support: +support@taiga.io +
+Our mailing address is: +https://groups.google.com/forum/#!forum/taigaio +
+
+You may remove your account from this service clicking here {% endblock %} diff --git a/tests/factories.py b/tests/factories.py index f49e4d49..e54a3ccb 100644 --- a/tests/factories.py +++ b/tests/factories.py @@ -280,6 +280,7 @@ class TaskFactory(Factory): status = factory.SubFactory("tests.factories.TaskStatusFactory") milestone = factory.SubFactory("tests.factories.MilestoneFactory") user_story = factory.SubFactory("tests.factories.UserStoryFactory") + tags = [] class WikiPageFactory(Factory):