95 lines
4.4 KiB
HTML
95 lines
4.4 KiB
HTML
{% extends 'web/base.html' %}
|
||
{% load static %}
|
||
{% block title %}Услуга - {{ service.name }}{% endblock %}
|
||
|
||
{% block content %}
|
||
|
||
<div class="container py-4 py-xl-5">
|
||
<div class="row gy-4 gy-md-0">
|
||
<div class="col-md-6">
|
||
<div class="p-xl-5 m-xl-5"><img class="rounded img-fluid w-100 fit-cover" style="min-height: 300px;" src="{{ service.image.url }}" /></div>
|
||
</div>
|
||
<div class="col-md-6 d-md-flex align-items-md-center">
|
||
<div style="max-width: 350px;">
|
||
<h2 class="text-uppercase fw-bold">{{ service.name }}<br /></h2>
|
||
<p class="my-3">{{ service.description }}</p>
|
||
<!-- Кнопка открытия модального окна -->
|
||
<button id="openModalBtn" class="btn btn-primary" data-service-id="{{ service.id }}">Открыть заявку на услугу</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Модальное окно для создания заявки на услугу -->
|
||
{% include "web/modal_order_form.html" %}
|
||
|
||
<!-- Проверяем, есть ли проекты, связанные с данной услугой, и показываем раздел, если есть -->
|
||
{% if service.projects.exists %}
|
||
<div class="container py-4">
|
||
<div class="row-cols-auto">
|
||
<div class="col-md-8 col-xl-6 text-center mx-auto">
|
||
<h2>Проекты</h2>
|
||
<p>Список проектов, связанных с данной услугой:</p>
|
||
</div>
|
||
</div>
|
||
<div class="row gy-4 row-cols-1 row-cols-sm-2 row-cols-lg-3">
|
||
{% for project in service.projects.all %}
|
||
<div class="col">
|
||
<div class="card project-card">
|
||
<div class="card-body">
|
||
<h5 class="card-title">{{ project.name }}</h5>
|
||
<p class="card-text small-text">{{ project.description }}</p>
|
||
<p class="card-text small-text"><strong>Сообщение заказчика:</strong> {{ project.order.message }}</p>
|
||
<p class="card-text small-text"><strong>Дата завершения:</strong> {{ project.completion_date }}</p>
|
||
<p class="card-text small-text"><strong>Статус:</strong> {{ project.get_status_display }}</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
|
||
<!-- Проверяем, есть ли отзывы в базе данных, и показываем раздел, если есть -->
|
||
{% if reviews %}
|
||
<div class="container py-4">
|
||
<div class="row-cols-auto">
|
||
<div class="col-md-8 col-xl-6 text-center mx-auto">
|
||
<h2>Отзывы</h2>
|
||
<p>Наших любимых клиентов. Спасибо, что Вы с нами!</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="row gy-4 row-cols-1 row-cols-sm-2 row-cols-lg-3">
|
||
{% for review in reviews %}
|
||
<div class="col">
|
||
<div class="card review-card">
|
||
<div class="card-body">
|
||
<p class="card-text small-text">{{ review.comment }}</p>
|
||
<div class="d-flex">
|
||
{% if review.client.image %}
|
||
<img class="rounded-circle flex-shrink-0 me-3 fit-cover" width="50" height="50" src="{{ review.client.image.url }}" />
|
||
{% else %}
|
||
<img class="rounded-circle flex-shrink-0 me-3 fit-cover" width="50" height="50" src="https://cdn.bootstrapstudio.io/placeholders/1400x800.png" />
|
||
{% endif %}
|
||
<div>
|
||
<p class="fw-bold text-primary mb-0 small-text">{{ review.client.first_name }} {{ review.client.last_name }}</p>
|
||
<p class="text-muted mb-0 small-text">Оценка: {{ review.rating }} из 5</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
|
||
<!-- Подключение JavaScript файлов, вынесенных в директорию static/assets/js -->
|
||
<script src="{% static 'assets/js/get-csrf-token.js' %}"></script>
|
||
<script src="{% static 'assets/js/modal-init.js' %}"></script>
|
||
<script src="{% static 'assets/js/service_request.js' %}"></script>
|
||
<script src="{% static 'assets/js/verification_status.js' %}"></script>
|
||
|
||
{% endblock %}
|