From f8f0232dc473f9df93f30e0ebb5d2a88141fb4de Mon Sep 17 00:00:00 2001 From: Ross Date: Thu, 6 Jan 2022 12:49:37 +0000 Subject: [PATCH] . --- generic/models.py | 5 ++++- generic/templates/generic/group_view.html | 21 +++++++++++--------- generic/urls.py | 1 + generic/views.py | 24 +++++++++++++++++++++++ 4 files changed, 41 insertions(+), 10 deletions(-) diff --git a/generic/models.py b/generic/models.py index 63afc387..fec4850c 100644 --- a/generic/models.py +++ b/generic/models.py @@ -350,6 +350,9 @@ class CidUser(models.Model): html_msg = f"""""" def email_results(self, resend=False, additional_emails=[]): + if not self.internal_candidate: + return False, "Not internal candidate." + if self.results_email_sent and not resend: return False, "Already sent." @@ -400,7 +403,7 @@ class CidUser(models.Model): - Please note this inbox is not monitored. Direct all enquiries to ... + Please note this inbox is not monitored. Direct all enquiries to plh-tr.radiology-academy@nhs.net """ try: diff --git a/generic/templates/generic/group_view.html b/generic/templates/generic/group_view.html index dce65dc7..e3f33f5c 100755 --- a/generic/templates/generic/group_view.html +++ b/generic/templates/generic/group_view.html @@ -1,14 +1,17 @@ {% extends 'generic/base.html' %} {% block content %} -

Groups

-{% for group in groups %} -

{{group.name}} - -

-{% endfor %} +

Groups

+ {% for group in groups %} +

{{group.name}} + + + +

+ {% endfor %} + {% endblock %} diff --git a/generic/urls.py b/generic/urls.py index 161bd44c..23098670 100755 --- a/generic/urls.py +++ b/generic/urls.py @@ -30,6 +30,7 @@ urlpatterns = [ path("cids/manage/", views.CidUserView.as_view(), name="manage_cids"), path("cids/group/", views.group_view, name="group_view"), path("cids/group//email", views.group_email, name="group_email"), + path("cids/group//email_results", views.group_email_results, name="group_email_results"), path("cids/group//email/resend", views.group_email_resend, name="group_email_resend"), path("cids/create", views.manage_cid_users, name="manage_cid_users"), ] diff --git a/generic/views.py b/generic/views.py index 3fac5537..2eb84496 100644 --- a/generic/views.py +++ b/generic/views.py @@ -1339,6 +1339,30 @@ def group_email(request, pk, resend=False): {"sent": sent, "not_sent": not_sent, "users_count": users.count()}, ) +@login_required +@user_is_cid_user_manager +def group_email_results(request, pk, resend=False): + group = get_object_or_404(CidUserGroup, pk=pk) + + if resend: + users = group.ciduser_set.filter() + else: + users = group.ciduser_set.filter(results_email_sent=False) + + sent = [] + not_sent = [] + for u in users: + success, msg = u.email_results(resend=resend) + if success: + sent.append(u) + else: + not_sent.append((u, msg)) + + return render( + request, + "generic/group_emailed.html", + {"sent": sent, "not_sent": not_sent, "users_count": users.count()}, + ) @login_required @user_is_cid_user_manager