mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Ensure linked orders are marked as planned when deliveries are updated
Correctly update order status to 'planned' when a delivery is linked or edited in the calendar, addressing an issue where orders were not transitioning to the planned state. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 15f19c36-9aac-46a4-a181-3dc5f496fabd Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/15f19c36-9aac-46a4-a181-3dc5f496fabd/s75PPM5
This commit is contained in:
1 parent
20efd9251e
commit
9dbb5e0768
2 files changed
+70
-26
No files matched your search
@@ -968,6 +968,36 @@ export class DatabaseStorage implements IStorage {
|
||||
.set({ ...deliveryData, updatedAt: new Date() })
|
||||
.where(eq(deliveries.id, id))
|
||||
.returning();
|
||||
|
||||
// CRITICAL FIX: Si une commande est liée lors de l'édition, la marquer comme "planned"
|
||||
if (deliveryData.orderId) {
|
||||
try {
|
||||
console.log(`🔗 CALENDAR EDIT: Delivery #${delivery.id} linked to order #${deliveryData.orderId}, updating order status to 'planned'`);
|
||||
|
||||
// Récupérer la commande actuelle
|
||||
const [currentOrder] = await db
|
||||
.select()
|
||||
.from(orders)
|
||||
.where(eq(orders.id, deliveryData.orderId));
|
||||
|
||||
if (currentOrder && currentOrder.status === 'pending') {
|
||||
await db
|
||||
.update(orders)
|
||||
.set({
|
||||
status: 'planned',
|
||||
updatedAt: new Date()
|
||||
})
|
||||
.where(eq(orders.id, deliveryData.orderId));
|
||||
|
||||
console.log(`✅ CALENDAR EDIT: Order #${deliveryData.orderId} status updated to 'planned'`);
|
||||
} else if (currentOrder) {
|
||||
console.log(`ℹ️ CALENDAR EDIT: Order #${deliveryData.orderId} status is '${currentOrder.status}', no update needed`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`❌ CALENDAR EDIT: Failed to update order #${deliveryData.orderId} status to planned:`, error);
|
||||
}
|
||||
}
|
||||
|
||||
return delivery;
|
||||
}
|
||||
|
||||
@@ -2715,6 +2745,23 @@ export class MemStorage implements IStorage {
|
||||
updatedAt: new Date(),
|
||||
};
|
||||
this.deliveries.set(id, updatedDelivery);
|
||||
|
||||
// CRITICAL FIX: Si une commande est liée lors de l'édition, la marquer comme "planned"
|
||||
if (deliveryData.orderId) {
|
||||
try {
|
||||
const order = this.orders.get(deliveryData.orderId);
|
||||
if (order && order.status === 'pending') {
|
||||
console.log(`🔗 CALENDAR EDIT (DEV): Delivery #${id} linked to order #${deliveryData.orderId}, updating order status to 'planned'`);
|
||||
await this.updateOrder(deliveryData.orderId, { status: 'planned' });
|
||||
console.log(`✅ CALENDAR EDIT (DEV): Order #${deliveryData.orderId} status updated to 'planned'`);
|
||||
} else if (order) {
|
||||
console.log(`ℹ️ CALENDAR EDIT (DEV): Order #${deliveryData.orderId} status is '${order.status}', no update needed`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`❌ CALENDAR EDIT (DEV): Failed to update order #${deliveryData.orderId} status to planned:`, error);
|
||||
}
|
||||
}
|
||||
|
||||
return updatedDelivery;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user