{% extends 'layout/app.html.twig' %} {% block title %}Demandes - Portail{% endblock %} {% block breadcrumb %}Demandes{% endblock %} {% block app_content %}
Les produits recherchés, importés du Radar. Chaque sourceur ne voit que les demandes qui lui sont adressées.
{{ requests|length }} produit(s) · Import JSON manuel
{% if requests is empty %}| Référence | Produit | Sourceurs assignés | Propositions | Importée le | Statut | ||
|---|---|---|---|---|---|---|---|
|
{% if photo %} |
{{ item.externalReference }} | {{ item.title }} | {% if assigned is empty %}à adresser {% else %}{{ assigned|map(a => a.sourcer.name)|join(', ') }}{% endif %} | {# États calculés à la lecture, jamais stockés. #} {% set states = item.assignments|filter(a => a.proposal)|map(a => a.proposal.state.value) %} {% set parts = [] %} {% for value, label in { pending: 'à traiter', adjustment_requested: 'en ajustement', accepted: 'acceptée', rejected: 'refusée' } %} {% set count = states|filter(s => s == value)|length %} {% if count > 0 %}{% set parts = parts|merge([count ~ ' ' ~ label ~ (count > 1 and value in ['accepted', 'rejected'] ? 's' : '')]) %}{% endif %} {% endfor %} {% if parts is empty %}—{% else %}{{ parts|join(' · ') }}{% endif %} | {{ item.importedAt|date('d/m/Y') }} | {{ item.status.label }} | Ouvrir |