From 00a95954d048fdaf1d25154df5d78098670d665e Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 13 Aug 2025 21:40:57 +0000 Subject: [PATCH] Restore visibility of linked order and delivery information in calendar views Update storage logic to include associated deliveries within order details and link orders to delivery details. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7c468936-2a88-4686-ac0a-84921a45222d Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/7c468936-2a88-4686-ac0a-84921a45222d/tzcQQt9 --- server/storage.ts | 32 ++++++++++++++++++++++++++++++-- shared/schema.ts | 3 ++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/server/storage.ts b/server/storage.ts index ed5cf9a..e067380 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -1563,11 +1563,23 @@ export class MemStorage implements IStorage { async getOrder(id: number): Promise { const order = this.orders.get(id); if (!order) return undefined; + + // Récupérer les livraisons associées à cette commande + const associatedDeliveries = Array.from(this.deliveries.values()) + .filter(delivery => delivery.orderId === id) + .map(delivery => ({ + ...delivery, + supplier: this.suppliers.get(delivery.supplierId), + group: this.groups.get(delivery.groupId), + creator: this.users.get(delivery.createdBy || '') + })); + return { ...order, supplier: this.suppliers.get(order.supplierId), group: this.groups.get(order.groupId), - creator: this.users.get(order.createdBy) + creator: this.users.get(order.createdBy), + deliveries: associatedDeliveries }; } @@ -1636,11 +1648,27 @@ export class MemStorage implements IStorage { async getDelivery(id: number): Promise { const delivery = this.deliveries.get(id); if (!delivery) return undefined; + + // Récupérer la commande associée si elle existe + let associatedOrder = undefined; + if (delivery.orderId) { + const order = this.orders.get(delivery.orderId); + if (order) { + associatedOrder = { + ...order, + supplier: this.suppliers.get(order.supplierId), + group: this.groups.get(order.groupId), + creator: this.users.get(order.createdBy) + }; + } + } + return { ...delivery, supplier: this.suppliers.get(delivery.supplierId), group: this.groups.get(delivery.groupId), - creator: this.users.get(delivery.createdBy || '') + creator: this.users.get(delivery.createdBy || ''), + order: associatedOrder }; } diff --git a/shared/schema.ts b/shared/schema.ts index 89102b0..2ca421a 100644 --- a/shared/schema.ts +++ b/shared/schema.ts @@ -564,13 +564,14 @@ export type OrderWithRelations = Order & { supplier: Supplier; group: Group; creator: User; + deliveries?: DeliveryWithRelations[]; }; export type DeliveryWithRelations = Delivery & { supplier: Supplier; group: Group; creator: User; - order?: Order; + order?: OrderWithRelations; }; export type PublicityWithRelations = Publicity & {