fix(ops): tickets list returned 0 — Issue query used fields ERPNext v16 rejects
An in-flight TicketsPage change added assigned_staff_email / opened_by_staff_email to ISSUE_FIELDS, but ERPNext v16 refuses those in a `fields` query. The frontend queries ERPNext directly (no bad-field stripping like the hub), so the whole Issue list 400'd → 0 tickets for everyone. Removed the two rejected fields; UserAvatar falls back to the assigned_staff name. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e8dc86e058
commit
28a5789fe0
|
|
@ -106,11 +106,7 @@
|
||||||
</template>
|
</template>
|
||||||
<template #body-cell-assigned="props">
|
<template #body-cell-assigned="props">
|
||||||
<q-td :props="props" class="text-center">
|
<q-td :props="props" class="text-center">
|
||||||
<q-avatar v-if="props.row.assigned_staff" size="26px" text-color="white"
|
<UserAvatar v-if="props.row.assigned_staff || props.row.assigned_staff_email" :ident="props.row.assigned_staff_email" :name="props.row.assigned_staff" :size="26" card />
|
||||||
:style="{ background: staffColor(props.row.assigned_staff), fontSize: '10px', fontWeight: 600 }">
|
|
||||||
{{ staffInitials(props.row.assigned_staff) }}
|
|
||||||
<q-tooltip>{{ props.row.assigned_staff }}</q-tooltip>
|
|
||||||
</q-avatar>
|
|
||||||
<span v-else class="text-grey-4">—</span>
|
<span v-else class="text-grey-4">—</span>
|
||||||
</q-td>
|
</q-td>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -196,6 +192,7 @@ import DetailModal from 'src/components/shared/DetailModal.vue'
|
||||||
import InlineField from 'src/components/shared/InlineField.vue'
|
import InlineField from 'src/components/shared/InlineField.vue'
|
||||||
import FlowQuickButton from 'src/components/flow-editor/FlowQuickButton.vue'
|
import FlowQuickButton from 'src/components/flow-editor/FlowQuickButton.vue'
|
||||||
import TicketCard from 'src/components/customer/TicketCard.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 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)
|
const { slaFor } = useSla() // calcul SLA (politiques par file+priorité éditées dans Paramètres)
|
||||||
|
|
@ -258,7 +255,10 @@ function resetAndLoad () {
|
||||||
loadTickets()
|
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 () {
|
async function loadTickets () {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
const filters = buildFilters({
|
const filters = buildFilters({
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user