From 282b964bd36e470e8ea4d9034d62f8462252783a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Wed, 15 Mar 2017 17:33:52 +0100 Subject: [PATCH] Fix test_emails command and add some missed emails --- taiga/base/management/commands/test_emails.py | 73 +++++++++++++++++-- .../contact_notification-body-html.jinja | 4 +- 2 files changed, 69 insertions(+), 8 deletions(-) diff --git a/taiga/base/management/commands/test_emails.py b/taiga/base/management/commands/test_emails.py index faf9414c..12a2cc06 100644 --- a/taiga/base/management/commands/test_emails.py +++ b/taiga/base/management/commands/test_emails.py @@ -23,12 +23,16 @@ 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 taiga.base.mails import mail_builder from taiga.projects.models import Project, Membership from taiga.projects.history.models import HistoryEntry from taiga.projects.history.services import get_history_queryset_by_model_instance +from taiga.users.services import get_user_photo_url +from taiga.front.templatetags.functions import resolve as resolve_front_url + class Command(BaseCommand): help = 'Send an example of all emails' @@ -186,18 +190,17 @@ class Command(BaseCommand): email = cls() email.send(email_address, context) - # Transfer Emails context = { "project": Project.objects.all().order_by("?").first(), - "requester": User.objects.all().order_by("?").first(), + "requester": get_user_model().objects.all().order_by("?").first(), } email = mail_builder.transfer_request(email_address, context) email.send() context = { "project": Project.objects.all().order_by("?").first(), - "receiver": User.objects.all().order_by("?").first(), + "receiver": get_user_model().objects.all().order_by("?").first(), "token": "test-token", "reason": "Test reason" } @@ -206,8 +209,8 @@ class Command(BaseCommand): context = { "project": Project.objects.all().order_by("?").first(), - "old_owner": User.objects.all().order_by("?").first(), - "new_owner": User.objects.all().order_by("?").first(), + "old_owner": get_user_model().objects.all().order_by("?").first(), + "new_owner": get_user_model().objects.all().order_by("?").first(), "reason": "Test reason" } email = mail_builder.transfer_accept(email_address, context) @@ -215,8 +218,66 @@ class Command(BaseCommand): context = { "project": Project.objects.all().order_by("?").first(), - "rejecter": User.objects.all().order_by("?").first(), + "rejecter": get_user_model().objects.all().order_by("?").first(), "reason": "Test reason" } email = mail_builder.transfer_reject(email_address, context) email.send() + + + # Contact with project admins email + project = Project.objects.all().order_by("?").first() + user = get_user_model().objects.all().order_by("?").first() + context = { + "full_name": user.get_full_name(), + "project_name": project.name, + "photo_url": get_user_photo_url(user), + "user_profile_url": resolve_front_url("user", user.username), + "project_settings_url": resolve_front_url("project-admin", project.slug), + "comment": "Test comment notification." + } + email = mail_builder.contact_notification(email_address, context) + email.send() + + # GitHub importer email + context = { + "project": Project.objects.all().order_by("?").first(), + "user": get_user_model().objects.all().order_by("?").first() + } + email = mail_builder.github_import_success(email_address, context) + email.send() + + # Jira importer email + context = { + "project": Project.objects.all().order_by("?").first(), + "user": get_user_model().objects.all().order_by("?").first() + } + email = mail_builder.jira_import_success(email_address, context) + email.send() + + # Trello importer email + context = { + "project": Project.objects.all().order_by("?").first(), + "user": get_user_model().objects.all().order_by("?").first() + } + email = mail_builder.trello_import_success(email_address, context) + email.send() + + # Asana importer email + context = { + "project": Project.objects.all().order_by("?").first(), + "user": get_user_model().objects.all().order_by("?").first() + } + email = mail_builder.asana_import_success(email_address, context) + email.send() + + # Error importer email + context = { + "user": get_user_model().objects.all().order_by("?").first(), + "error_subject": "Error importing GitHub project", + "error_message": "Error importing GitHub project", + "project": 1234, + "exception": "Exception message" + } + email = mail_builder.importer_import_error(email_address, context) + email.send() 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 257a5905..812733f8 100644 --- a/taiga/projects/contact/templates/emails/contact_notification-body-html.jinja +++ b/taiga/projects/contact/templates/emails/contact_notification-body-html.jinja @@ -7,7 +7,7 @@ {{ full_name }} {% endif %} - {% trans full_name=full_name, comment=comment, project_name=project_name %} + {% trans full_name=full_name, user_profile_url=user_profile_url, project_name=project_name %} {{ full_name }} has written to {{ project_name }} {% endtrans %}

@@ -17,7 +17,7 @@

- {% trans project_name=project_name %} + {% 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 %}