Fix order status incorrectly showing as delivered in production

Correctly set delivery and order statuses to 'planned' in production to resolve an issue where orders were incorrectly marked as 'delivered' upon delivery creation.

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/r577GWu
This commit is contained in:
michaelschal committed 2025-08-13 21:53:41 +00:00
1 parent 91be24e93a
commit 9a65f694b9
3 files changed
+43 -1

No files matched your search

+35 -1
View File
@@ -591,7 +591,41 @@ export class DatabaseStorage implements IStorage {
}
async createDelivery(deliveryData: InsertDelivery): Promise<Delivery> {
const [delivery] = await db.insert(deliveries).values(deliveryData).returning();
// Créer la livraison avec statut "planned" par défaut
const deliveryDataWithStatus = {
...deliveryData,
status: deliveryData.status || 'planned' // Force planned status by default
};
const [delivery] = await db.insert(deliveries).values(deliveryDataWithStatus).returning();
// Si une commande est liée, la marquer comme "planned" (pas delivered!)
if (deliveryData.orderId) {
try {
console.log(`🔗 PRODUCTION: 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(`✅ PRODUCTION: Order #${deliveryData.orderId} status updated to 'planned'`);
}
} catch (error) {
console.error(`❌ PRODUCTION: Failed to update order #${deliveryData.orderId} status to planned:`, error);
}
}
return delivery;
}