{% extends "base.html" %} {% load labels %} {% block title %}{{ page_title }}{% endblock %} {% block content %}
{{ job.source }} · {{ job.get_status_display }} · coverage {{ job.coverage }}{% if uncovered %} ({% for r in uncovered %}{% if r.label_key %}{% label r.label_key plural=True case="lower" %}{% else %}{{ r.text|lower }}{% endif %} {{ r.item.coverage.coverage }}{% if not forloop.last %}, {% endif %}{% endfor %}){% endif %}
{{ consequence.contacts_no_consent_for_marketing }} of {{ consequence.contacts }} imported {% label "parties.person" plural=True case="lower" %} will have no marketing consent in Fincas.
{{ consequence.text }}
Counts only. Where coverage is not complete, every count is "at least". Undo runs newest step first: a step can be undone once nothing later points at it.
| Step | State | Coverage | Rows | Created | Linked | Updated | Unchanged | Skipped (N/A) | Need review | Approved | Failed | Undo |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ r.item.step }}. {% if r.label_key %}{% label r.label_key plural=True %}{% else %}{{ r.text }}{% endif %} | {{ r.state_text }}{% if r.item.blocked_by %} (needs {{ r.item.blocked_by|join:", " }}){% endif %} | {% if r.item.coverage.exact %}{{ r.item.coverage.coverage }}{% else %}{{ r.item.coverage.coverage }}{% if r.item.coverage.reasons %} {{ r.item.coverage.reasons|join:", " }}{% endif %}{% endif %} | {% if not r.item.coverage.exact %}≥ {% endif %}{{ r.item.rows }} | {{ r.item.applied.created }} | {{ r.item.applied.linked }} | {{ r.item.applied.updated }} | {{ r.item.unchanged }} | {{ r.skipped }} | {{ r.item.need_review.total }} | {{ r.item.approved_pending }} | {{ r.failed_or_pending }} | {% if r.item.undo.available %}Available{% elif r.item.undo.undo_first %}After {{ r.item.undo.undo_first|length }} later step{{ r.item.undo.undo_first|length|pluralize }}{% elif r.item.undo.applied_rows %}Not available{% else %}—{% endif %} |
| Total | {% if not totals.exact %}≥ {% endif %}{{ totals.rows }} | {{ totals.applied }} applied | {{ totals.unchanged }} | {{ totals.skipped }} | {{ totals.need_review }} | {{ totals.approved_pending }} | {{ totals.failed }} | |||||
Rows that need a reviewer are decided on the review screens; failed rows are retried with manage.py crm_import retry --job {{ job.pk }}.