diff --git a/apps/ops/src/pages/TicketsPage.vue b/apps/ops/src/pages/TicketsPage.vue index 01c6728..7a46c61 100644 --- a/apps/ops/src/pages/TicketsPage.vue +++ b/apps/ops/src/pages/TicketsPage.vue @@ -106,11 +106,7 @@ @@ -196,6 +192,7 @@ import DetailModal from 'src/components/shared/DetailModal.vue' import InlineField from 'src/components/shared/InlineField.vue' import FlowQuickButton from 'src/components/flow-editor/FlowQuickButton.vue' import TicketCard from 'src/components/customer/TicketCard.vue' +import UserAvatar from 'src/components/shared/UserAvatar.vue' const me = useAuthStore().user // courriel de l'agent connecté (pour « Mes tickets ») const { slaFor } = useSla() // calcul SLA (politiques par file+priorité éditées dans Paramètres) @@ -258,7 +255,10 @@ function resetAndLoad () { loadTickets() } -const ISSUE_FIELDS = ['name', 'subject', 'customer_name', 'customer', 'opening_date', 'priority', 'status', 'issue_type', 'assigned_staff', 'owner', 'creation', 'legacy_ticket_id', 'is_important', 'first_responded_on', '_user_tags'] +// ⚠️ ERPNext v16 REFUSE `assigned_staff_email` / `opened_by_staff_email` dans une requête `fields` → la liste Issue +// plantait ENTIÈREMENT (0 ticket) côté frontend (listDocs interroge ERPNext direct, sans le strip du hub). Retirés +// jusqu'à ce que ces champs custom soient interrogeables ; UserAvatar retombe sur le nom (`assigned_staff`). +const ISSUE_FIELDS = ['name', 'subject', 'customer_name', 'customer', 'opening_date', 'priority', 'status', 'issue_type', 'assigned_staff', 'opened_by_staff', 'owner', 'creation', 'legacy_ticket_id', 'is_important', 'first_responded_on', '_user_tags'] async function loadTickets () { loading.value = true const filters = buildFilters({