{% extends "base.html" %} {% load crm_tags static erp_tags labels tz %} {% block title %}{{ engagement.number }} — {% label "crm.engagement" %}{% endblock %} {% block chat_context %} {% endblock %} {% block stylesheets %} {% endblock %} {% block content %} {% timezone viewer_tz %} {% if open_quotes_banner %}
{% label "crm.engagement" %} {{ engagement.number }}
{% if engagement.party %}{{ engagement.party.display_name }} {% else %}No counterparty{% endif %} · Owner: {{ engagement.owner|profile_name }}{% if engagement.owner_team %} · {{ engagement.owner_team.name }}{% if not engagement.owner_team.is_active %} (archived team){% endif %}{% endif %}
{% if engagement.status == "lost" %}Lost: {{ loss_label }}{% else %}{{ engagement.get_status_display }}{% endif %} {% if stale_days is not None %}Stale · {{ stale_days }} d{% endif %}{{ next_task.title }}
{% if next_task.due_at %} {% if next_task.overdue %}Overdue: {% else %}Due {% endif %} {% if next_task.all_day %}{{ next_task.due_at|date:"D M j" }} (end of day){% else %}{{ next_task.due_at|date:"D M j, H:i" }}{% endif %} {% if next_task.set_in %}· set in {{ next_task.set_in }}{% endif %} {% else %}No due date{% endif %}
{{ next_task.kind_label }} · {{ next_task.get_priority_display }} priority · {{ next_task.assignee|profile_name }}
Nothing is planned on this {% label "crm.engagement" case="lower" %}. Set the next action.
{% endif %} {% endif %} {% elif open_tasks %}This {% label "crm.engagement" case="lower" %} is closed and still has open tasks: complete, cancel or keep them.
Closed{% if engagement.closed_at %} on {{ engagement.closed_at|date:"M j, Y" }}{% endif %}. No open tasks.
{% endif %}{% label "crm.pipeline" %}: {{ engagement.pipeline.name }}
The {% label "crm.stage" case="lower" %} proposes a win. Confirm it, or leave the {% label "crm.engagement" case="lower" %} open.
{% endif %}Open tasks stay open when you close: you choose what happens to them.
{% endif %}{{ ref.source_id }}