Merge pull request #110 from R0m1k3/1.1

Fix order status incorrectly showing as delivered in production
This commit is contained in:
LogiFlow authored and GitHub committed 2025-08-13 23:54:07 +02:00
commit 923587b7da
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;
}