Skip to content

Commit 57eb584

Browse files
committed
Merged in [12489] from rjsparks@nostrum.com:
Save a new reviewrequest for each team requested in the request form. Fixes ietf-tools#2094. - Legacy-Id: 12491 Note: SVN reference [12489] has been migrated to Git commit 4fff1ab
1 parent e83cee2 commit 57eb584

5 files changed

Lines changed: 26 additions & 17 deletions

File tree

ietf/doc/tests_review.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ def test_request_review(self):
4646
doc = make_test_data()
4747
review_req = make_review_data(doc)
4848
review_team = review_req.team
49+
review_team3 = Group.objects.get(acronym='reviewteam3')
4950

5051
url = urlreverse('ietf.doc.views_review.request_review', kwargs={ "name": doc.name })
5152
login_testing_unauthorized(self, "reviewsecretary", url)
@@ -59,18 +60,21 @@ def test_request_review(self):
5960
# post request
6061
r = self.client.post(url, {
6162
"type": "early",
62-
"team": review_team.pk,
63+
"team": [review_team.pk,review_team3.pk],
6364
"deadline": deadline.isoformat(),
6465
"requested_rev": "01",
6566
"requested_by": Person.objects.get(user__username="reviewsecretary").pk,
6667
})
6768
self.assertEqual(r.status_code, 302)
6869

69-
req = ReviewRequest.objects.get(doc=doc, state="requested")
70-
self.assertEqual(req.deadline, deadline)
71-
self.assertEqual(req.team, review_team)
72-
self.assertEqual(req.requested_rev, "01")
73-
self.assertEqual(doc.latest_event().type, "requested_review")
70+
qs = ReviewRequest.objects.filter(doc=doc, state="requested")
71+
self.assertEqual(qs.count(),2)
72+
self.assertEqual(set(qs.values_list('team__acronym',flat=True)),set(['reviewteam','reviewteam3']))
73+
for req in qs:
74+
self.assertEqual(req.deadline, deadline)
75+
self.assertEqual(req.requested_rev, "01")
76+
self.assertEqual(doc.latest_event().type, "requested_review")
77+
7478

7579
def test_doc_page(self):
7680
doc = make_test_data()

ietf/doc/views_review.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ def request_review(request, name):
111111
teams = form.cleaned_data["team"]
112112
for team in teams:
113113
review_req = form.save(commit=False)
114+
review_req.id = None
114115
review_req.doc = doc
115116
review_req.state = ReviewRequestStateName.objects.get(slug="requested", used=True)
116117
review_req.team = team

ietf/group/tests_review.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def test_reviewer_overview(self):
129129
availability="unavailable",
130130
)
131131

132-
settings = ReviewerSettings.objects.get(person=reviewer)
132+
settings = ReviewerSettings.objects.get(person=reviewer,team=review_req1.team)
133133
settings.skip_next = 1
134134
settings.save()
135135

ietf/utils/test_data.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -385,24 +385,28 @@ def rfc_for_status_change_test_factory(name,rfc_num,std_level_id):
385385
return draft
386386

387387
def make_review_data(doc):
388-
team = create_group(acronym="reviewteam", name="Review Team", type_id="dir", list_email="reviewteam@ietf.org", parent=Group.objects.get(acronym="farfut"))
389-
for r in ReviewResultName.objects.filter(slug__in=["issues", "ready-issues", "ready", "not-ready"]):
390-
ResultUsedInReviewTeam.objects.create(team=team, result=r)
391-
for t in ReviewTypeName.objects.filter(slug__in=["early", "lc", "telechat"]):
392-
TypeUsedInReviewTeam.objects.create(team=team, type=t)
388+
team1 = create_group(acronym="reviewteam", name="Review Team", type_id="dir", list_email="reviewteam@ietf.org", parent=Group.objects.get(acronym="farfut"))
389+
team2 = create_group(acronym="reviewteam2", name="Review Team 2", type_id="dir", list_email="reviewteam2@ietf.org", parent=Group.objects.get(acronym="farfut"))
390+
team3 = create_group(acronym="reviewteam3", name="Review Team 3", type_id="dir", list_email="reviewteam2@ietf.org", parent=Group.objects.get(acronym="farfut"))
391+
for team in (team1, team2, team3):
392+
for r in ReviewResultName.objects.filter(slug__in=["issues", "ready-issues", "ready", "not-ready"]):
393+
ResultUsedInReviewTeam.objects.create(team=team, result=r)
394+
for t in ReviewTypeName.objects.filter(slug__in=["early", "lc", "telechat"]):
395+
TypeUsedInReviewTeam.objects.create(team=team, type=t)
393396

394397
u = User.objects.create(username="reviewer")
395398
u.set_password("reviewer+password")
396399
u.save()
397400
reviewer = Person.objects.create(name=u"Some Réviewer", ascii="Some Reviewer", user=u)
398401
email = Email.objects.create(address="reviewer@example.com", person=reviewer)
399402

400-
Role.objects.create(name_id="reviewer", person=reviewer, email=email, group=team)
401-
ReviewerSettings.objects.create(team=team, person=reviewer, min_interval=14, skip_next=0)
403+
for team in (team1, team2, team3):
404+
Role.objects.create(name_id="reviewer", person=reviewer, email=email, group=team)
405+
ReviewerSettings.objects.create(team=team, person=reviewer, min_interval=14, skip_next=0)
402406

403407
review_req = ReviewRequest.objects.create(
404408
doc=doc,
405-
team=team,
409+
team=team1,
406410
type_id="early",
407411
deadline=datetime.datetime.now() + datetime.timedelta(days=20),
408412
state_id="accepted",
@@ -411,14 +415,14 @@ def make_review_data(doc):
411415
)
412416

413417
p = Person.objects.get(user__username="marschairman")
414-
Role.objects.create(name_id="reviewer", person=p, email=p.email_set.first(), group=team)
418+
Role.objects.create(name_id="reviewer", person=p, email=p.email_set.first(), group=team1)
415419

416420
u = User.objects.create(username="reviewsecretary")
417421
u.set_password("reviewsecretary+password")
418422
u.save()
419423
reviewsecretary = Person.objects.create(name=u"Réview Secretary", ascii="Review Secretary", user=u)
420424
reviewsecretary_email = Email.objects.create(address="reviewsecretary@example.com", person=reviewsecretary)
421-
Role.objects.create(name_id="secr", person=reviewsecretary, email=reviewsecretary_email, group=team)
425+
Role.objects.create(name_id="secr", person=reviewsecretary, email=reviewsecretary_email, group=team1)
422426

423427
return review_req
424428

release-coverage.json.gz

-4 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)