Skip to content

Commit a4db665

Browse files
committed
Checkpoint. Ended up chasing group.views_review before stats.
- Legacy-Id: 16030
1 parent 073ce55 commit a4db665

File tree

12 files changed

+422
-257
lines changed

12 files changed

+422
-257
lines changed

ietf/bin/send-review-reminders

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,19 @@ django.setup()
1919

2020
import datetime
2121
from ietf.review.utils import (
22-
review_requests_needing_reviewer_reminder, email_reviewer_reminder,
23-
review_requests_needing_secretary_reminder, email_secretary_reminder,
22+
review_assignments_needing_reviewer_reminder, email_reviewer_reminder,
23+
review_assignments_needing_secretary_reminder, email_secretary_reminder,
2424
)
2525

2626
today = datetime.date.today()
2727

28-
for review_req in review_requests_needing_reviewer_reminder(today):
29-
email_reviewer_reminder(review_req)
30-
for review_assignment in review_req.reviewassignment_set.all():
31-
print("Emailed reminder to {} for review of {} in {} (req. id {})".format(review_assignment.reviewer.address, review_req.doc_id, review_req.team.acronym, review_req.pk))
28+
for assignment in review_assignments_needing_reviewer_reminder(today):
29+
email_reviewer_reminder(assignment.review_request)
30+
for review_assignment in assignments.review_req.reviewassignment_set.all():
31+
print("Emailed reminder to {} for review of {} in {} (req. id {})".format(review_assignment.reviewer.address, assignment.review_req.doc_id, assignment.review_req.team.acronym, assignment.review_req.pk))
3232

33-
for review_req, secretary_role in review_requests_needing_secretary_reminder(today):
34-
email_secretary_reminder(review_req, secretary_role)
35-
print("Emailed reminder to {} for review of {} in {} (req. id {})".format(review_req.secretary_role.email.address, review_req.doc_id, review_req.team.acronym, review_req.pk))
33+
for assignment, secretary_role in review_assignments_needing_secretary_reminder(today):
34+
email_secretary_reminder(assignment.review_request, secretary_role)
35+
review_req = assignment.review_request
36+
print("Emailed reminder to {} for review of {} in {} (req. id {})".format(secretary_role.email.address, review_req.doc_id, review_req.team.acronym, review_req.pk))
3637

