{% extends "base.html" %} {% load static %} {% block title %}{{ meta_title }}{% endblock %} {% block content %}
Back to pipeline

{{ workspace.customer_name }}

{{ workspace.opportunity_title }}{% if workspace.project_number %} · {{ workspace.project_number }}{% elif workspace.project_name %} · {{ workspace.project_name }}{% endif %}

{{ workspace.get_stage_display }}
€{{ workspace.estimated_value|floatformat:0 }}
{% if messages %}
{% for message in messages %}
{{ message }}
{% endfor %}
{% endif %}
Admin
Opportunity

Lead status

Single-screen control
Customer{{ workspace.customer_name }}
Contact{{ workspace.contact_name|default:"Not added yet" }}
Email{{ workspace.contact_email|default:"Not added yet" }}
Phone{{ workspace.contact_phone|default:"Not added yet" }}
Next step{{ workspace.next_step|default:"Define the next best action" }}
{% csrf_token %}
{{ stage_form.stage }}
{{ workspace.summary|default:"Add qualification notes, buying signals, and constraints here." }}
Projects

Project context

Project{{ workspace.project_name|default:"Current customer record" }}
Project #{{ workspace.project_number|default:"To be assigned" }}
Zip code{{ workspace.zipcode|default:"—" }}
Address{{ workspace.address|default:"No address yet" }}
City{{ workspace.city|default:"—" }}
Quotations

Quotation focus

Takes the most space when needed
{% csrf_token %}
{% for field in quote_form %}
{{ field }} {% if field.errors %}
{{ field.errors|join:', ' }}
{% endif %}
{% endfor %}

Adding a quote line moves early leads into Proposal automatically.

{% if quote_lines %}
{% for line in quote_lines %} {% endfor %}
Item Description Qty Unit Subtotal
{{ line.product_name }} {{ line.description|default:"—" }} {{ line.quantity }} €{{ line.unit_price|floatformat:2 }} €{{ line.subtotal|floatformat:2 }}
Quote total €{{ workspace.quote_total|floatformat:2 }}
{% else %}

No quotation lines yet. Start with one service or product to preview the dense editor.

{% endif %}
Agenda

Meeting planning

{% if workspace.next_meeting_at %}
Next meeting

{{ workspace.next_meeting_at|date:"D d M · H:i" }}{% if workspace.next_meeting_is_upcoming %} · upcoming{% endif %}

{% endif %} {% if upcoming_activities %} {% for item in upcoming_activities|slice:":4" %}
{{ item.title }}

{{ item.get_activity_type_display }} · {{ item.due_at|date:"d M H:i" }}

{% endfor %} {% else %}

Add a call or meeting to keep the deal moving.

{% endif %}
Activities / Tasks

Schedule the next action

{% csrf_token %}
{% for field in activity_form %}
{{ field }} {% if field.errors %}
{{ field.errors|join:', ' }}
{% endif %}
{% endfor %}
{% if activities %}
{% for item in activities %}
{{ item.title }}

{{ item.get_activity_type_display }} · {{ item.due_at|date:"d M H:i" }}{% if item.owner %} · {{ item.owner }}{% endif %}

{% if item.is_done %}Done{% else %}Open{% endif %}
{% endfor %}
{% else %}

No activities yet. Add one to make the workspace actionable.

{% endif %}
{% endblock %}