Skip to content

Commit ec0d6a7

Browse files
committed
Merged in [12593] from rjsparks@nostrum.com:
Send mail to team secretaries when a review is explicitly requested. Change the From and Subject for assignment emails to reviewers to make it clearer what the review is for and who assigned it. Fixes ietf-tools#2053 and ietf-tools#2114. - Legacy-Id: 12602 Note: SVN reference [12593] has been migrated to Git commit 10f4892
2 parents 7686ce7 + 10f4892 commit ec0d6a7

5 files changed

Lines changed: 31 additions & 6 deletions

File tree

ietf/doc/tests_review.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,23 @@ def test_request_review(self):
4949
review_team3 = Group.objects.get(acronym='reviewteam3')
5050

5151
url = urlreverse('ietf.doc.views_review.request_review', kwargs={ "name": doc.name })
52-
login_testing_unauthorized(self, "reviewsecretary", url)
52+
login_testing_unauthorized(self, "ad", url)
5353

5454
# get
5555
r = self.client.get(url)
5656
self.assertEqual(r.status_code, 200)
5757

5858
deadline = datetime.date.today() + datetime.timedelta(days=10)
5959

60+
empty_outbox()
61+
6062
# post request
6163
r = self.client.post(url, {
6264
"type": "early",
6365
"team": [review_team.pk,review_team3.pk],
6466
"deadline": deadline.isoformat(),
6567
"requested_rev": "01",
66-
"requested_by": Person.objects.get(user__username="reviewsecretary").pk,
68+
"requested_by": Person.objects.get(user__username="ad").pk,
6769
"comment": "gZT2iiYqYLKiQHvsgWCcVLdH"
6870
})
6971
self.assertEqual(r.status_code, 302)
@@ -77,6 +79,12 @@ def test_request_review(self):
7779
self.assertEqual(doc.latest_event().type, "requested_review")
7880
self.assertEqual(req.comment, "gZT2iiYqYLKiQHvsgWCcVLdH")
7981

82+
self.assertEqual(len(outbox),2)
83+
self.assertTrue('reviewteam Early' in outbox[0]['Subject'])
84+
self.assertTrue('reviewsecretary@' in outbox[0]['To'])
85+
self.assertTrue('reviewteam3 Early' in outbox[1]['Subject'])
86+
self.assertTrue('reviewsecretary3@' in outbox[1]['To'])
87+
8088
def test_request_review_of_rfc(self):
8189
make_test_data()
8290
doc = Document.objects.filter(states__type_id='draft',states__slug='rfc').first()

ietf/doc/views_review.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,15 @@ def request_review(request, name):
127127
state=None,
128128
)
129129

130+
subject = "%s %s Review requested" % (review_req.team.acronym, review_req.type.name)
131+
132+
msg = subject
133+
134+
if review_req.comment:
135+
msg += "\n\n"+review_req.comment
136+
137+
email_review_request_change(request, review_req, subject, msg, by=request.user.person, notify_secretary=True, notify_reviewer=False, notify_requested_by=True)
138+
130139
return redirect('doc_view', name=doc.name)
131140

132141
else:

ietf/review/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ def extract_email_addresses(objs):
369369

370370
url = urlreverse("ietf.doc.views_review.review_request", kwargs={ "name": review_req.doc.name, "request_id": review_req.pk })
371371
url = request.build_absolute_uri(url)
372-
send_mail(request, to, None, subject, "review/review_request_changed.txt", {
372+
send_mail(request, to, request.user.person.formatted_email(), subject, "review/review_request_changed.txt", {
373373
"review_req_url": url,
374374
"review_req": review_req,
375375
"msg": msg,
@@ -452,8 +452,8 @@ def assign_review_request_to_reviewer(request, review_req, reviewer):
452452

453453
email_review_request_change(
454454
request, review_req,
455-
"Assigned to review %s" % review_req.doc.name,
456-
"%s has assigned you to review the document." % request.user.person,
455+
"%s %s assignment: %s" % (review_req.team.acronym.capitalize(), review_req.type.name,review_req.doc.name),
456+
"%s has assigned you as a reviewer for this document." % request.user.person,
457457
by=request.user.person, notify_secretary=False, notify_reviewer=True, notify_requested_by=False)
458458

459459
def possibly_advance_next_reviewer_for_team(team, assigned_review_to_person_id):

ietf/templates/review/review_request_changed.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{% autoescape off %}
22
{{ review_req.type.name }} review of: {{ review_req.doc.name }} ({% if review_req.requested_rev %}rev. {{ review_req.requested_rev }}{% else %}no specific version{% endif %})
3-
Deadline: {{ review_req.deadline|date:"Y-m-d" }}
3+
Deadline: {{ review_req.deadline|date:"Y-m-d" }}{% if review_req.requested_by %}
4+
Requested by: {{ review_req.requested_by.plain_name }}{% endif %}
45

56
{{ review_req_url }}
67

ietf/utils/test_data.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,13 @@ def make_review_data(doc):
424424
reviewsecretary = Person.objects.create(name=u"Réview Secretary", ascii="Review Secretary", user=u)
425425
reviewsecretary_email = Email.objects.create(address="reviewsecretary@example.com", person=reviewsecretary)
426426
Role.objects.create(name_id="secr", person=reviewsecretary, email=reviewsecretary_email, group=team1)
427+
428+
u = User.objects.create(username="reviewsecretary3")
429+
u.set_password("reviewsecretary3+password")
430+
u.save()
431+
reviewsecretary3 = Person.objects.create(name=u"Réview Secretary3", ascii="Review Secretary3", user=u)
432+
reviewsecretary3_email = Email.objects.create(address="reviewsecretary3@example.com", person=reviewsecretary)
433+
Role.objects.create(name_id="secr", person=reviewsecretary3, email=reviewsecretary3_email, group=team3)
427434

428435
return review_req
429436

0 commit comments

Comments
 (0)