133 lines
6.3 KiB
HTML
133 lines
6.3 KiB
HTML
{% extends "base.html" %}
|
||
|
||
{% block title %}{{ customer.full_name }}{% endblock %}
|
||
|
||
{% block content %}
|
||
<div class="container-fluid">
|
||
<div class="row">
|
||
<div class="col-12">
|
||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||
<h1>Клиент: {{ customer.full_name }}</h1>
|
||
<div>
|
||
<a href="{% url 'customers:customer-update' customer.pk %}" class="btn btn-primary">Редактировать</a>
|
||
<a href="{% url 'customers:customer-delete' customer.pk %}" class="btn btn-danger">Удалить</a>
|
||
<a href="{% url 'customers:customer-list' %}" class="btn btn-secondary">Назад к списку</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="row">
|
||
<!-- Customer Info -->
|
||
<div class="col-md-6">
|
||
<div class="card mb-4">
|
||
<div class="card-header">
|
||
<h5>Информация о клиенте</h5>
|
||
</div>
|
||
<div class="card-body">
|
||
<table class="table table-borderless">
|
||
<tr>
|
||
<th>Имя:</th>
|
||
<td>{{ customer.full_name }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Email:</th>
|
||
<td>{{ customer.email }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Телефон:</th>
|
||
<td>{{ customer.phone }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Уровень лояльности:</th>
|
||
<td>
|
||
<span class="badge
|
||
{% if customer.loyalty_tier == 'bronze' %}bg-secondary text-dark
|
||
{% elif customer.loyalty_tier == 'silver' %}bg-light text-dark
|
||
{% elif customer.loyalty_tier == 'gold' %}bg-warning text-dark
|
||
{% elif customer.loyalty_tier == 'platinum' %}bg-primary text-white
|
||
{% endif %}">
|
||
{{ customer.get_loyalty_tier_display }}
|
||
</span>
|
||
<span class="ms-2">({{ customer.get_loyalty_discount }}% скидка)</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Сумма покупок:</th>
|
||
<td>{{ customer.total_spent|floatformat:2 }} руб.</td>
|
||
</tr>
|
||
<tr>
|
||
<th>VIP:</th>
|
||
<td>
|
||
{% if customer.is_vip %}
|
||
<span class="badge bg-success">Да</span>
|
||
{% else %}
|
||
<span class="badge bg-secondary">Нет</span>
|
||
{% endif %}
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th>День рождения:</th>
|
||
<td>{{ customer.birthday|date:"d.m.Y"|default:"Не указан" }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Годовщина:</th>
|
||
<td>{{ customer.anniversary|date:"d.m.Y"|default:"Не указана" }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Предпочтительные цвета:</th>
|
||
<td>{{ customer.preferred_colors|default:"Не указаны" }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Заметки:</th>
|
||
<td>{{ customer.notes|default:"Нет" }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Дата создания:</th>
|
||
<td>{{ customer.created_at|date:"d.m.Y H:i" }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Дата обновления:</th>
|
||
<td>{{ customer.updated_at|date:"d.m.Y H:i" }}</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Addresses -->
|
||
<div class="col-md-6">
|
||
<div class="card mb-4">
|
||
<div class="card-header d-flex justify-content-between align-items-center">
|
||
<h5>Адреса доставки</h5>
|
||
<a href="#" class="btn btn-sm btn-outline-primary">Добавить адрес</a>
|
||
</div>
|
||
<div class="card-body">
|
||
{% if addresses %}
|
||
{% for address in addresses %}
|
||
<div class="border p-3 mb-3 rounded {% if address.is_default %}border-primary border-2{% endif %}">
|
||
{% if address.is_default %}
|
||
<span class="badge bg-primary mb-2">Адрес по умолчанию</span>
|
||
{% endif %}
|
||
<h6>{{ address.recipient_name }}</h6>
|
||
<p class="mb-1">
|
||
<strong>Адрес:</strong> {{ address.full_address }}, {{ address.district }}
|
||
</p>
|
||
{% if address.delivery_instructions %}
|
||
<p class="mb-1">
|
||
<strong>Инструкции:</strong> {{ address.delivery_instructions }}
|
||
</p>
|
||
{% endif %}
|
||
|
||
</div>
|
||
{% endfor %}
|
||
{% else %}
|
||
<p>У клиента нет сохраненных адресов доставки.</p>
|
||
{% endif %}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endblock %} |