Merged in [16923] from sasha@dashcare.nl:

Fix #2087 - Show doc authors and WG chairs in unassigned reviews views.
 - Legacy-Id: 16931
Note: SVN reference [16923] has been migrated to Git commit 93797b3fc1
This commit is contained in:
Henrik Levkowetz 2019-10-26 20:26:21 +00:00
commit 00fb8d4b43
6 changed files with 38 additions and 5 deletions

View file

@ -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)
@ -426,9 +428,9 @@ class ReviewTests(TestCase):
self.assertEqual(len(outbox), 1)
self.assertEqual('"Some Reviewer" <reviewer@example.com>', outbox[0]["To"])
message = outbox[0].get_payload(decode=True).decode("utf-8")
self.assertTrue("{} has assigned you".format(secretary.person.ascii) in message)
self.assertTrue("This team has completed other reviews" in message)
self.assertTrue("{} -01 Serious Issues".format(reviewer_email.person.ascii) in message)
self.assertIn("{} has assigned you".format(secretary.person.ascii), message)
self.assertIn("This team has completed other reviews", message)
self.assertIn("{} -01 Serious Issues".format(reviewer_email.person.ascii), message)
def test_accept_reviewer_assignment(self):

View file

@ -225,6 +225,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,
@ -233,6 +237,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,
})

View file

@ -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, {

View file

@ -1492,6 +1492,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

View file

@ -68,6 +68,22 @@
</tr>
{% endif %}
{% if review_req.doc.authors %}
<tr>
<th></th>
<th>Authors</th>
<td>{{ review_req.doc.authors|join:", " }}</td>
</tr>
{% endif %}
{% if wg_chairs %}
<tr>
<th></th>
<th>WG chairs</th>
<td>{{ wg_chairs|join:", " }}</td>
</tr>
{% endif %}
{% if doc.time %}
<tr>
<th></th>

View file

@ -56,6 +56,11 @@
Auto-suggested
{% endif %}
</p>
<p>
{% if r.doc.authors %}Authors: {{ r.doc.authors|join:", " }}{% endif %}
<br>
{% if r.wg_chairs %}WG chairs: {{ r.wg_chairs|join:", " }}{% endif %}
</p>
{% if r.latest_reqs %}
{% for rlatest in r.latest_reqs %}