Lines changed: 289 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,289 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.20 on 2019-03-13 13:41
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations
6+
7+
def forward(apps, schema_editor):
8+
DBTemplate = apps.get_model('dbtemplate','DBTemplate')
9+
10+
DBTemplate.objects.filter(pk=182).update(content="""{% autoescape off %}Subject: Open review assignments in {{group.acronym}}
11+
12+
The following reviewers have assignments:{% for r in review_assignments %}{% ifchanged r.section %}
13+
14+
{{r.section}}
15+
16+
{% if r.section == 'Early review requests:' %}Reviewer Due Draft{% else %}Reviewer LC end Draft{% endif %}{% endifchanged %}
17+
{{ r.reviewer.person.plain_name|ljust:"22" }} {% if r.section == 'Early review requests:' %}{{ r.review_request.deadline|date:"Y-m-d" }}{% else %}{{ r.lastcall_ends|default:"None " }}{% endif %} {{ r.review_request.doc_id }}-{% if r.review_request..requested_rev %}{{ r.review_request.requested_rev }}{% else %}{{ r.review_request..doc.rev }}{% endif %} {{ r.earlier_review_mark }}{% endfor %}
18+
19+
* Other revision previously reviewed
20+
** This revision already reviewed
21+
22+
{% if rotation_list %}Next in the reviewer rotation:
23+
24+
{% for p in rotation_list %} {{ p }}
25+
{% endfor %}{% endif %}{% endautoescape %}
26+
""")
27+
28+
DBTemplate.objects.filter(pk=183).update(content="""{% autoescape off %}Subject: Review Assignments
29+
30+
Hi all,
31+
32+
The following reviewers have assignments:{% for r in review_assignments %}{% ifchanged r.section %}
33+
34+
{{r.section}}
35+
36+
{% if r.section == 'Early review requests:' %}Reviewer Due Draft{% else %}Reviewer Type LC end Draft{% endif %}{% endifchanged %}
37+
{{ r.reviewer.person.plain_name|ljust:"22" }} {% if r.section == 'Early review requests:' %}{{ r.review_request.deadline|date:"Y-m-d" }}{% else %}{{r.review_request.type.name|ljust:"10"}}{{ r.lastcall_ends|default:"None " }}{% endif %} {{ r.review_request.doc_id }}-{% if r.review_request.requested_rev %}{{ r.review_request.requested_rev }}{% else %}{{ r.review_request.doc.rev }}{% endif %}{% if r.earlier_review_mark %} {{ r.earlier_review_mark }}{% endif %}{% endfor %}
38+
39+
* Other revision previously reviewed
40+
** This revision already reviewed
41+
42+
{% if rotation_list %}Next in the reviewer rotation:
43+
44+
{% for p in rotation_list %} {{ p }}
45+
{% endfor %}{% endif %}
46+
The LC and Telechat review templates are included below:
47+
-------------------------------------------------------
48+
49+
-- Begin LC Template --
50+
I am the assigned Gen-ART reviewer for this draft. The General Area
51+
Review Team (Gen-ART) reviews all IETF documents being processed
52+
by the IESG for the IETF Chair. Please treat these comments just
53+
like any other last call comments.
54+
55+
For more information, please see the FAQ at
56+
57+
<https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
58+
59+
Document:
60+
Reviewer:
61+
Review Date:
62+
IETF LC End Date:
63+
IESG Telechat date: (if known)
64+
65+
Summary:
66+
67+
Major issues:
68+
69+
Minor issues:
70+
71+
Nits/editorial comments:
72+
73+
-- End LC Template --
74+
75+
-- Begin Telechat Template --
76+
I am the assigned Gen-ART reviewer for this draft. The General Area
77+
Review Team (Gen-ART) reviews all IETF documents being processed
78+
by the IESG for the IETF Chair. Please wait for direction from your
79+
document shepherd or AD before posting a new version of the draft.
80+
81+
For more information, please see the FAQ at
82+
83+
<https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
84+
85+
Document:
86+
Reviewer:
87+
Review Date:
88+
IETF LC End Date:
89+
IESG Telechat date: (if known)
90+
91+
Summary:
92+
93+
Major issues:
94+
95+
Minor issues:
96+
97+
Nits/editorial comments:
98+
99+
-- End Telechat Template --
100+
{% endautoescape %}
101+
102+
""")
103+
104+
DBTemplate.objects.filter(pk=184).update(content="""{% autoescape off %}Subject: Assignments
105+
106+
Review instructions and related resources are at:
107+
http://tools.ietf.org/area/sec/trac/wiki/SecDirReview{% for r in review_assignments %}{% ifchanged r.section %}
108+
109+
{{r.section}}
110+
111+
{% if r.section == 'Early review requests:' %}Reviewer Due Draft{% else %}Reviewer LC end Draft{% endif %}{% endifchanged %}
112+
{{ r.reviewer.person.plain_name|ljust:"22" }}{{ r.earlier_review|yesno:'R, , ' }}{% if r.section == 'Early review requests:' %}{{ r.review_request.deadline|date:"Y-m-d" }}{% else %}{{ r.lastcall_ends|default:"None " }}{% endif %} {{ r.review_request.doc_id }}-{% if r.review_request.requested_rev %}{{ r.review_request.requested_rev }}{% else %}{{ r.review_request.doc.rev }}{% endif %}{% endfor %}
113+
114+
{% if rotation_list %}Next in the reviewer rotation:
115+
116+
{% for p in rotation_list %} {{ p }}
117+
{% endfor %}{% endif %}{% endautoescape %}
118+
119+
""")
120+
121+
DBTemplate.objects.filter(pk=185).update(content="""{% autoescape off %}Subject: Open review assignments in {{group.acronym}}
122+
123+
Review instructions and related resources are at:
124+
<https://trac.ietf.org/trac/ops/wiki/Directorates>
125+
126+
The following reviewers have assignments:{% for r in review_assignments %}{% ifchanged r.section %}
127+
128+
{{r.section}}
129+
130+
{% if r.section == 'Early review requests:' %}Reviewer Due Draft{% else %}Reviewer LC end Draft{% endif %}{% endifchanged %}
131+
{{ r.reviewer.person.plain_name|ljust:"22" }} {% if r.section == 'Early review requests:' %}{{ r.review_request.deadline|date:"Y-m-d" }}{% else %}{{ r.lastcall_ends|default:"None " }}{% endif %} {{ r.review_request.doc_id }}-{% if r.review_request.requested_rev %}{{ r.review_request.requested_rev }}{% else %}{{ r.review_request.doc.rev }}{% endif %} {{ r.earlier_review_mark }}{% endfor %}
132+
133+
* Other revision previously reviewed
134+
** This revision already reviewed
135+
136+
{% if rotation_list %}Next in the reviewer rotation:
137+
138+
{% for p in rotation_list %} {{ p }}
139+
{% endfor %}{% endif %}{% endautoescape %}
140+
141+
""")
142+
143+
144+
def reverse(apps, schema_editor):
145+
DBTemplate = apps.get_model('dbtemplate','DBTemplate')
146+
147+
DBTemplate.objects.filter(pk=182).update(content="""{% autoescape off %}Subject: Open review assignments in {{group.acronym}}
148+
149+
The following reviewers have assignments:{% for r in review_requests %}{% ifchanged r.section %}
150+
151+
{{r.section}}
152+
153+
{% if r.section == 'Early review requests:' %}Reviewer Due Draft{% else %}Reviewer LC end Draft{% endif %}{% endifchanged %}
154+
{{ r.reviewer.person.plain_name|ljust:"22" }} {% if r.section == 'Early review requests:' %}{{ r.deadline|date:"Y-m-d" }}{% else %}{{ r.lastcall_ends|default:"None " }}{% endif %} {{ r.doc_id }}-{% if r.requested_rev %}{{ r.requested_rev }}{% else %}{{ r.doc.rev }}{% endif %} {{ r.earlier_review_mark }}{% endfor %}
155+
156+
* Other revision previously reviewed
157+
** This revision already reviewed
158+
159+
{% if rotation_list %}Next in the reviewer rotation:
160+
161+
{% for p in rotation_list %} {{ p }}
162+
{% endfor %}{% endif %}{% endautoescape %}
163+
""")
164+
165+
DBTemplate.objects.filter(pk=183).update(content="""{% autoescape off %}Subject: Review Assignments
166+
167+
Hi all,
168+
169+
The following reviewers have assignments:{% for r in review_requests %}{% ifchanged r.section %}
170+
171+
{{r.section}}
172+
173+
{% if r.section == 'Early review requests:' %}Reviewer Due Draft{% else %}Reviewer Type LC end Draft{% endif %}{% endifchanged %}
174+
{{ r.reviewer.person.plain_name|ljust:"22" }} {% if r.section == 'Early review requests:' %}{{ r.deadline|date:"Y-m-d" }}{% else %}{{r.type.name|ljust:"10"}}{{ r.lastcall_ends|default:"None " }}{% endif %} {{ r.doc_id }}-{% if r.requested_rev %}{{ r.requested_rev }}{% else %}{{ r.doc.rev }}{% endif %}{% if r.earlier_review_mark %} {{ r.earlier_review_mark }}{% endif %}{% endfor %}
175+
176+
* Other revision previously reviewed
177+
** This revision already reviewed
178+
179+
{% if rotation_list %}Next in the reviewer rotation:
180+
181+
{% for p in rotation_list %} {{ p }}
182+
{% endfor %}{% endif %}
183+
The LC and Telechat review templates are included below:
184+
-------------------------------------------------------
185+
186+
-- Begin LC Template --
187+
I am the assigned Gen-ART reviewer for this draft. The General Area
188+
Review Team (Gen-ART) reviews all IETF documents being processed
189+
by the IESG for the IETF Chair. Please treat these comments just
190+
like any other last call comments.
191+
192+
For more information, please see the FAQ at
193+
194+
<https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
195+
196+
Document:
197+
Reviewer:
198+
Review Date:
199+
IETF LC End Date:
200+
IESG Telechat date: (if known)
201+
202+
Summary:
203+
204+
Major issues:
205+
206+
Minor issues:
207+
208+
Nits/editorial comments:
209+
210+
-- End LC Template --
211+
212+
-- Begin Telechat Template --
213+
I am the assigned Gen-ART reviewer for this draft. The General Area
214+
Review Team (Gen-ART) reviews all IETF documents being processed
215+
by the IESG for the IETF Chair. Please wait for direction from your
216+
document shepherd or AD before posting a new version of the draft.
217+
218+
For more information, please see the FAQ at
219+
220+
<https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
221+
222+
Document:
223+
Reviewer:
224+
Review Date:
225+
IETF LC End Date:
226+
IESG Telechat date: (if known)
227+
228+
Summary:
229+
230+
Major issues:
231+
232+
Minor issues:
233+
234+
Nits/editorial comments:
235+
236+
-- End Telechat Template --
237+
{% endautoescape %}
238+
239+
""")
240+
241+
DBTemplate.objects.filter(pk=184).update(content="""{% autoescape off %}Subject: Assignments
242+
243+
Review instructions and related resources are at:
244+
http://tools.ietf.org/area/sec/trac/wiki/SecDirReview{% for r in review_requests %}{% ifchanged r.section %}
245+
246+
{{r.section}}
247+
248+
{% if r.section == 'Early review requests:' %}Reviewer Due Draft{% else %}Reviewer LC end Draft{% endif %}{% endifchanged %}
249+
{{ r.reviewer.person.plain_name|ljust:"22" }}{{ r.earlier_review|yesno:'R, , ' }}{% if r.section == 'Early review requests:' %}{{ r.deadline|date:"Y-m-d" }}{% else %}{{ r.lastcall_ends|default:"None " }}{% endif %} {{ r.doc_id }}-{% if r.requested_rev %}{{ r.requested_rev }}{% else %}{{ r.doc.rev }}{% endif %}{% endfor %}
250+
251+
{% if rotation_list %}Next in the reviewer rotation:
252+
253+
{% for p in rotation_list %} {{ p }}
254+
{% endfor %}{% endif %}{% endautoescape %}
255+
256+
""")
257+
258+
DBTemplate.objects.filter(pk=185).update(content="""{% autoescape off %}Subject: Open review assignments in {{group.acronym}}
259+
260+
Review instructions and related resources are at:
261+
<https://trac.ietf.org/trac/ops/wiki/Directorates>
262+
263+
The following reviewers have assignments:{% for r in review_requests %}{% ifchanged r.section %}
264+
265+
{{r.section}}
266+
267+
{% if r.section == 'Early review requests:' %}Reviewer Due Draft{% else %}Reviewer LC end Draft{% endif %}{% endifchanged %}
268+
{{ r.reviewer.person.plain_name|ljust:"22" }} {% if r.section == 'Early review requests:' %}{{ r.deadline|date:"Y-m-d" }}{% else %}{{ r.lastcall_ends|default:"None " }}{% endif %} {{ r.doc_id }}-{% if r.requested_rev %}{{ r.requested_rev }}{% else %}{{ r.doc.rev }}{% endif %} {{ r.earlier_review_mark }}{% endfor %}
269+
270+
* Other revision previously reviewed
271+
** This revision already reviewed
272+
273+
{% if rotation_list %}Next in the reviewer rotation:
274+
275+
{% for p in rotation_list %} {{ p }}
276+
{% endfor %}{% endif %}{% endautoescape %}
277+
278+
""")
279+
280+
281+
class Migration(migrations.Migration):
282+
283+
dependencies = [
284+
('dbtemplate', '0003_adjust_review_templates'),
285+
]
286+
287+
operations = [
288+
migrations.RunPython(forward,reverse),
289+
]

