Skip to content

Commit 81c5b50

Browse files
committed
Made some docevent creation more consistent. Addressed the TODOs added during the refactor.
- Legacy-Id: 16049
1 parent 9c53cd0 commit 81c5b50

4 files changed

Lines changed: 19 additions & 16 deletions

File tree

ietf/doc/factories.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ def states(obj, create, extracted, **kwargs):
209209
else:
210210
obj.set_state(State.objects.get(type_id='conflrev',slug='iesgeval'))
211211

212-
# TODO: This is too skeletal - improve it with, at least, a group generator that backs the object with a review team.
212+
# This is very skeletal. It is enough for the tests that use it now, but when it's needed, it will need to be improved with, at least, a group generator that backs the object with a review team.
213213
class ReviewFactory(BaseDocumentFactory):
214214
type_id = 'review'
215215
name = factory.LazyAttribute(lambda o: 'review-doesnotexist-00-%s-%s'%(o.group.acronym,datetime.date.today().isoformat()))

ietf/doc/views_review.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -674,8 +674,7 @@ def complete_review(request, name, assignment_id):
674674
"by": request.user.person,
675675
})
676676

677-
# TODO: replumb this function to work with assignments
678-
email_review_request_change(request, assignment.review_request, subject, msg, request.user.person, notify_secretary=True, notify_reviewer=False, notify_requested_by=False)
677+
email_review_assignment_change(request, assignment, subject, msg, request.user.person, notify_secretary=True, notify_reviewer=False, notify_requested_by=False)
679678

680679
role = request.user.person.role_set.filter(group=assignment.review_request.team,name='reviewer').first()
681680
if role and role.email.active:

ietf/review/models.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,7 @@ class ReviewRequest(models.Model):
119119
requested_rev = models.CharField(verbose_name="requested revision", max_length=16, blank=True, help_text="Fill in if a specific revision is to be reviewed, e.g. 02")
120120
comment = models.TextField(verbose_name="Requester's comments and instructions", max_length=2048, blank=True, help_text="Provide any additional information to show to the review team secretary and reviewer", default='')
121121

122-
# Moved to class Review:
123-
# Fields filled in as reviewer is assigned and as the review is
124-
# uploaded. Once these are filled in and we progress beyond being
125-
# requested/assigned, any changes to the assignment happens by
126-
# closing down the current request and making a new one, copying
127-
# the request-part fields above.
128-
# TODO: Change that - changing an assingment should only be creating a new Assignment and marking the old one as withdrawn
122+
# Moved to class ReviewAssignment:
129123
# These exist only to facilitate data migrations. They will be removed in the next release.
130124
unused_reviewer = ForeignKey(Email, blank=True, null=True)
131125

ietf/review/utils.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,6 @@ def extract_email_addresses(objs):
350350

351351
url = urlreverse("ietf.doc.views_review.review_request_forced_login", kwargs={ "name": review_assignment.review_request.doc.name, "request_id": review_assignment.review_request.pk })
352352
url = request.build_absolute_uri(url)
353-
# TODO : Why is this a bare send_mail?
354353
send_mail(request, to, request.user.person.formatted_email(), subject, "review/review_request_changed.txt", {
355354
"review_req_url": url,
356355
"review_req": review_assignment.review_request,
@@ -454,12 +453,11 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
454453
review_req.state_id = 'assigned'
455454
review_req.save()
456455

457-
review_req.reviewassignment_set.create(state_id='assigned', reviewer = reviewer, assigned_on = datetime.datetime.now())
456+
assignment = review_req.reviewassignment_set.create(state_id='assigned', reviewer = reviewer, assigned_on = datetime.datetime.now())
458457

459458
if reviewer:
460459
possibly_advance_next_reviewer_for_team(review_req.team, reviewer.person_id, add_skip)
461460

462-
# TODO - should these be ReviewAssignmentDocEvents?
463461
ReviewRequestDocEvent.objects.create(
464462
type="assigned_review_request",
465463
doc=review_req.doc,
@@ -471,7 +469,21 @@ def assign_review_request_to_reviewer(request, review_req, reviewer, add_skip=Fa
471469
reviewer.person if reviewer else "(None)",
472470
),
473471
review_request=review_req,
474-
state=None,
472+
state_id='assigned',
473+
)
474+
475+
ReviewAssignmentDocEvent.objects.create(
476+
type="assigned_review_request",
477+
doc=review_req.doc,
478+
rev=review_req.doc.rev,
479+
by=request.user.person,
480+
desc="Request for {} review by {} is assigned to {}".format(
481+
review_req.type.name,
482+
review_req.team.acronym.upper(),
483+
reviewer.person if reviewer else "(None)",
484+
),
485+
review_assignment=assignment,
486+
state_id='assigned',
475487
)
476488

477489
msg = "%s has assigned you as a reviewer for this document." % request.user.person.ascii
@@ -739,7 +751,6 @@ def extract_revision_ordered_review_assignments_for_documents_and_replaced(revie
739751

740752
return res
741753

742-
# TODO - remove when there are no remaining callers
743754
def extract_revision_ordered_review_requests_for_documents_and_replaced(review_request_queryset, names):
744755
"""Extracts all review requests for document names (including replaced ancestors), return them neatly sorted."""
745756

@@ -748,7 +759,6 @@ def extract_revision_ordered_review_requests_for_documents_and_replaced(review_r
748759
replaces = extract_complete_replaces_ancestor_mapping_for_docs(names)
749760

750761
requests_for_each_doc = defaultdict(list)
751-
# TODO : See if this function is still meeting the need. I removed "-reviewed_rev" from the order_by below. The whole thing may need to be operating on ReviewAssignments?
752762
for r in review_request_queryset.filter(doc__in=set(e for l in replaces.itervalues() for e in l) | names).order_by("-time", "-id").iterator():
753763
requests_for_each_doc[r.doc_id].append(r)
754764

0 commit comments

Comments
 (0)