mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
3 files changed
+22
-6
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 196 KiB |
@@ -81,13 +81,12 @@ const avoirSchema = z.object({
|
||||
z.undefined().transform(() => undefined),
|
||||
z.literal("").transform(() => undefined),
|
||||
z.string().transform((val) => {
|
||||
if (val.trim() === '') return undefined; // Permettre les champs vides
|
||||
const num = parseFloat(val);
|
||||
if (isNaN(num)) {
|
||||
throw new Error("Montant invalide");
|
||||
}
|
||||
if (num <= 0) {
|
||||
throw new Error("Le montant doit être supérieur à 0");
|
||||
}
|
||||
// Supprimer la restriction > 0 pour permettre zéro et les montants négatifs (avoirs)
|
||||
return num;
|
||||
})
|
||||
]).optional(),
|
||||
@@ -454,7 +453,15 @@ export default function Avoirs() {
|
||||
}
|
||||
}
|
||||
|
||||
// Recharger les avoirs pour voir les changements
|
||||
// ✅ Mettre à jour l'état local immédiatement pour affichage instantané
|
||||
setAvoirVerificationResults(prev => ({
|
||||
...prev,
|
||||
[avoirId]: { exists: true, fromCache: true, permanent: true, validated: true }
|
||||
}));
|
||||
|
||||
console.log('✅ Avoir validé - État local mis à jour:', avoirId);
|
||||
|
||||
// Recharger les avoirs pour voir les changements en base
|
||||
queryClient.invalidateQueries({ queryKey: ['/api/avoirs'] });
|
||||
|
||||
toast({
|
||||
@@ -477,7 +484,16 @@ export default function Avoirs() {
|
||||
verified: false
|
||||
});
|
||||
|
||||
// Recharger les avoirs pour voir les changements
|
||||
// ✅ Retirer de l'état local immédiatement
|
||||
setAvoirVerificationResults(prev => {
|
||||
const updated = { ...prev };
|
||||
delete updated[avoirId]; // Supprimer complètement l'entrée
|
||||
return updated;
|
||||
});
|
||||
|
||||
console.log('✅ Avoir dévalidé - État local mis à jour:', avoirId);
|
||||
|
||||
// Recharger les avoirs pour voir les changements en base
|
||||
queryClient.invalidateQueries({ queryKey: ['/api/avoirs'] });
|
||||
|
||||
toast({
|
||||
|
||||
+1
-1
@@ -585,7 +585,7 @@ export const insertAvoirSchema = createInsertSchema(avoirs).omit({
|
||||
processedAt: true,
|
||||
}).extend({
|
||||
status: z.enum(["En attente de demande", "Demandé", "Reçu"]).default("En attente de demande"),
|
||||
amount: z.coerce.number().refine(val => val !== 0, "Le montant ne peut pas être zéro").optional(), // Montant optionnel, positif ou négatif (mais pas zéro)
|
||||
amount: z.coerce.number().optional().nullable(), // Montant optionnel, peut être vide, zéro, positif ou négatif
|
||||
invoiceReference: z.string().optional(), // Référence facture optionnelle
|
||||
comment: z.string().optional(),
|
||||
commercialProcessed: z.boolean().default(false),
|
||||
|
||||
Reference in new issue
Block a user