Skip to content

Commit b158807

Browse files
committed
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. Commit ready for merge.
- Legacy-Id: 16854
1 parent f39d156 commit b158807

3 files changed

Lines changed: 15 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
@@ -1509,16 +1509,15 @@ def manage_review_requests(request, acronym, group_type=None, assignment_status=
15091509
if action=="close":
15101510
close_review_request(request, review_req, review_req.form.cleaned_data["close"],
15111511
review_req.form.cleaned_data["close_comment"])
1512-
elif action=="assign":
1512+
elif action=="assign" and review_req.form.cleaned_data["reviewer"]:
15131513
reqs_to_assign.append(review_req)
15141514

15151515
assignments_by_person = dict()
15161516
for r in reqs_to_assign:
1517-
if r.form.cleaned_data["reviewer"]:
1518-
person = r.form.cleaned_data["reviewer"].person
1519-
if not person in assignments_by_person:
1520-
assignments_by_person[person] = []
1521-
assignments_by_person[person].append(r)
1517+
person = r.form.cleaned_data["reviewer"].person
1518+
if not person in assignments_by_person:
1519+
assignments_by_person[person] = []
1520+
assignments_by_person[person].append(r)
15221521

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

ietf/review/utils.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
ReviewSecretarySettings)
3131
from ietf.utils.mail import send_mail
3232
from ietf.doc.utils import extract_complete_replaces_ancestor_mapping_for_docs
33+
from ietf.utils import log
34+
3335

3436
def active_review_teams():
3537
return Group.objects.filter(reviewteamsettings__isnull=False,state="active")
@@ -402,6 +404,10 @@ def email_reviewer_availability_change(request, team, reviewer_role, msg, by):
402404

403405
def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=False):
404406
assert review_req.state_id in ("requested", "assigned")
407+
# In the original implementation, review unassignments could be made on formsets by setting reviewers to None.
408+
# After refactoring to explicitly model ReviewAssignments, this no longer makes sense. Unassignment is now done
409+
# with a differnet view on a ReviewAssignment.
410+
log.assertion('reviewer is not None')
405411

406412
if review_req.reviewassignment_set.filter(reviewer=reviewer).exists():
407413
return
@@ -414,8 +420,7 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
414420

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

417-
if reviewer:
418-
possibly_advance_next_reviewer_for_team(review_req.team, reviewer.person_id, add_skip)
423+
possibly_advance_next_reviewer_for_team(review_req.team, reviewer.person_id, add_skip)
419424

420425
ReviewRequestDocEvent.objects.create(
421426
type="assigned_review_request",
@@ -425,7 +430,7 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
425430
desc="Request for {} review by {} is assigned to {}".format(
426431
review_req.type.name,
427432
review_req.team.acronym.upper(),
428-
reviewer.person if reviewer else "(None)",
433+
reviewer.person,
429434
),
430435
review_request=review_req,
431436
state_id='assigned',
@@ -439,7 +444,7 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
439444
desc="Request for {} review by {} is assigned to {}".format(
440445
review_req.type.name,
441446
review_req.team.acronym.upper(),
442-
reviewer.person if reviewer else "(None)",
447+
reviewer.person,
443448
),
444449
review_assignment=assignment,
445450
state_id='assigned',

0 commit comments

Comments
 (0)