Skip to content
Snippets Groups Projects
Commit f3c01882 authored by Fredrik Jonsson's avatar Fredrik Jonsson
Browse files

When new partners are added to a submission, notify the applicant and the added partners.

parent 9fee76e5
No related branches found
No related tags found
No related merge requests found
......@@ -556,6 +556,8 @@ class EmailAdapter(AdapterBase):
MESSAGES.INVITED_TO_PROPOSAL: 'messages/email/invited_to_proposal.html',
MESSAGES.BATCH_READY_FOR_REVIEW: 'messages/email/batch_ready_to_review.html',
MESSAGES.READY_FOR_REVIEW: 'messages/email/ready_to_review.html',
MESSAGES.PARTNERS_UPDATED: 'partners_updated_applicant',
MESSAGES.PARTNERS_UPDATED_PARTNER: 'partners_updated_partner',
}
def get_subject(self, message_type, submission):
......@@ -607,6 +609,11 @@ class EmailAdapter(AdapterBase):
# Only notify the applicant if the new phase can be seen within the workflow
if not submission.phase.permissions.can_view(submission.user):
return []
if message_type == MESSAGES.PARTNERS_UPDATED_PARTNER:
partners = kwargs['added']
return [partner.email for partner in partners]
return [submission.user.email]
def batch_recipients(self, message_type, submissions, **kwargs):
......@@ -633,6 +640,18 @@ class EmailAdapter(AdapterBase):
if submission.phase.permissions.can_review(reviewer) and not reviewer.is_apply_staff
]
def partners_updated_applicant(self, added, removed, **kwargs):
if added:
return self.render_message(
'messages/email/partners_update_applicant.html',
added=added,
**kwargs
)
def partners_updated_partner(self, added, removed, **kwargs):
for partner in added:
return self.render_message('messages/email/partners_update_partner.html', **kwargs)
def render_message(self, template, **kwargs):
return render_to_string(template, kwargs)
......
# Generated by Django 2.0.13 on 2019-05-09 13:06
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('activity', '0022_add_versioning_to_comments'),
]
operations = [
migrations.AlterField(
model_name='event',
name='type',
field=models.CharField(choices=[('UPDATE_LEAD', 'Update Lead'), ('EDIT', 'Edit'), ('APPLICANT_EDIT', 'Applicant Edit'), ('NEW_SUBMISSION', 'New Submission'), ('SCREENING', 'Screening'), ('TRANSITION', 'Transition'), ('BATCH_TRANSITION', 'Batch Transition'), ('DETERMINATION_OUTCOME', 'Determination Outcome'), ('BATCH_DETERMINATION_OUTCOME', 'Batch Determination Outcome'), ('INVITED_TO_PROPOSAL', 'Invited To Proposal'), ('REVIEWERS_UPDATED', 'Reviewers Updated'), ('BATCH_REVIEWERS_UPDATED', 'Batch Reviewers Updated'), ('PARTNERS_UPDATED', 'Partners Updated'), ('PARTNERS_UPDATED_PARTNER', 'Partners Updated Partner'), ('READY_FOR_REVIEW', 'Ready For Review'), ('BATCH_READY_FOR_REVIEW', 'Batch Ready For Review'), ('NEW_REVIEW', 'New Review'), ('COMMENT', 'Comment'), ('PROPOSAL_SUBMITTED', 'Proposal Submitted'), ('OPENED_SEALED', 'Opened Sealed Submission'), ('REVIEW_OPINION', 'Review Opinion'), ('DELETE_SUBMISSION', 'Delete Submission'), ('DELETE_REVIEW', 'Delete Review')], max_length=50),
),
]
......@@ -15,6 +15,7 @@ class MESSAGES(Enum):
REVIEWERS_UPDATED = 'Reviewers Updated'
BATCH_REVIEWERS_UPDATED = 'Batch Reviewers Updated'
PARTNERS_UPDATED = 'Partners Updated'
PARTNERS_UPDATED_PARTNER = 'Partners Updated Partner'
READY_FOR_REVIEW = 'Ready For Review'
BATCH_READY_FOR_REVIEW = 'Batch Ready For Review'
NEW_REVIEW = 'New Review'
......
{% block salutation %}Dear {{ user }},{% endblock %}
{% block content %}{% endblock %}
{% block more_info %}{% endblock %}
Kind Regards,
The OTF Team
--
--
Open Technology Fund
https://www.opentech.fund/
{% block post_signature_content %}{% endblock %}
{% extends "messages/email/base.html" %}
{% block content %}
New partner(s) has been added to your submission.
{% for partner in added %}
* {{ partner }}
{% endfor %}
Title: {{ submission.title }}
Link: {{ request.scheme }}://{{ request.get_host }}{{ submission.get_absolute_url }}
{% endblock %}
{% extends "messages/email/base.html" %}
{% block salutation %}Dear Partner,{% endblock %}
{% block content %}
You have been added as a partner the following submission.
Title: {{ submission.title }}
Link: {{ request.scheme }}://{{ request.get_host }}{{ submission.get_absolute_url }}
{% endblock %}
......@@ -54,6 +54,6 @@
<script src="{% static 'js/apply/toggle-reviewers.js' %}"></script>
<script src="{% static 'js/apply/toggle-sidebar.js' %}"></script>
<script src="{% static 'js/apply/submission-text-cleanup.js' %}"></script>
<script src="{% static 'js/apply/edit-comment.js' %}"></script>
<script src="{% static 'js/apply/toggle-related.js' %}"></script>
<script src="{% static 'js/apply/edit-comment.js' %}"></script>
{% endblock %}
......@@ -427,6 +427,16 @@ class UpdatePartnersView(DelegatedViewMixin, UpdateView):
added=added,
removed=removed,
)
messenger(
MESSAGES.PARTNERS_UPDATED_PARTNER,
request=self.request,
user=self.request.user,
submission=self.kwargs['submission'],
added=added,
removed=removed,
)
return response
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment