{% extends "base.html" %} {% load static %} {% block title %}Заявления{% endblock %} {% block extra_css %} {% endblock %} {% block content %} {# ===== НОВАЯ ШАПКА С КОМПОНЕНТОМ ===== #} {% if can_process or user.is_staff or user.is_superuser %} {% url 'requests:request_list' as base_url %} {% include "includes/components/page_header.html" with icon="bi-clipboard-check" title="Заявления" no_search=True scope=scope has_filters=True filters_target="reqFilters" filters_template="requests_app/_filters.html" create_as_card=True create_modal="reqCreateModal" create_text="Создать заявление" %} {% else %} {% include "includes/components/page_header.html" with icon="bi-clipboard-check" title="Заявления" no_search=True has_filters=True filters_target="reqFilters" filters_template="requests_app/_filters.html" create_as_card=True create_modal="reqCreateModal" create_text="Создать заявление" %} {% endif %} {# ===== Список ===== #} {# DEBUG: Фильтры - type: {{ filters.type }}, status: {{ filters.status }}, count: {{ requests|length }} #}
{% if requests %} {% for obj in requests %}
{% with tp=obj.type|lower %} {% if tp == 'vacation' %} {% elif tp == 'sick_leave' %} {% elif tp == 'transfer' %} {% elif tp == 'dismissal' %} {% else %} {% endif %} {% endwith %}
{{ obj.title|default:"Без заголовка" }} {% if obj.type %}{% with tp=obj.type|lower %} {% if tp == 'vacation' %}Отпуск {% elif tp == 'sick_leave' %}Больничный {% elif tp == 'transfer' %}Перевод {% elif tp == 'dismissal' %}Увольнение {% elif tp == 'other' %}Другое {% else %}{{ obj.type }}{% endif %} {% endwith %}{% endif %} {% if obj.status %}{% with st=obj.status|lower %} {% if st == 'draft' %}Черновик {% elif st == 'pending' %}На рассмотрении {% elif st == 'approved' %}Одобрено {% elif st == 'rejected' %}Отклонено {% elif st == 'cancelled' %}Отменено {% else %}{{ obj.status }}{% endif %} {% endwith %}{% endif %}
{% if obj.employee %} {% if obj.employee.id == user.id %} Вы {% else %} {{ obj.employee.full_name|default:obj.employee.display_name|default:"Сотрудник" }} {% endif %} {% endif %} {% if obj.date_from or obj.date_to %} · {{ obj.date_from|date:"d.m.Y"|default:"—" }} → {{ obj.date_to|date:"d.m.Y"|default:"—" }} {% endif %} {% if obj.created_at %} · {{ obj.created_at|date:"d.m.Y H:i" }} {% endif %}
{% if obj.employee.id != user.id and can_process %}
{% elif obj.employee.id == user.id %}
{% endif %}
{% if obj.comment %}
{{ obj.comment }}
{% endif %}
{% if obj.attachment %} Вложение {% endif %}
Комментарии
{% csrf_token %}
{% endfor %} {% else %}
Нет заявлений.
{% endif %}
{# Пагинация по next/prev ссылкам из API (если есть) #} {% if next_url or prev_url %}
Назад Всего: {{ count|default:'—' }} Вперёд
{% endif %} {# ===== Modals ===== #} {% endblock %} {% block extra_js %} {% endblock %}