451 lines
20 KiB
HTML
451 lines
20 KiB
HTML
{% extends "submit/submit_base.html" %}
|
|
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
|
{% load origin %}
|
|
{% load static %}
|
|
{% load ietf_filters submit_tags misc_filters %}
|
|
|
|
{% block title %}Submission status of {{ submission.name }}-{{ submission.rev }}{% endblock %}
|
|
|
|
{% block pagehead %}
|
|
{{ block.super }}
|
|
{{ all_forms|merge_media:'css' }}
|
|
{% endblock %}
|
|
|
|
{% block submit_content %}
|
|
{% origin %}
|
|
{% if submission.state_id != "uploaded" %}
|
|
<h2>Submission status: {{ submission.state.name }}</h2>
|
|
{% endif %}
|
|
|
|
{% if message %}
|
|
<p class="alert alert-info">{{ message.1 }}</p>
|
|
{% endif %}
|
|
|
|
{% if submission.state_id == "aut-appr" and submission.submitter_parsed.email not in confirmation_list|join:", " %}
|
|
<p class="alert alert-warning">
|
|
Please note that since the database does not have your email address in the list of authors of previous
|
|
revisions of the document, you are <b>not</b> receiving a confirmation email yourself; one of the
|
|
addressees above will have to send a confirmation in order to complete the submission. This is done
|
|
to avoid document hijacking. If none of the known previous authors will be able to confirm the
|
|
submission, please contact <a href="mailto:ietf-draft-submission@ietf.org">the Secretariat</a> for action.
|
|
</p>
|
|
{% endif %}
|
|
|
|
{% if submitter_form.errors or replaces_form.errors or extresources_form.errors %}
|
|
<p class="alert alert-danger">Please fix errors in the form below.</p>
|
|
{% endif %}
|
|
|
|
<h2>Submission checks</h2>
|
|
<p>
|
|
{% if passes_checks %}
|
|
Your draft has been verified to pass the submission checks.
|
|
{% else %}
|
|
Your draft has <b>NOT</b> been verified to pass the submission checks.
|
|
{% endif %}
|
|
</p>
|
|
|
|
{% if submission.authors|length > 5 %}<p class="alert alert-danger"><b>
|
|
This document has more than five authors listed, which is considered excessive
|
|
under normal circumstances.</b> If you plan to request publication as an RFC, this
|
|
will require additional consideration by the stream manager (for example, the
|
|
IESG), and publication may be declined unless sufficient justification is
|
|
provided. See <a href="https://datatracker.ietf.org/doc/html/rfc7322#section-4.1.1">
|
|
RFC 7322, section 4.1.1</a> for details.</p>
|
|
{% endif %}
|
|
|
|
{% for check in submission.latest_checks %}
|
|
{% if check.errors %}
|
|
<p class="alert alert-warning">
|
|
The {{check.checker}} returned {{ check.errors }} error{{ check.errors|pluralize }}
|
|
and {{ check.warnings }} warning{{ check.warnings|pluralize }}; click the button
|
|
below to see details. Please fix those, and resubmit.
|
|
</p>
|
|
{% elif check.warnings %}
|
|
<p class="alert alert-warning">
|
|
The {{check.checker}} returned {{ check.warnings }} warning{{ check.warnings|pluralize }}.
|
|
</p>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% for check in submission.latest_checks %}
|
|
{% if check.passed != None %}
|
|
<button class="btn btn-{% if check.passed %}{% if check.warnings %}warning{% elif check.errors %}warning{% else %}success{% endif %}{% else %}danger{% endif %}" data-bs-toggle="modal" data-bs-target="#check-{{check.pk}}">View {{ check.checker }}</button>
|
|
|
|
<div class="modal fade" id="check-{{check.pk}}" tabindex="-1" role="dialog" aria-labelledby="check-{{check.pk}}" aria-hidden="true">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-bs-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="{{check.checker|slugify}}-label">{{ check.checker|title }} for {{ submission.name }}-{{ submission.rev }}</h4>
|
|
</div>
|
|
<div class="modal-body" id="{{check.checker|slugify}}-message">
|
|
<pre>{{ check.message }}</pre>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">Close</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
<div class="modal fade" id="twopages" tabindex="-1" role="dialog" aria-labelledby="twopageslabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-lg">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-bs-dismiss="modal" aria-hidden="true">×</button>
|
|
<h4 class="modal-title" id="twopageslabel">First two pages of {{ submission.name }}-{{ submission.rev }}</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
{{ submission|two_pages_decorated_with_errors:errors }}
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">Close</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% if submission.state_id == "waiting-for-draft" %}
|
|
<p class="alert alert-warning">
|
|
This submission is awaiting the first draft upload.
|
|
</p>
|
|
{% else %}
|
|
<h2>Meta-data from the submission</h2>
|
|
|
|
{% if errors %}
|
|
<div class="alert alert-danger">
|
|
<p><b>Meta-Data errors found!</b></p>
|
|
<p >Please make sure that your Internet-Draft includes all of the required meta-data in the proper format.</p>
|
|
|
|
<p>If your Internet-Draft <b>does</b> include all of the required meta-data in the proper format, and if
|
|
the error(s) identified below are due to the failure of the tool to extract the meta-data correctly,
|
|
then please use the "Adjust meta-data" button below, which will take you to the "Adjust screen" where
|
|
you can correct the improperly extracted meta-data. You will then be able to submit your Internet-Draft
|
|
to the Secretariat for manual posting.</p>
|
|
|
|
<p>If your Internet-Draft <b>does not</b> include all of the required meta-data in the proper format, then
|
|
please cancel this submission, update your Internet-Draft, and resubmit it.</p>
|
|
|
|
<p><b>Note:</b> The secretariat will <b>not</b> add any
|
|
meta-data to your Internet-Draft or edit the meta-data. An
|
|
Internet-Draft that does not include all of the required meta-data in
|
|
the proper format <b>will</b> be returned to the submitter.</p>
|
|
</div>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
<table class="table table-sm table-striped">
|
|
<tr>
|
|
<th>Document</th>
|
|
<td>
|
|
{% if submission.state_id == "posted" %}
|
|
<a href="{% url 'ietf.doc.views_doc.document_main' name=submission.name %}">{{ submission.name }}</a>
|
|
{% else %}
|
|
{{ submission.name }}
|
|
{% endif %}
|
|
|
|
<button class="btn btn-primary btn-xs float-end" data-bs-toggle="modal" data-bs-target="#twopages">View first two pages</button>
|
|
|
|
{% show_submission_files submission %}
|
|
|
|
{% if errors.files %}
|
|
<p class="text-danger bg-danger"><b>{{ errors.files|safe }}</b></p>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Revision</th>
|
|
<td>
|
|
{{ submission.rev }}
|
|
|
|
{% if errors.rev %}
|
|
<button class="btn btn-primary btn-xs float-end" data-bs-toggle="modal" data-bs-target="#twopages">View errors in document</button>
|
|
<p class="text-danger bg-danger"><b>{{ errors.rev }}</b></p>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Group</th>
|
|
<td>
|
|
{{ submission.group|default:"Individual Submission" }}
|
|
{% if errors.group %}
|
|
<p class="text-danger bg-danger"><b>{{ errors.group }}</b></p>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Document date</th>
|
|
<td>
|
|
{{ submission.document_date }}
|
|
{% if errors.document_date %}
|
|
<p class="text-danger bg-danger"><b>{{ errors.document_date }}</b></p>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Submission date</th>
|
|
<td>{{ submission.submission_date }}</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Title</th>
|
|
<td>
|
|
{{ submission.title|default:"" }}
|
|
{% if errors.title %}<p class="text-danger bg-danger"><b>{{ errors.title }}</b></p>{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Authors</th>
|
|
<td>
|
|
{{ submission.authors|length }} author{{ submission.authors|pluralize }}
|
|
{% if errors.authors %}<p class="text-danger bg-danger"><b>{{ errors.authors|safe }}</b></p>{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
{% for author in submission.authors %}
|
|
<tr>
|
|
<th>Author {{ forloop.counter }}</th>
|
|
<td>
|
|
{{ author.name }} {% if author.email %}<{{ author.email }}>{% endif %}
|
|
-
|
|
{% if author.affiliation %}
|
|
{{ author.affiliation }}
|
|
{% else %}
|
|
<i>unknown affiliation</i>
|
|
{% endif %}
|
|
-
|
|
{% if author.country %}
|
|
{{ author.country }}
|
|
{% if author.cleaned_country and author.country != author.cleaned_country %}
|
|
(understood to be {{ author.cleaned_country }})
|
|
{% endif %}
|
|
{% else %}
|
|
<i>unknown country</i>
|
|
{% endif %}
|
|
|
|
{% if author.country and not author.cleaned_country %}
|
|
<br>
|
|
<b class="text-warning">Unrecognized country: "{{ author.country }}"</b>: See <a href="{% url "ietf.stats.views.known_countries_list" %}">recognized country names</a>.
|
|
{% endif %}
|
|
{% for auth_err in author.errors %}
|
|
<p class="text-danger bg-danger"><b>{{ auth_err }}</b></p>
|
|
{% endfor %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
|
|
<tr>
|
|
<th>Abstract</th>
|
|
<td>
|
|
{{ submission.abstract|linebreaksbr }}
|
|
{% if errors.abstract %}<p class="text-danger bg-danger"><b>{{ errors.abstract }}</b></p>{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Pages</th>
|
|
<td>
|
|
{{ submission.pages }}
|
|
{% if errors.pages %}<p class="text-danger bg-danger"><b>{{ errors.pages }}</b></p>{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>File size</th>
|
|
<td>{{ submission.file_size|filesizeformat }}</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Formal languages used</th>
|
|
<td>
|
|
{% for l in submission.formal_languages.all %}{{ l.name }}{% if not forloop.last %}, {% endif %}{% empty %}None recognized{% endfor %}
|
|
{% if errors.formal_languages %}<p class="text-danger bg-danger"><b>{{ errors.formal_languages }}</b></p>{% endif %}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th>Submission additional resources</th>
|
|
<td>
|
|
{% for r in external_resources.current %}{% with res=r.res added=r.added %}
|
|
<div>
|
|
{{ res.name.name }}: {{ res.value }}
|
|
{% if res.display_name %} (as "{{ res.display_name }}") {% endif %}
|
|
{% if external_resources.show_changes and added %}
|
|
<span class="badge bg-success">New</span>
|
|
{% endif %}
|
|
</div>
|
|
{% endwith %}
|
|
{% empty %}
|
|
None
|
|
{% endfor %}
|
|
</td>
|
|
</tr>
|
|
|
|
{% if external_resources.show_changes %}<tr>
|
|
<th>Current document additional resources</th>
|
|
<td>
|
|
{% for r in external_resources.previous %}{% with res=r.res removed=r.removed %}
|
|
<div>
|
|
{{ res.name.name }}: {{ res.value }}
|
|
{% if res.display_name %} (as "{{ res.display_name }}") {% endif %}
|
|
{% if removed %}
|
|
<span class="badge bg-warning">Removed</span>
|
|
{% endif %}
|
|
</div>
|
|
{% endwith %}
|
|
{% empty %}
|
|
None
|
|
{% endfor %}
|
|
</td>
|
|
</tr>{% endif %}
|
|
</table>
|
|
|
|
{% if can_edit %}
|
|
<p></p>
|
|
<form method="post">
|
|
{% csrf_token %}
|
|
<input type="hidden" name="action" value="edit">
|
|
<button class="btn btn-warning" type="submit" value="adjust">Adjust meta-data</button>
|
|
</form>
|
|
<p>Leads to manual post by the secretariat.</p>
|
|
|
|
{% if passes_checks and not errors and not submission.errors %}
|
|
<h2>Please edit the following meta-data before posting:</h2>
|
|
|
|
<form class="idsubmit" method="post">
|
|
{% csrf_token %}
|
|
{% include "submit/submitter_form.html" %}
|
|
{% include "submit/replaces_form.html" %}
|
|
{% include "submit/extresources_form.html" %}
|
|
<input type="hidden" name="action" value="autopost">
|
|
<h3>Post submission</h3>
|
|
<button class="btn btn-primary" type="submit">Post submission</button>
|
|
</form>
|
|
|
|
<p>
|
|
{% if requires_group_approval %}
|
|
Notifies group chairs to get approval.
|
|
{% elif requires_prev_authors_approval %}
|
|
Notifies authors of previous revision of draft to get approval.
|
|
{% else %}
|
|
Notifies submitter and authors for confirmation.
|
|
{% endif %}
|
|
</p>
|
|
{% endif %}
|
|
|
|
{% else %}
|
|
{% if submission.submitter %}
|
|
<h3>Submitter information</h3>
|
|
<table class="table table-sm table-striped">
|
|
<tr><th>Name</th><td>{{ submission.submitter_parsed.name }}</td></tr>
|
|
<tr><th>Email address</th><td>{{ submission.submitter_parsed.email }}</td></tr>
|
|
</table>
|
|
{% endif %}
|
|
{% if submission.replaces %}
|
|
<h3>Replaced documents</h3>
|
|
<table class="table table-sm table-striped">
|
|
<tr><th>Replaces</th><td>{{ submission.replaces|split:","|join:", "|urlize_ietf_docs }}</td></tr>
|
|
</table>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% if can_cancel %}
|
|
<h3>Cancel submission</h3>
|
|
<form id="cancel-submission" method="post">
|
|
{% csrf_token %}
|
|
<input type="hidden" name="action" value="cancel">
|
|
<button class="btn btn-danger" type="submit" data-bs-toggle="tooltip" title="Deletes the uploaded file{{ submission.file_types|split:","|pluralize }} permanently.">Cancel submission</button>
|
|
</form>
|
|
{% endif %}
|
|
|
|
{% if can_group_approve %}
|
|
<h2>Approve submission</h2>
|
|
<form method="post">
|
|
{% csrf_token %}
|
|
<input type="hidden" name="action" value="approve">
|
|
<button class="btn btn-danger" type="submit">Approve this submission</button>
|
|
</form>
|
|
{% endif %}
|
|
|
|
{% if can_force_post %}
|
|
<p></p>
|
|
<form method="post">
|
|
{% csrf_token %}
|
|
<input type="hidden" name="action" value="forcepost">
|
|
<button class="btn btn-danger" type="submit">Force post of submission</button>
|
|
</form>
|
|
{% endif %}
|
|
|
|
{% if user|has_role:"Secretariat" %}
|
|
<p></p>
|
|
<a id="send{{ submission.pk }}" class="btn btn-primary" href="{% url "ietf.submit.views.send_submission_email" submission_id=submission.pk %}" title="Email submitter"><span class="bi bi-envelope" aria-hidden="true"></span> Send Email</a>
|
|
{% endif %}
|
|
|
|
{% if show_send_full_url %}
|
|
<div class="alert alert-danger">
|
|
<p>You are not allowed to modify or cancel this submission. You can
|
|
only modify or cancel this submission from the same URL you were
|
|
redirected to after the submission.</p>
|
|
|
|
<p>If you are the submitter check your browser history to find this
|
|
URL. You can share it with any person you need.</p>
|
|
|
|
<p>If you are one of the authors you can request the URL from which
|
|
you can modify or cancel this submission by clicking the next
|
|
button. An email will then be sent to the authors and submitter
|
|
(if submitter email was entered): {{ confirmation_list|join:", " }}.</p>
|
|
|
|
<p></p>
|
|
<form method="post">{% csrf_token %}
|
|
<input type="hidden" name="action" value="sendfullurl">
|
|
<button class="btn btn-danger" type="submit">Request full access URL</button>
|
|
</form>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<h2>History</h2>
|
|
|
|
<table id="history" class="table table-sm table-striped">
|
|
<thead>
|
|
<tr><th>Date</th><th>By</th><th>Event</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for e in submission.submissionevent_set.all %}
|
|
<tr>
|
|
<td class="text-nowrap">{{ e.time|date:"Y-m-d" }}</td>
|
|
<td>{{ e.by|default:"" }}</td>
|
|
{% if e.desc|startswith:"Received message" or e.desc|startswith:"Sent message" %}
|
|
{% with m=e.submissionemailevent.message %}
|
|
{% if user.is_authenticated %}
|
|
<td>
|
|
{% if e.desc|startswith:"Received message" and user|has_role:"Secretariat" %}
|
|
<a id="reply{{ submission.pk }}" class="btn btn-primary btn-xs" href="{% url "ietf.submit.views.send_submission_email" submission_id=submission.pk message_id=e.submissionemailevent.pk %}" title="Reply"><span class="bi bi-envelope" aria-hidden="true"></span> Reply</a>
|
|
{% endif %}
|
|
Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "ietf.submit.views.show_submission_email_message" submission_id=submission.pk message_id=e.submissionemailevent.pk access_token=submission.access_token %}">{{ e.desc }}</a></td>
|
|
{% else %}
|
|
<td>Email: <a id="aw{{ submission.pk }}-{{ m.pk }}" href="{% url "ietf.submit.views.show_submission_email_message" submission_id=submission.pk message_id=e.submissionemailevent.pk %}">{{ e.desc }}</a></td>
|
|
{% endif %}
|
|
{% endwith %}
|
|
{% else %}
|
|
<td>{{ e.desc }}</td>
|
|
{% endif %}
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
{% include "submit/problem-reports-footer.html" %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block js %}
|
|
{{ all_forms|merge_media:'js' }}
|
|
{% endblock %}
|