forked from adamlaska/datatracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0007_add_review_mailtriggers.py
More file actions
85 lines (71 loc) · 3.18 KB
/
0007_add_review_mailtriggers.py
File metadata and controls
85 lines (71 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Copyright The IETF Trust 2018-2020, All Rights Reserved
# -*- coding: utf-8 -*-
from django.db import migrations
def forward(apps, schema_editor):
MailTrigger = apps.get_model('mailtrigger','MailTrigger')
Recipient = apps.get_model('mailtrigger', 'Recipient')
review_assignment_reviewer = Recipient.objects.create(
slug="review_assignment_reviewer",
desc="The reviewer assigned to a review assignment",
template="{% if not skip_review_reviewer %}{{review_assignment.reviewer.email_address}}{% endif %}",
)
review_assignment_review_req_by = Recipient.objects.create(
slug="review_assignment_review_req_by",
desc="The requester of an assigned review",
template="{% if not skip_review_requested_by %}{{review_assignment.review_request.requested_by.email_address}}{% endif %}",
)
review_req_requested_by = Recipient.objects.create(
slug="review_req_requested_by",
desc="The requester of a review",
template="{% if not skip_review_requested_by %}{{review_req.requested_by.email_address}}{% endif %}",
)
review_req_reviewers = Recipient.objects.create(
slug="review_req_reviewers",
desc="All reviewers assigned to a review request",
template=None,
)
review_secretaries = Recipient.objects.create(
slug="review_secretaries",
desc="The secretaries of the review team of a review request or assignment",
template=None,
)
Recipient.objects.create(
slug="review_reviewer",
desc="A single reviewer",
template="{{reviewer.email_address}}",
)
review_assignment_changed = MailTrigger.objects.create(
slug="review_assignment_changed",
desc="Recipients for a change to a review assignment",
)
review_assignment_changed.to.set([review_assignment_review_req_by, review_assignment_reviewer,
review_secretaries])
review_req_changed = MailTrigger.objects.create(
slug="review_req_changed",
desc="Recipients for a change to a review request",
)
review_req_changed.to.set([review_req_requested_by, review_req_reviewers, review_secretaries])
review_availability_changed = MailTrigger.objects.create(
slug="review_availability_changed",
desc="Recipients for a change to a reviewer's availability",
)
review_availability_changed.to.set(
Recipient.objects.filter(slug__in=['review_reviewer', 'group_secretaries'])
)
def reverse(apps, schema_editor):
MailTrigger = apps.get_model('mailtrigger','MailTrigger')
Recipient = apps.get_model('mailtrigger', 'Recipient')
MailTrigger.objects.filter(slug__in=[
'review_assignment_changed', 'review_req_changed', 'review_availability_changed',
]).delete()
Recipient.objects.filter(slug__in=[
'review_assignment_reviewer', 'review_assignment_review_req_by', 'review_req_requested_by',
'review_req_reviewers', 'review_secretaries', 'review_reviewer',
]).delete()
class Migration(migrations.Migration):
dependencies = [
('mailtrigger', '0006_sub_new_wg_00'),
]
operations = [
migrations.RunPython(forward, reverse)
]