Skip to content

Commit

Permalink
Added default to review completion draft version number. If the reviewer
Browse files Browse the repository at this point in the history
is filling in the review form himself the default will be the latest
version of the draft. If it is someone else filling in the review
then the version number is the latest version at the point when review
was assigned (i.e., it assumes reviewer did review on version he was
requested to and then document authors might have updated the document).
Also mark the document versions that are earlier than the review request
date with red background and those which are newer with green background.
Fixes #2125. Commit ready for merge.
 - Legacy-Id: 15354
  • Loading branch information
kivinen committed Jul 14, 2018
1 parent 0783890 commit dc3e8ee
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 6 deletions.
37 changes: 31 additions & 6 deletions ietf/doc/views_review.py
Expand Up @@ -373,7 +373,7 @@ class CompleteReviewForm(forms.Form):
completion_time = forms.TimeField(widget=forms.HiddenInput, initial=datetime.time.min)
cc = MultiEmailField(required=False, help_text="Email addresses to send to in addition to the review team list")

def __init__(self, review_req, *args, **kwargs):
def __init__(self, review_req, is_reviewer, *args, **kwargs):
self.review_req = review_req

super(CompleteReviewForm, self).__init__(*args, **kwargs)
Expand All @@ -390,9 +390,33 @@ def __init__(self, review_req, *args, **kwargs):
for slug, label in self.fields["state"].choices
]

self.fields["reviewed_rev"].help_text = mark_safe(
" ".join("<a class=\"rev label label-default\" title=\"{1:%Y-%m-%d}\">{0}</a>".format(*r)
for r in known_revisions))
if 'initial' in kwargs:
reviewed_rev_class = []
for r in known_revisions:
last_version = r[0]
if r[1] < review_req.time:
kwargs["initial"]["reviewed_rev"] = r[0]
reviewed_rev_class.append('reviewer-doc-past')
else:
reviewed_rev_class.append('reviewer-doc-ok')

# After this the ones in future are marked with green, but we
# want also to mark the oldest one before the review was assigned
# so shift list one step.
reviewed_rev_class.pop(0)
reviewed_rev_class.append('reviewer-doc-ok')

# If it is users own review, then default to latest version
if is_reviewer:
kwargs["initial"]["reviewed_rev"] = last_version

self.fields["reviewed_rev"].help_text = mark_safe(
" ".join("<a class=\"rev label label-default {0}\" title=\"{2:%Y-%m-%d}\">{1}</a>".format(reviewed_rev_class[i], *r)
for i, r in enumerate(known_revisions)))
else:
self.fields["reviewed_rev"].help_text = mark_safe(
" ".join("<a class=\"rev label label-default {0}\" title=\"{2:%Y-%m-%d}\">{1}</a>".format('', *r)
for i, r in enumerate(known_revisions)))

self.fields["result"].queryset = self.fields["result"].queryset.filter(reviewteamsettings__group=review_req.team)

Expand Down Expand Up @@ -463,7 +487,8 @@ def complete_review(request, name, request_id):
(to, cc) = gather_address_lists('review_completed',review_req = review_req)

if request.method == "POST":
form = CompleteReviewForm(review_req, request.POST, request.FILES)
form = CompleteReviewForm(review_req, is_reviewer,
request.POST, request.FILES)
if form.is_valid():
review_submission = form.cleaned_data['review_submission']

Expand Down Expand Up @@ -626,7 +651,7 @@ def complete_review(request, name, request_id):
except TemplateDoesNotExist:
pass

form = CompleteReviewForm(review_req, initial=initial)
form = CompleteReviewForm(review_req, is_reviewer, initial=initial)

mail_archive_query_urls = mailarch.construct_query_urls(review_req)

Expand Down
9 changes: 9 additions & 0 deletions ietf/static/ietf/css/ietf.css
Expand Up @@ -590,6 +590,15 @@ table.simple-table td:last-child {
background-color: #F0F0F0;
}


.reviewer-doc-past {
background-color: #800000;
}

.reviewer-doc-ok {
background-color: #008000;
}

/* === Statistics =========================================================== */

.stats-options > * {
Expand Down

0 comments on commit dc3e8ee

Please sign in to comment.