{% extends "layouts/base.twig" %} {% block title %}{{ translations.complaints_title }}{% endblock %} {% block page_heading %}

{{ translations.complaints_heading }}

{{ translations.complaints_subtitle }}

{% endblock %} {% block content %} {% include "page_components/messages.twig" %} {# Filtry jako badge #}
{{ translations.complaints_filter_status }}: {{ translations.complaints_status_all }} {{ translations.complaints_status_new }} {{ translations.complaints_status_in_review }} {{ translations.complaints_status_accepted }} {{ translations.complaints_status_rejected }}
{{ translations.complaints_col_shop }}: {{ translations.complaints_status_all }} {% set seenShops = [] %} {% for complaint in complaints %} {% if complaint.shop_name is not empty and complaint.shop_name not in seenShops %} {% set seenShops = seenShops|merge([complaint.shop_name]) %} {{ complaint.shop_name }} {% endif %} {% endfor %}
Tryb: {{ translations.complaints_status_all }} {{ translations.complaints_portal_managed }} {{ translations.complaints_integration_managed }}
{# Tabela reklamacji #}
{{ translations.complaints_heading }}
{% if complaints is empty %}

{{ translations.complaints_empty }}

{% else %}
{% for complaint in complaints %} {% set portalManaged = complaint.is_portal_managed is defined and complaint.is_portal_managed %} {# Klucz + data zgłoszenia #} {# Lokal + produkt + SKU #} {# Klucz zamówienia + powód #} {# Ilość #} {# Status + data aktualizacji #} {# Tryb zarządzania #} {# Załączniki + akcja #} {% endfor %}
{{ translations.complaints_col_key_date }} {{ translations.complaints_col_shop_product }} {{ translations.complaints_col_order_reason }} {{ translations.complaints_col_qty }} {{ translations.complaints_col_status_updated }} Tryb {{ translations.complaints_col_actions }}
{% if complaint.complaint_key %} {{ complaint.complaint_key }} {% else %} {% endif %}
{{ complaint.reported_at ? complaint.reported_at|date('Y-m-d H:i') : '—' }}
{{ complaint.shop_name ?? '—' }} {{ complaint.material_name ?? '—' }} {% if complaint.supplier_sku %} SKU: {{ complaint.supplier_sku }} {% endif %} {% if complaint.order_key %} {{ complaint.order_key }} {% else %} {% endif %} {{ complaint.reason_name ?? complaint.reason_code ?? '—' }} {% if complaint.qty is not null %} {% set unitLower = (complaint.unit_name ?? '')|lower %} {% if unitLower in ['pcs', 'g', 'ml'] %}{{ complaint.qty|round(0, 'common') }}{% else %}{{ complaint.qty }}{% endif %} {% if complaint.unit_name %}
{{ complaint.unit_name }}
{% endif %} {% else %} {% endif %}
{% set statusMap = {'NEW':'secondary','IN_REVIEW':'info','ACCEPTED':'success','REJECTED':'danger'} %} {% set badgeColor = statusMap[complaint.status] ?? 'secondary' %} {% set darkText = complaint.status in ['IN_REVIEW'] %} {{ translations['complaints_status_' ~ complaint.status|lower] ?? complaint.status }}
{% if complaint.updated_at and complaint.updated_at != complaint.created_at %} {{ complaint.updated_at|date('Y-m-d H:i') }} {% else %}—{% endif %}
{% if portalManaged %} {% else %} {% endif %} {% if complaint.attachments is defined and complaint.attachments|length > 0 %} {{ complaint.attachments|length }} {% endif %}
{% endif %}
{# Modal szczegółów #} {% endblock %} {% block scripts %} {% endblock %}