datatracker/ietf/templates/submit/upload_submission.html
Jennifer Richards a0f6cdb661
feat: Process uploaded submissions asynchronously (#5580)
* fix: Use relative URL for submission status link

* refactor: Refactor/rename process_uploaded_submission async task

* feat: Add async task to process but not accept a submission

* feat: Replace upload_submission() with an async implementation (WIP)

* fix: Do not put Submission in "uploaded" state if an error occured

* refactor: Improve text/XML draft processing flow

* feat: Extract authors from text in async processing

* fix: Fix call signatures and abort submission on failed validation

* feat: Validate submission name format

* fix: Correctly validate emails from text submission

* fix: Clean up submission validation

* fix: Better display errors on upload_submission page

* feat: Reload submission status page when awaiting validation

* test: Fix call signatures; remove unused imports

* chore: Add type hint

* test: Update tests to match renamed task

* fix: Fix typo in error message

* test: Fix failing Api- and AsyncSubmissionTests

* Rename process_uploaded_submission to process_and_accept_...
* Remove outdated tests

Does not yet test new behavior.

* refactor: Break up submission_file() helper

* test: Refactor tests to run the async processing (wip)

* test: Drop test of bad PDF submission

The PDF submission field was removed, so no need to test it.

* test: Update more tests

* test: Bring back create_and_post_submission() and fix more tests

* fix: Drop to manual, don't cancel, on revision inconsistency

Fixes remaining failing SubmitTest tests

* style: Restyle upload_submission() with black

* test: Verify that async submission processing is invoked on upload

* test: Bring back old do_submission and fix tests

Properly separating the upload and async processing stages of submission
is a bigger refactoring than will fit right now. This better exercises
the submission pipeline.

* fix: Accept only XML for API submissions

* test: Test submission processing utilities

* feat: Improve status display for "validating" submissions

* chore: Remove obsolete code

* test: Update test to match amended text

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-05-09 15:21:46 -05:00

79 lines
3.7 KiB
HTML

{% extends "submit/submit_base.html" %}
{# Copyright The IETF Trust 2015, All Rights Reserved #}
{% load origin %}
{% load ietf_filters %}
{% load django_bootstrap5 %}
{% block title %}Upload{% endblock %}
{% block submit_content %}
{% origin %}
{% if form.shutdown and user|has_role:"Secretariat" %}
<p class="alert alert-warning my-3">
<b>Warning:</b> Currently in I-D submission blackout period.
</p>
{% endif %}
{% if form.cutoff_warning %}<div class="alert alert-info my-3">{{ form.cutoff_warning|safe }}</div>{% endif %}
{% if not form.shutdown or user|has_role:"Secretariat" %}
<div class="alert alert-warning my-3">
By submitting your I-D, you are granting some rights to the IETF Trust.
Before you submit your I-D, review the information in the
<a href="https://www.ietf.org/about/note-well/">Note Well</a>
and
<a href="{% url 'ietf.doc.views_doc.document_html' name='rfc5378' %}">BCP 78</a>,
"Rights Contributors Provide to the IETF Trust".
<hr>
Before you submit your I-D, it is recommended that you check it for nits
using the
<a href="{{ settings.IDNITS_SERVICE_URL }}">idnits</a>
tool, and fix them.
</div>
<form method="post" enctype="multipart/form-data" class="my-3">
{% csrf_token %}
{% bootstrap_label '<i class="bi bi-file-code"></i> XML source of the I-D' label_class="form-label fw-bold" %}
{% bootstrap_field form.xml show_label=False %}
<p class="form-text">
Preferably, submit a standalone
<a href="{% url 'ietf.doc.views_doc.document_html' name='rfc7991' %}">xml2rfc version 3</a>
source file. You can use this online
<a href="https://author-tools.ietf.org/">conversion service</a>
to convert your I-D to this format.
(You may submit an older
<a href="{% url 'ietf.doc.views_doc.document_html' name='rfc7749' %}">xml2rfc version 2</a>
file if you must.)
</p>
<div class="form-check mb-3">
<label class="form-check-label"
data-bs-toggle="collapse"
data-bs-target="#other-formats"
aria-controls="other-formats">
<input class="form-check-input"
id="checkbox"
type="checkbox"
{% if form.errors.txt %}checked {% endif %}>
Submit other formats
</label>
</div>
<div class="collapse" id="other-formats">
{% bootstrap_label '<i class="bi bi-file-text"></i> Plaintext rendering of the I-D' label_class="form-label fw-bold" %}
{% bootstrap_field form.txt show_label=False %}
<p class="form-text">
Optional to submit, will be auto-generated based
on the submitted XML.
However, if you cannot for some reason submit XML, you must
submit a plaintext rendering of your I-D.
</p>
</div>
{% bootstrap_form_errors form type="non_fields" %}
{% bootstrap_button button_type="submit" name="upload" content="Upload" %}
</form>
{% include "submit/problem-reports-footer.html" %}
{% endif %}
{% endblock %}
{% block js %}
<script>
$(document).ready(function() {
if ($("#checkbox").is(':checked'))
$("#other-formats").collapse('show')
});
</script>
{% endblock %}