{# GET /admin/import — crate::pages::import_export::import::ui::ImportPage #} {% extends "ui/form_page.html" %} {% block title %}{{ nav.tr("import-title") }}{% endblock %} {% block eyebrow %}{{ nav.tr("transfer-eyebrow") }}{% endblock %} {% block heading %}{{ nav.tr("import-title") }}{% endblock %} {% block lead %}
{{ nav.tr("import-lead") }}
{% endblock %} {% block form %} {# One form for the whole preparation. The steps swap the block inside it rather than the form itself, so the scope, the table and the CSV the user chose stay where they are while they move back and forth. Its own `action` is the prepared-CSV download: a file has to come back from a real browser submit, so the plain submit button is the one that downloads and every other button carries an `hx-post` of its own. #} {% include "pages/import_export/table_picker.html" %} {% include "pages/import_export/import/behaviour.html" %} {# A refusal is not a step. Without this the alert answering "Continue" would be swapped in place of the step it was refusing, and the user would lose the mapping they were being told to fix. #} {% endblock %}