Skip to content

Commit 9e21c01

Browse files
committed
Merged in [16854] from rjsparks@nostrum.com:
Remove some pre-ReviewAssignment refactor logic, and simplify what remains while still allowing a group secretary to not assign a row on the unassigned requests form after touching the control to assign a reviewer. Fixes ietf-tools#2812. - Legacy-Id: 16900 Note: SVN reference [16854] has been migrated to Git commit b158807
1 parent a4e49d8 commit 9e21c01

3 files changed

Lines changed: 14 additions & 11 deletions

File tree

ietf/doc/views_review.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ def close_request(request, name, request_id):
281281

282282

283283
class AssignReviewerForm(forms.Form):
284-
reviewer = PersonEmailChoiceField(label="Assign Additional Reviewer", empty_label="(None)", required=False)
284+
reviewer = PersonEmailChoiceField(label="Assign Additional Reviewer", empty_label="(None)")
285285
add_skip = forms.BooleanField(label='Skip next time', required=False)
286286

287287
def __init__(self, review_req, *args, **kwargs):

ietf/group/views.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,16 +1525,15 @@ def manage_review_requests(request, acronym, group_type=None, assignment_status=
15251525
if action=="close":
15261526
close_review_request(request, review_req, review_req.form.cleaned_data["close"],
15271527
review_req.form.cleaned_data["close_comment"])
1528-
elif action=="assign":
1528+
elif action=="assign" and review_req.form.cleaned_data["reviewer"]:
15291529
reqs_to_assign.append(review_req)
15301530

15311531
assignments_by_person = dict()
15321532
for r in reqs_to_assign:
1533-
if r.form.cleaned_data["reviewer"]:
1534-
person = r.form.cleaned_data["reviewer"].person
1535-
if not person in assignments_by_person:
1536-
assignments_by_person[person] = []
1537-
assignments_by_person[person].append(r)
1533+
person = r.form.cleaned_data["reviewer"].person
1534+
if not person in assignments_by_person:
1535+
assignments_by_person[person] = []
1536+
assignments_by_person[person].append(r)
15381537

15391538
# Make sure the any assignments to the person at the head
15401539
# of the rotation queue are processed first so that the queue

ietf/review/utils.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
ReviewSecretarySettings, ReviewTeamSettings)
3232
from ietf.utils.mail import send_mail
3333
from ietf.doc.utils import extract_complete_replaces_ancestor_mapping_for_docs
34+
from ietf.utils import log
3435

3536
# The origin date is used to have a single reference date for "every X days".
3637
# This date is arbitrarily chosen and has no special meaning, but should be consistent.
@@ -407,6 +408,10 @@ def email_reviewer_availability_change(request, team, reviewer_role, msg, by):
407408

408409
def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=False):
409410
assert review_req.state_id in ("requested", "assigned")
411+
# In the original implementation, review unassignments could be made on formsets by setting reviewers to None.
412+
# After refactoring to explicitly model ReviewAssignments, this no longer makes sense. Unassignment is now done
413+
# with a different view on a ReviewAssignment.
414+
log.assertion('reviewer is not None')
410415

411416
if review_req.reviewassignment_set.filter(reviewer=reviewer).exists():
412417
return
@@ -419,8 +424,7 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
419424

420425
assignment = review_req.reviewassignment_set.create(state_id='assigned', reviewer = reviewer, assigned_on = datetime.datetime.now())
421426

422-
if reviewer:
423-
possibly_advance_next_reviewer_for_team(review_req.team, reviewer.person_id, add_skip)
427+
possibly_advance_next_reviewer_for_team(review_req.team, reviewer.person_id, add_skip)
424428

425429
ReviewRequestDocEvent.objects.create(
426430
type="assigned_review_request",
@@ -430,7 +434,7 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
430434
desc="Request for {} review by {} is assigned to {}".format(
431435
review_req.type.name,
432436
review_req.team.acronym.upper(),
433-
reviewer.person if reviewer else "(None)",
437+
reviewer.person,
434438
),
435439
review_request=review_req,
436440
state_id='assigned',
@@ -444,7 +448,7 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
444448
desc="Request for {} review by {} is assigned to {}".format(
445449
review_req.type.name,
446450
review_req.team.acronym.upper(),
447-
reviewer.person if reviewer else "(None)",
451+
reviewer.person,
448452
),
449453
review_assignment=assignment,
450454
state_id='assigned',

0 commit comments

Comments
 (0)