diff --git a/attached_assets/Pasted--createdBy-admin-createdAt-2025-08-18T10-45-08-585Z-i-1757359684098_1757359684098.txt b/attached_assets/Pasted--createdBy-admin-createdAt-2025-08-18T10-45-08-585Z-i-1757359684098_1757359684098.txt new file mode 100644 index 0000000..5216072 --- /dev/null +++ b/attached_assets/Pasted--createdBy-admin-createdAt-2025-08-18T10-45-08-585Z-i-1757359684098_1757359684098.txt @@ -0,0 +1,202 @@ + + + createdBy: 'admin', + + createdAt: 2025-08-18T10:45:08.585Z + + }, + + { + + id: 8, + + title: 'Bon de Livraison', + + content: 'Lorsque vous rentrez un numéro de bon de livraison, faite le a l identique, même les majuscules. Pour My candy Shop, prendre le numéro de commande.', + + type: 'info', + + storeId: null, + + createdBy: 'admin_local', + + createdAt: 2025-08-07T11:04:38.123Z + + } + +] + +🔍 [PRODUCTION] Looking for user with username: admin + +🔍 [PRODUCTION] Looking for user with username: admin_local + +GET /api/dlc-products/stats 304 in 459ms + +🔍 [PRODUCTION] User search result: Found + +📢 [SERVER] Fetching announcements for user: admin_local environment: production + +🔍 [PRODUCTION] User search result: Not found + +❌ [PRODUCTION] User not found with username: admin_local + +🎯 [PRODUCTION] Found announcements: 2 + +GET /api/announcements 304 in 348ms + +Customer Orders API called with: { groupIds: [ 1 ], userRole: 'admin' } + +📋 API PUBLICITIES REQUEST: { + + year: '2025', + + filterYear: 2025, + + storeId: undefined, + + userRole: 'admin' + +} + +📋 CALLING storage.getPublicities: { filterYear: 2025, groupIds: undefined } + +GET /api/user 304 in 75ms + +Deliveries API called with: { + + startDate: undefined, + + endDate: undefined, + + storeId: '1', + + withBL: undefined, + + userRole: 'admin' + +} + +🔍 Admin deliveries filtering by store: { storeId: '1', groupIds: [ 1 ], role: 'admin' } + +Fetching all deliveries + +Orders API called with: { + + startDate: undefined, + + endDate: undefined, + + storeId: '1', + + userRole: 'admin' + +} + +🔍 Admin orders filtering by store: { storeId: '1', groupIds: [ 1 ], role: 'admin' } + +Fetching all orders + +📢 [SERVER] User found: { username: 'admin', role: 'admin' } + +🎯 [PRODUCTION] Using PostgreSQL DASHBOARD_MESSAGES table + +📋 PUBLICITES FETCHED: 29 résultats pour année 2025 + +🔍 PREMIERS RESULTATS: [ + + '1. N°2501 - Blanc', + + '2. N°2502 - Moins de 1€ 2€ 3€ 4€ 5€', + + '3. N°2503 - Imbattables' + +] + +Customer Orders returned: 11 items + +GET /api/customer-orders 304 in 53ms + +🔍 [PRODUCTION] Raw messages from DB: 2 items: [ + + { + + id: 16, + + title: 'Mise à jour Prix', + + content: 'Merci de mettre vos prix a jour tous les matins, certain magasin ne le font pas.', + + type: 'success', + + storeId: null, + + createdBy: 'admin', + + createdAt: 2025-08-18T10:45:08.585Z + + }, + + { + + id: 8, + + title: 'Bon de Livraison', + + content: 'Lorsque vous rentrez un numéro de bon de livraison, faite le a l identique, même les majuscules. Pour My candy Shop, prendre le numéro de commande.', + + type: 'info', + + storeId: null, + + createdBy: 'admin_local', + + createdAt: 2025-08-07T11:04:38.123Z + + } + +] + +🔍 [PRODUCTION] Looking for user with username: admin + +🔍 [PRODUCTION] Looking for user with username: admin_local + +📋 PUBLICITIES RETURNED: { count: 29 } + +GET /api/publicities 304 in 223ms + +🔍 [PRODUCTION] User search result: Not found + +❌ [PRODUCTION] User not found with username: admin_local + +🔍 [PRODUCTION] User search result: Found + +🎯 [PRODUCTION] Found announcements: 2 + +🔗 PRODUCTION: getOrders() récupéré 64 commandes avec relations + +Orders returned: 64 items + +GET /api/announcements 304 in 189ms + +GET /api/orders 304 in 204ms + +🔗 PRODUCTION: getDeliveries() récupéré 82 livraisons avec relations + +Deliveries returned: 82 items + +GET /api/deliveries 304 in 225ms + +GET /api/groups 304 in 91ms + +GET /api/user 304 in 4ms + +GET /api/suppliers 304 in 7ms + +🔍 Avoirs API called with: { groupIds: [ 1 ], userRole: 'admin' } + +📋 Avoirs returned: 1 items + +GET /api/avoirs 304 in 10ms + +GET /api/user 304 in 5ms + diff --git a/attached_assets/image_1757359675166.png b/attached_assets/image_1757359675166.png new file mode 100644 index 0000000..bf7b68a Binary files /dev/null and b/attached_assets/image_1757359675166.png differ diff --git a/client/src/pages/Avoirs.tsx b/client/src/pages/Avoirs.tsx index 8f9c2b5..87cce5d 100644 --- a/client/src/pages/Avoirs.tsx +++ b/client/src/pages/Avoirs.tsx @@ -425,6 +425,20 @@ export default function Avoirs() { } }; + // Debug: Log des avoirs reçus + useEffect(() => { + console.log('💰 Debug avoirs reçus:', { + count: avoirs?.length || 0, + first: avoirs?.[0] ? { + id: avoirs[0].id, + keys: Object.keys(avoirs[0]), + hasSupplier: !!avoirs[0].supplier, + hasGroup: !!avoirs[0].group, + hasCreator: !!avoirs[0].creator + } : null + }); + }, [avoirs]); + // 🔍 FONCTION DE VÉRIFICATION DE FACTURE (comme rapprochement) const verifyAvoirInvoiceMutation = useMutation({ mutationFn: async ({ avoirId, invoiceReference, forceRefresh }: { avoirId: number; invoiceReference?: string; forceRefresh?: boolean }) => { @@ -1041,9 +1055,20 @@ export default function Avoirs() { {filteredAvoirs?.filter(avoir => avoir && avoir.id).map((avoir) => { - const canEditDelete = ['admin', 'directeur'].includes((user as any)?.role); - - return ( + try { + // Debug: Log de l'avoir pour identifier le problème + console.log('🔍 Render avoir:', { + id: avoir?.id, + hasSupplier: !!avoir?.supplier, + hasGroup: !!avoir?.group, + hasCreator: !!avoir?.creator, + createdAt: avoir?.createdAt, + status: avoir?.status + }); + + const canEditDelete = ['admin', 'directeur'].includes((user as any)?.role); + + return ( {avoir.supplier?.name || 'Fournisseur non défini'} @@ -1199,6 +1224,16 @@ export default function Avoirs() { ); + } catch (renderError) { + console.error('❌ Erreur rendu avoir:', renderError, avoir); + return ( + + + Erreur d'affichage de l'avoir #{avoir?.id || 'inconnu'} + + + ); + } })}