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

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

+8
View File
@@ -19,6 +19,14 @@ La plateforme fournit une gestion robuste des flux de travail de livraison avec
## Recent Changes
### 2025-08-13 - Correction statut commande lors liaison avec livraison (PRODUCTION)
✅ **Problème production PostgreSQL résolu** :
- **Problème** : Commandes passaient à "delivered" au lieu de "planned" lors liaison avec livraison
- **Cause** : Méthode createDelivery() dans DatabaseStorage (PostgreSQL) manquait logique status
- **Solution** : Ajout logique complète dans createDelivery() production identique à développement
- **Correction** : Commandes liées passent maintenant à "planned" (jaune) et non "delivered"
- **Test** : Synchronisation automatique uniquement lors validation, pas création
### 2025-08-13 - Interface épurée + redirection automatique + réorganisation navigation
✅ **Redirection automatique vers authentification** :
- RouterProduction redirige immédiatement si utilisateur non connecté
+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;
}