ietf/doc/tests_review.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ def test_accept_reviewer_assignment(self):
414414
review_team = ReviewTeamFactory(acronym="reviewteam", name="Review Team", type_id="review", list_email="reviewteam@ietf.org", parent=Group.objects.get(acronym="farfut"))
415415
rev_role = RoleFactory(group=review_team,person__user__username='reviewer',person__user__email='reviewer@example.com',name_id='reviewer')
416416
review_req = ReviewRequestFactory(doc=doc,team=review_team,type_id='early',state_id='assigned',requested_by=rev_role.person,deadline=datetime.datetime.now()+datetime.timedelta(days=20))
417-
assignment = ReviewAssignmentFactory(review_request=review_req, state_id='requested', reviewer=rev_role.person.email_set.first())
417+
assignment = ReviewAssignmentFactory(review_request=review_req, state_id='assigned', reviewer=rev_role.person.email_set.first())
418418

419419
url = urlreverse('ietf.doc.views_review.review_request', kwargs={ "name": doc.name, "request_id": review_req.pk })
420420
username = assignment.reviewer.person.user.username

ietf/group/forms.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,6 @@ def __init__(self, review_req, *args, **kwargs):
239239
close_initial = None
240240
if review_req.pk is None:
241241
close_initial = "no-review-version"
242-
elif review_req.reviewer:
243-
close_initial = "no-response"
244242
else:
245243
close_initial = "overtaken"
246244

0 commit comments

Comments
 (0)