From 93797b3fc10e23018833d6b1dd4ad84584cb8abe Mon Sep 17 00:00:00 2001 From: Sasha Romijn Date: Thu, 24 Oct 2019 07:25:47 +0000 Subject: [PATCH] Fix #2087 - Show doc authors and WG chairs in unassigned reviews views. Commit ready for merge. - Legacy-Id: 16923 --- ietf/doc/tests_review.py | 4 +++- ietf/doc/views_review.py | 5 +++++ ietf/group/tests_review.py | 4 +++- ietf/group/views.py | 3 +++ ietf/templates/doc/review/request_info.html | 16 ++++++++++++++++ ietf/templates/group/manage_review_requests.html | 5 +++++ 6 files changed, 35 insertions(+), 2 deletions(-) diff --git a/ietf/doc/tests_review.py b/ietf/doc/tests_review.py index fadfd0696..7c16ec2b9 100644 --- a/ietf/doc/tests_review.py +++ b/ietf/doc/tests_review.py @@ -160,7 +160,8 @@ class ReviewTests(TestCase): self.assertContains(r, "{} Review".format(review_req.type.name)) def test_review_request(self): - doc = WgDraftFactory(group__acronym='mars',rev='01') + author = PersonFactory() + doc = WgDraftFactory(group__acronym='mars',rev='01', authors=[author]) review_team = ReviewTeamFactory(acronym="reviewteam", name="Review Team", type_id="review", list_email="reviewteam@ietf.org", parent=Group.objects.get(acronym="farfut")) rev_role = RoleFactory(group=review_team,person__user__username='reviewer',person__user__email='reviewer@example.com',name_id='reviewer') 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)) @@ -171,6 +172,7 @@ class ReviewTests(TestCase): r = self.client.get(url) self.assertContains(r, review_req.team.acronym) self.assertContains(r, review_req.team.name) + self.assertContains(r, author.name) url = urlreverse('ietf.doc.views_review.review_request_forced_login', kwargs={ "name": doc.name, "request_id": review_req.pk }) r = self.client.get(url) diff --git a/ietf/doc/views_review.py b/ietf/doc/views_review.py index 9fc29456c..d74adde1c 100644 --- a/ietf/doc/views_review.py +++ b/ietf/doc/views_review.py @@ -223,6 +223,10 @@ def review_request(request, name, request_id): assignment.save() return redirect(review_request, name=review_req.doc.name, request_id=review_req.pk) + wg_chairs = None + if review_req.doc.group: + wg_chairs = [role.person for role in review_req.doc.group.role_set.filter(name__slug='chair')] + return render(request, 'doc/review/review_request.html', { 'doc': doc, 'review_req': review_req, @@ -231,6 +235,7 @@ def review_request(request, name, request_id): 'can_edit_comment': can_edit_comment, 'can_edit_deadline': can_edit_deadline, 'assignments': assignments, + 'wg_chairs': wg_chairs, }) diff --git a/ietf/group/tests_review.py b/ietf/group/tests_review.py index 75df183f2..7e7c55cae 100644 --- a/ietf/group/tests_review.py +++ b/ietf/group/tests_review.py @@ -185,7 +185,8 @@ class ReviewTests(TestCase): group = ReviewTeamFactory() RoleFactory(name_id='reviewer',group=group,person__user__username='reviewer').person marsperson = RoleFactory(name_id='reviewer',group=group,person=PersonFactory(name="Mars Anders Chairman",user__username='marschairman')).person - review_req1 = ReviewRequestFactory(doc__pages=2,doc__shepherd=marsperson.email(),team=group) + doc_author = PersonFactory() + review_req1 = ReviewRequestFactory(doc__pages=2,doc__shepherd=marsperson.email(),team=group, doc__authors=[doc_author]) review_req2 = ReviewRequestFactory(team=group) review_req3 = ReviewRequestFactory(team=group) RoleFactory(name_id='chair',group=review_req1.doc.group,person=marsperson) @@ -205,6 +206,7 @@ class ReviewTests(TestCase): r = self.client.get(unassigned_url) self.assertEqual(r.status_code, 200) self.assertContains(r, review_req1.doc.name) + self.assertContains(r, doc_author.name) # Test that conflicts are detected r = self.client.post(unassigned_url, { diff --git a/ietf/group/views.py b/ietf/group/views.py index 56809b113..1d5f1f090 100644 --- a/ietf/group/views.py +++ b/ietf/group/views.py @@ -1493,6 +1493,9 @@ def manage_review_requests(request, acronym, group_type=None, assignment_status= augment_review_requests_with_events(l) req.latest_reqs = l + req.wg_chairs = None + if req.doc.group: + req.wg_chairs = [role.person for role in req.doc.group.role_set.filter(name__slug='chair')] saving = False newly_closed = newly_opened = newly_assigned = 0 diff --git a/ietf/templates/doc/review/request_info.html b/ietf/templates/doc/review/request_info.html index d7ba5f915..26b21a803 100644 --- a/ietf/templates/doc/review/request_info.html +++ b/ietf/templates/doc/review/request_info.html @@ -68,6 +68,22 @@ {% endif %} + {% if review_req.doc.authors %} + + + Authors + {{ review_req.doc.authors|join:", " }} + + {% endif %} + + {% if wg_chairs %} + + + WG chairs + {{ wg_chairs|join:", " }} + + {% endif %} + {% if doc.time %} diff --git a/ietf/templates/group/manage_review_requests.html b/ietf/templates/group/manage_review_requests.html index 873f432a3..1a2cd83c6 100644 --- a/ietf/templates/group/manage_review_requests.html +++ b/ietf/templates/group/manage_review_requests.html @@ -56,6 +56,11 @@ Auto-suggested {% endif %}

+

+ {% if r.doc.authors %}Authors: {{ r.doc.authors|join:", " }}{% endif %} +
+ {% if r.wg_chairs %}WG chairs: {{ r.wg_chairs|join:", " }}{% endif %} +

{% if r.latest_reqs %} {% for rlatest in r.latest_reqs %}