Skip to content

Commit fd8af4b

Browse files
committed
Review assignment email includes a link to the review request that ensures the reviewer is logged in. Fixes ietf-tools#2543. Commit ready for merge
- Legacy-Id: 15444
1 parent e351d32 commit fd8af4b

4 files changed

Lines changed: 15 additions & 1 deletion

File tree

ietf/doc/tests_review.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,14 @@ def test_review_request(self):
143143
self.assertIn(review_req.team.acronym, unicontent(r))
144144
self.assertIn(review_req.team.name, unicontent(r))
145145

146+
url = urlreverse('ietf.doc.views_review.review_request_forced_login', kwargs={ "name": doc.name, "request_id": review_req.pk })
147+
r = self.client.get(url)
148+
self.assertEqual(r.status_code, 302)
149+
self.client.login(username='reviewer', password="reviewer+password")
150+
r = self.client.get(url,follow=True)
151+
self.assertEqual(r.status_code, 200)
152+
153+
146154
def test_close_request(self):
147155
doc = WgDraftFactory(group__acronym='mars',rev='01')
148156
review_team = ReviewTeamFactory(acronym="reviewteam", name="Review Team", type_id="review", list_email="reviewteam@ietf.org", parent=Group.objects.get(acronym="farfut"))

ietf/doc/urls_review.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
urlpatterns = [
55
url(r'^$', views_review.request_review),
66
url(r'^(?P<request_id>[0-9]+)/$', views_review.review_request),
7+
url(r'^(?P<request_id>[0-9]+)/login/$', views_review.review_request_forced_login),
78
url(r'^(?P<request_id>[0-9]+)/close/$', views_review.close_request),
89
url(r'^(?P<request_id>[0-9]+)/assignreviewer/$', views_review.assign_reviewer),
910
url(r'^(?P<request_id>[0-9]+)/rejectreviewerassignment/$', views_review.reject_reviewer_assignment),

ietf/doc/views_review.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,11 @@ def request_review(request, name):
173173
'scheduled_for_telechat_days': (scheduled_for_telechat - now.date()).days if scheduled_for_telechat else None,
174174
})
175175

176+
@login_required
177+
def review_request_forced_login(request, name, request_id):
178+
return redirect(urlreverse("ietf.doc.views_review.review_request", kwargs={ "name": name, "request_id": request_id }))
179+
180+
176181
def review_request(request, name, request_id):
177182
doc = get_object_or_404(Document, name=name)
178183
review_req = get_object_or_404(ReviewRequest, pk=request_id)

ietf/review/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ def extract_email_addresses(objs):
361361

362362
to = list(to)
363363

364-
url = urlreverse("ietf.doc.views_review.review_request", kwargs={ "name": review_req.doc.name, "request_id": review_req.pk })
364+
url = urlreverse("ietf.doc.views_review.review_request_forced_login", kwargs={ "name": review_req.doc.name, "request_id": review_req.pk })
365365
url = request.build_absolute_uri(url)
366366
send_mail(request, to, request.user.person.formatted_email(), subject, "review/review_request_changed.txt", {
367367
"review_req_url": url,

0 commit comments

Comments
 (0)