From e89f9b104108ceb84ef17c8160965bf745bc5e3e Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Thu, 14 Aug 2025 11:29:09 +0000 Subject: [PATCH] Improve store selection and user group assignment logic for orders Update CustomerOrderForm to dynamically set the groupId based on user roles and permissions, falling back to null for proper assignment. Introduce a Select component for manual store/group selection with permission-based filtering. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 31f9bd88-0285-4787-81b3-31ceeea5a08b Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/31f9bd88-0285-4787-81b3-31ceeea5a08b/VwtKkP4 --- client/src/components/CustomerOrderForm.tsx | 43 ++++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/client/src/components/CustomerOrderForm.tsx b/client/src/components/CustomerOrderForm.tsx index 7f0575c..832993d 100644 --- a/client/src/components/CustomerOrderForm.tsx +++ b/client/src/components/CustomerOrderForm.tsx @@ -82,9 +82,9 @@ export function CustomerOrderForm({ return selectedStoreId; } - // FALLBACK: Default to 1 - console.log("🚨 CustomerOrderForm defaultValue: Using fallback groupId 1"); - return 1; + // FALLBACK: Return null to force proper assignment later + console.log("🚨 CustomerOrderForm defaultValue: No group found, will be set dynamically"); + return null; }; const form = useForm({ @@ -135,8 +135,8 @@ export function CustomerOrderForm({ fullUserObject: user }); - // Override groupId if needed (defaultValues might be calculated before userGroups is loaded) - if (!groupId || groupId === 1) { + // Ensure correct groupId assignment for non-admin users + if (!groupId || (user?.role !== 'admin' && !user?.userGroups?.some(ug => ug.groupId === groupId))) { if (user?.userGroups?.[0]?.groupId) { groupId = user.userGroups[0].groupId; console.log("🔧 Customer Order Override: Using user's assigned group:", groupId); @@ -265,7 +265,38 @@ export function CustomerOrderForm({ )} /> - {/* Magasin automatiquement sélectionné - pas de champ visible */} + {/* Sélection du magasin/groupe avec restrictions de permissions */} + ( + + Magasin + + + + )} + />

Informations produit