193 lines
9.2 KiB
HTML
193 lines
9.2 KiB
HTML
{% extends "base.html" %}
|
|
{# Copyright The IETF Trust 2015-2019, All Rights Reserved #}
|
|
{% load origin %}{% origin %}
|
|
|
|
{% load ietf_filters static bootstrap3 %}
|
|
|
|
{% block title %}Manage open review requests for {{ group.acronym }}{% endblock %}
|
|
|
|
{% block pagehead %}
|
|
<link rel="stylesheet" href="{% static "jquery.tablesorter/css/theme.bootstrap.min.css" %}">
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
{% origin %}
|
|
|
|
<h1>Manage {{ assignment_status }} open review requests for {{ group.acronym }}</h1>
|
|
|
|
{% if newly_closed > 0 or newly_opened > 0 or newly_assigned > 0 %}
|
|
<p class="alert alert-danger">
|
|
Changes since last refresh:
|
|
{% if newly_closed %}{{ newly_closed }} request{{ newly_closed|pluralize }} closed.{% endif %}
|
|
{% if newly_opened %}{{ newly_opened }} request{{ newly_opened|pluralize }} opened.{% endif %}
|
|
{% if newly_assigned %}{{ newly_assigned }} request{{ newly_assigned|pluralize }} changed assignment.{% endif %}
|
|
|
|
{% if saving %}
|
|
Check that you are happy with the results, then re-save.
|
|
{% endif %}
|
|
</p>
|
|
{% endif %}
|
|
|
|
{% if review_requests %}
|
|
<form class="review-requests" method="post">{% csrf_token %}
|
|
|
|
{% for r in review_requests %}
|
|
<div class="panel panel-default review-request">
|
|
<div class="panel-heading">
|
|
|
|
<h3 class="panel-title">
|
|
<span class="pull-right">
|
|
{% if r.in_lc_and_telechat %}Last Call and telechat{% else %}{{ r.type.name }}{% endif %}
|
|
- deadline {{ r.deadline|date:"Y-m-d" }}
|
|
{% if r.due %}<span class="label label-warning">{{ r.due }} day{{ r.due|pluralize }}</span>{% endif %}
|
|
</span>
|
|
|
|
<a href="{% if r.requested_rev %}{% url "ietf.doc.views_doc.document_main" name=r.doc.name rev=r.requested_rev %}{% else %}{% url "ietf.doc.views_doc.document_main" name=r.doc.name %}{% endif %}?include_text=1">{{ r.doc.name }}-{% if r.requested_rev %}{{ r.requested_rev }}{% else %}{{ r.doc.rev }}{% endif %}</a>
|
|
</h3>
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<div class="request-metadata">
|
|
<p>
|
|
{% if r.pk != None %}Requested: <a href="{% url "ietf.doc.views_review.review_request" name=r.doc.name request_id=r.pk %}">{{ r.time|date:"Y-m-d" }}{% if r.requested_by %} by {{r.requested_by.plain_name}}{% endif %}</a>
|
|
{% else %}
|
|
Auto-suggested
|
|
{% endif %}
|
|
</p>
|
|
<p>
|
|
{% if r.doc.authors %}Authors: {{ r.doc.authors|join:", " }}{% endif %}
|
|
<br>
|
|
{% if r.wg_chairs %}WG chairs: {{ r.wg_chairs|join:", " }}{% endif %}
|
|
</p>
|
|
|
|
{% if r.latest_reqs %}
|
|
{% for rlatest in r.latest_reqs %}
|
|
{% for alatest in rlatest.reviewassignment_set.all %}
|
|
<div>
|
|
{% if alatest.reviewed_rev %}
|
|
Previous review of
|
|
<a href="{% url "ietf.doc.views_doc.document_main" name=rlatest.doc.name rev=alatest.reviewed_rev %}?include_text=1">{% if rlatest.doc.name != r.doc.name %}{{ rlatest.doc.name }}{% endif %}-{{ alatest.reviewed_rev }}</a>{% if alatest.reviewed_rev != r.doc.rev %}
|
|
(<a href="{{ rfcdiff_base_url }}?url1={{ rlatest.doc.name }}-{{ alatest.reviewed_rev }}&url2={{ r.doc.name }}-{{ r.doc.rev }}">diff</a>){% endif %}:
|
|
<a href="{{ alatest.review.get_absolute_url }}">{% if alatest.result %}{{ alatest.result.name }}{% else %}result unavail.{% endif %}</a>
|
|
by {{ alatest.reviewer.person }}{% if alatest.closed_review_request_event %} {{ alatest.closed_review_request_event.time.date|date }}{% endif %}
|
|
{% else %}
|
|
Previous review of
|
|
<a href="{% url "ietf.doc.views_doc.document_main" name=rlatest.doc.name %}?include_text=1">{% if rlatest.doc.name != r.doc.name %}{{ rlatest.doc.name }}{% else %}this document{% endif %}</a>:
|
|
<a href="{% url "ietf.doc.views_review.review_request" name=rlatest.doc.name request_id=rlatest.pk %}">{% if alatest.result %}{{ alatest.result.name }}{% else %}result unavail.{% endif %}</a>
|
|
by {{ alatest.reviewer.person }}{% if alatest.closed_review_request_event %} {{ alatest.closed_review_request_event.time.date|date }}{% endif %}
|
|
{% endif %}
|
|
</div>
|
|
{% endfor %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
</div>
|
|
|
|
<div><strong>{{ r.doc.title }}</strong></div>
|
|
|
|
<div>
|
|
{{ r.doc.pages }} page{{ r.doc.pages|pluralize }}
|
|
- {{ r.doc.friendly_state }}
|
|
{% if r.doc.telechat_date %}
|
|
- IESG telechat: {{ r.doc.telechat_date }}
|
|
{% endif %}
|
|
{% if r.doc.group.type_id != "individ" %}
|
|
- <a href="{% url "ietf.group.views.group_home" acronym=r.doc.group.acronym %}">{{ r.doc.group.acronym }} {{ r.doc.group.type.name }}</a>
|
|
{% endif %}
|
|
</div>
|
|
{% if r.comment %}
|
|
<div><pre class="pasted">{{ r.comment }}</pre></div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<div class="col-sm-6 abstract">
|
|
{{ r.doc.abstract|linebreaks }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="panel-footer">
|
|
{% if r.form.non_field_errors %}
|
|
<div class="alert alert-danger">
|
|
{% for e in r.form.non_field_errors %}
|
|
{{ e }}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<input type="hidden" name="reviewrequest" value="{{ r.pk }}">
|
|
<input type="hidden" name="{{ r.form.prefix }}-existing_reviewer" value="{{ r.reviewer_id|default:"" }}">
|
|
|
|
<span class="assign-action">
|
|
{% if r.reviewer %}
|
|
<button type="button" class="btn btn-default btn-success" title="Click to reassign reviewer">
|
|
{{ r.reviewer.person }}
|
|
{% if r.state_id == "accepted" %} <span class="label label-default">accepted</span>{% endif %}
|
|
{% if r.reviewer_unavailable %}<span class="label label-danger">unavailable</span>{% endif %}
|
|
</button>
|
|
{% else %}
|
|
<button type="button" class="btn btn-default btn-success" title="Click to assign reviewer"><em>Not yet assigned</em></button>
|
|
{% endif %}
|
|
</span>
|
|
|
|
{{ r.form.action }}
|
|
|
|
<span class="reviewer-controls form-inline">
|
|
{% if r.form.review_type %}
|
|
<label for="{{ r.form.review_type.id_for_label }}">Review Type:</label>
|
|
{{ r.form.review_type }}
|
|
{% endif %}
|
|
<label for="{{ r.form.reviewer.id_for_label }}">Assign:</label>
|
|
{{ r.form.reviewer }}
|
|
{{ r.form.add_skip }} <label for="{{ r.form.add_skip.id_for_label }}">Skip next time</label>
|
|
<button type="button" class="btn btn-default undo" title="Cancel assignment" data-initial="{{ r.form.fields.reviewer.initial|default:"" }}">Cancel</button>
|
|
{% if r.form.reviewer.errors or r.form.add_skip.errors %}
|
|
<div class="alert alert-danger">
|
|
{% for e in r.form.reviewer.errors %}
|
|
{{ e }}
|
|
{% endfor %}
|
|
{% for e in r.form.add_skip.errors %}
|
|
{{ e }}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
</span>
|
|
|
|
<span class="close-action">
|
|
<button type="button" class="btn btn-default btn-danger">Close...</button>
|
|
{% if r.doc.past_telechat_date %} (was on {{r.doc.past_telechat_date}} telechat) {% endif %}
|
|
</span>
|
|
|
|
<span class="close-controls form-inline">
|
|
<label for="{{ r.form.reviewer.id_for_label }}">Close:</label>
|
|
{{ r.form.close }}
|
|
<label for="{{ r.form.reviewer.id_for_close_comment }}">Optional comment:</label>
|
|
{{ r.form.close_comment }}
|
|
<button type="button" class="btn btn-default undo" title="Cancel closing">Cancel</button>
|
|
{% if r.form.close.errors %}
|
|
<br>
|
|
{{ r.form.close.errors }}
|
|
{% endif %}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
|
|
{% buttons %}
|
|
<a href="{% url "ietf.group.views.review_requests" group_type=group.type_id acronym=group.acronym %}" class="btn btn-default pull-right">Cancel</a>
|
|
<button class="btn btn-primary" type="submit" name="action" value="save">Save changes</button>
|
|
<button class="btn btn-primary" type="submit" name="action" value="save-continue">Save and continue editing</button>
|
|
<button class="btn btn-default" type="submit" name="action" value="refresh">Refresh (keeping changes)</button>
|
|
{% endbuttons %}
|
|
</form>
|
|
{% else %}
|
|
<p>There are currently no {{ assignment_status }} open requests.</p>
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block js %}
|
|
<script src="{% static "jquery.tablesorter/js/jquery.tablesorter.combined.min.js" %}"></script>
|
|
<script src="{% static "ietf/js/manage-review-requests.js" %}"></script>
|
|
{% endblock %}
|