Added default to review completion draft version number. If the reviewer
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
This commit is contained in:
parent
0783890fa5
commit
dc3e8ee810
|
@ -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)
|
||||
|
@ -390,9 +390,33 @@ class CompleteReviewForm(forms.Form):
|
|||
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)
|
||||
|
||||
|
@ -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']
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
|
|
@ -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 > * {
|
||||
|
|
Loading…
Reference in a new issue