Added review assignment information to the review-document view. Addresses issue #2717.

- Legacy-Id: 16203
This commit is contained in:
Henrik Levkowetz 2019-05-07 21:53:38 +00:00
parent d627049531
commit 1b5cdfe2f5
2 changed files with 105 additions and 98 deletions

View file

@ -598,7 +598,8 @@ def document_main(request, name, rev=None):
# If we want to go back to using markup_txt.markup_unicode, call it explicitly here like this:
# content = markup_txt.markup_unicode(content, split=False, width=80)
review_assignment = ReviewAssignment.objects.filter(review=doc.name).first()
assignments = ReviewAssignment.objects.filter(review=doc.name)
review_assignment = assignments.first()
other_reviews = []
if review_assignment:
@ -613,6 +614,7 @@ def document_main(request, name, rev=None):
snapshot=snapshot,
review_req=review_assignment.review_request,
other_reviews=other_reviews,
assignments=assignments,
))
raise Http404("Document not found: %s" % (name + ("-%s"%rev if rev else "")))

View file

@ -104,107 +104,112 @@
</tr>
{% endif %}
</tbody>
{% for assignment in assignments %}
<tbody class="meta">
<tr>
<th>{% if forloop.first %}Assignment{{assignments|pluralize}}{% endif %}</th>
<th>Reviewer</th>
<td>
<b>{{ assignment.reviewer.person }}</b>
{% if assignment.can_reject_reviewer_assignment or assignment.can_accept_reviewer_assignment %}
<div class="reviewer-assignment-not-accepted">
{% if assignment.state_id == "assigned"%}
<em>Assignment not accepted yet:</em>
{% else %}
<em>Assignment accepted:</em>
{% endif %}
{% if assignment.can_reject_reviewer_assignment %}
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.reject_reviewer_assignment" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> Reject</a>
{% endif %}
{% if assignment.can_accept_reviewer_assignment %}
<form style="display:inline" method="post" action="{% url "ietf.doc.views_review.review_request" name=doc.name request_id=review_req.pk %}">{% csrf_token %}<button class="btn btn-success btn-xs" type="submit" name="action" value="accept"><span class="fa fa-check"></span> Accept</button></form>
{% endif %}
</div>
{% endif %}
</td>
</tr>
<tr>
<th></th>
<th>State</th>
<td>{{ assignment.state.name }}
{% if snapshot %}
<span class="label label-warning">Snapshot</span>
{% endif %}
</td>
</tr>
{% if assignment.state_id != "withdrawn" and assignment.state_id != "no-response" and assignment.state_id != "rejected" %}
<tr>
<th></th>
<th>Review</th>
<td>
{% if assignment.review %}
<a href="{{ assignment.review.get_absolute_url }}">{{ assignment.review.name }}</a>
{% elif assignment.state_id == "assigned" or assignment.state_id == "accepted" %}
Not completed yet
{% else %}
Not available
{% endif %}
{% if assignment.can_complete_review %}
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.complete_review" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-pencil-square-o"></span> {% if assignment.state_id == "assigned" or assignment.state_id == "accepted" %}Complete review{% else %}Correct review{% endif %}</a>
{% endif %}
{% if assignment.state_id == "assigned" or assignment.state_id == "accepted" %}
{% if can_assign_reviewer %}
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.mark_reviewer_assignment_no_response" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> No response</a>
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.withdraw_reviewer_assignment" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> Withdraw</a>
{% endif %}
{% endif %}
</td>
</tr>
{% endif %}
{% if assignment.review and assignment.review.external_url %}
<tr>
<th></th>
<th>Posted at</th>
<td>
<a href="{{ assignment.review.external_url }}">{{ assignment.review.external_url }}</a>
</td>
</tr>
{% endif %}
{% if assignment.reviewed_rev %}
<tr>
<th></th>
<th>Reviewed rev.</th>
<td><a href="{% url "ietf.doc.views_doc.document_main" name=review_req.doc.name rev=assignment.reviewed_rev %}">{{ assignment.reviewed_rev }}</a> {% if assignment.reviewed_rev != review_req.doc.rev %}(document currently at {{ review_req.doc.rev }}){% endif %}</td>
</tr>
{% endif %}
{% if assignment.result %}
<tr>
<th></th>
<th>Review result</th>
<td>{{ assignment.result.name }}</td>
</tr>
{% endif %}
{% if assignment.state_id == "completed" or assignment.state_id == "part-completed" %}
<tr>
<th></th>
<th>Review completed:</th>
<td>
{{ assignment.completed_on|date:"Y-m-d" }}
</td>
</tr>
{% endif %}
</tbody>
{% endfor %}
</table>
<p><strong>Assignments</strong></p>
{% if can_assign_reviewer %}
<p>
<a class="btn btn-default btn-xs" href="{% url "ietf.doc.views_review.assign_reviewer" name=doc.name request_id=review_req.pk %}"><span class="fa fa-user"></span> Assign reviewer</a>
</p>
{% endif %}
{% for assignment in assignments %}
<div class="panel panel-default">
<div class="panel-heading">
{{ assignment.reviewer.person }}
{% if assignment.can_reject_reviewer_assignment or assignment.can_accept_reviewer_assignment %}
<div class="reviewer-assignment-not-accepted">
{% if assignment.state_id == "assigned"%}
<em>Assignment not accepted yet:</em>
{% else %}
<em>Assignment accepted:</em>
{% endif %}
{% if assignment.can_reject_reviewer_assignment %}
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.reject_reviewer_assignment" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> Reject</a>
{% endif %}
{% if assignment.can_accept_reviewer_assignment %}
<form style="display:inline" method="post" action="{% url "ietf.doc.views_review.review_request" name=doc.name request_id=review_req.pk %}">{% csrf_token %}<button class="btn btn-success btn-xs" type="submit" name="action" value="accept"><span class="fa fa-check"></span> Accept</button></form>
{% endif %}
</div>
{% endif %}
</div>
<div class="panel-body">
<table class="table table-condensed">
<tbody class="panel-meta">
<tr>
<th>State</th>
<td>{{ assignment.state.name }}
{% if snapshot %}
<span class="label label-warning">Snapshot</span>
{% endif %}
</td>
</tr>
{% if assignment.state_id != "withdrawn" and assignment.state_id != "no-response" and assignment.state_id != "rejected" %}
<tr>
<th>Review</th>
<td>
{% if assignment.review %}
<a href="{{ assignment.review.get_absolute_url }}">{{ assignment.review.name }}</a>
{% elif assignment.state_id == "assigned" or assignment.state_id == "accepted" %}
Not completed yet
{% else %}
Not available
{% endif %}
{% if assignment.can_complete_review %}
<a class="btn btn-primary btn-xs" href="{% url "ietf.doc.views_review.complete_review" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-pencil-square-o"></span> {% if assignment.state_id == "assigned" or assignment.state_id == "accepted" %}Complete review{% else %}Correct review{% endif %}</a>
{% endif %}
{% if assignment.state_id == "assigned" or assignment.state_id == "accepted" %}
{% if can_assign_reviewer %}
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.mark_reviewer_assignment_no_response" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> No response</a>
<a class="btn btn-danger btn-xs" href="{% url "ietf.doc.views_review.withdraw_reviewer_assignment" name=doc.name assignment_id=assignment.pk %}"><span class="fa fa-ban"></span> Withdraw</a>
{% endif %}
{% endif %}
</td>
</tr>
{% endif %}
{% if assignment.review and assignment.review.external_url %}
<tr>
<th>Posted at</th>
<td>
<a href="{{ assignment.review.external_url }}">{{ assignment.review.external_url }}</a>
</td>
</tr>
{% endif %}
{% if assignment.reviewed_rev %}
<tr>
<th>Reviewed rev.</th>
<td><a href="{% url "ietf.doc.views_doc.document_main" name=review_req.doc.name rev=assignment.reviewed_rev %}">{{ assignment.reviewed_rev }}</a> {% if assignment.reviewed_rev != review_req.doc.rev %}(document currently at {{ review_req.doc.rev }}){% endif %}</td>
</tr>
{% endif %}
{% if assignment.result %}
<tr>
<th>Review result</th>
<td>{{ assignment.result.name }}</td>
</tr>
{% endif %}
{% if assignment.state_id == "completed" or assignment.state_id == "part-completed" %}
<tr>
<th>Review completed:</th>
<td>
{{ assignment.completed_on|date:"Y-m-d" }}
</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
</div>
{% endfor %}