{% extends "adminpanel/base.html" %} {% load money %} {% block title %}{{ project.name }} — admin{% endblock %} {% block heading %}{{ project.name }}{% endblock %} {% block content %}
← All projects

{{ project.name }}

{{ project.get_status_display }}
{{ project.progress }}%
Reference
{{ project.reference }}
Client
{{ project.client }}
Type
{{ project.project_type }}
Started
{{ project.start_date|date:"j M Y"|default:"—" }}
Deadline
{{ project.deadline|date:"j M Y"|default:"—" }}
Budget
{{ project.budget|naira }}
Paid
{{ project.amount_paid|naira }}
Balance
{{ project.balance|naira }}

Milestones

Edit project
    {% for m in milestones %}
  • {% if m.status == 'done' %}✓{% endif %}
    {{ m.title }}
    {{ m.detail|default:m.get_status_display }}
  • {% empty %}

    No milestones set.

    {% endfor %}
{% csrf_token %}
{% for t in tasks %}
{{ t.name }} {{ t.get_priority_display }}
{% empty %}

No open tasks.

{% endfor %}
{% csrf_token %}

Updates

    {% for u in updates %}
  • {{ u.created_at|date:"j M Y" }}{% if not u.client_visible %} · internal{% endif %}

    {{ u.title }}. {{ u.body }}

  • {% empty %}

    No updates posted.

    {% endfor %}
{% csrf_token %}

Update status

{% csrf_token %}

Saving notifies the client of the new status. Internal notes stay private.

Files

{% for f in files %}
{{ f.name }}
{{ f.get_folder_display }} · {% if f.client_visible %}shared{% else %}private{% endif %}
Get
{% empty %}

No files yet.

{% endfor %}
{% csrf_token %}
{% endblock %}