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:
commit
00fb8d4b43
|
@ -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):
|
||||
|
||||
|
|
|
@ -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,
|
||||
})
|
||||
|
||||
|
||||
|
|
|
@ -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, {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 %}
|
||||
|
|
Loading…
Reference in a new issue