mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-21 14:08:15 +02:00
Improve task module loading for director and manager roles
Enhance Layout component to auto-select a store for director/manager roles and add a useEffect hook in Tasks page to invalidate the "/api/tasks" query when selectedStoreId changes for these roles. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869 Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869/yiEpJFx
This commit is contained in:
1 parent
27305d5706
commit
025bca2e38
2 files changed
+20
-1
No files matched your search
@@ -98,7 +98,14 @@ export default function Layout({ children }: LayoutProps) {
|
|||||||
// IMPORTANT FIX: Pour les rôles directeur/manager, forcer la sélection d'un magasin spécifique
|
// IMPORTANT FIX: Pour les rôles directeur/manager, forcer la sélection d'un magasin spécifique
|
||||||
// si aucun n'est sélectionné et qu'ils n'ont accès qu'à un seul magasin
|
// si aucun n'est sélectionné et qu'ils n'ont accès qu'à un seul magasin
|
||||||
if ((user.role === 'directeur' || user.role === 'manager') && !selectedStoreId && stores.length === 1 && !needsUpdate) {
|
if ((user.role === 'directeur' || user.role === 'manager') && !selectedStoreId && stores.length === 1 && !needsUpdate) {
|
||||||
console.log('🏪 Auto-selecting single available store for directeur/manager:', stores[0].id);
|
console.log('🏪 Auto-selecting single available store for directeur/manager:', {
|
||||||
|
storeId: stores[0].id,
|
||||||
|
storeName: stores[0].name,
|
||||||
|
userRole: user.role,
|
||||||
|
userId: user.id,
|
||||||
|
previousSelectedStoreId: selectedStoreId,
|
||||||
|
timestamp: new Date().toISOString()
|
||||||
|
});
|
||||||
const singleStoreId = stores[0].id;
|
const singleStoreId = stores[0].id;
|
||||||
setSelectedStoreId(singleStoreId);
|
setSelectedStoreId(singleStoreId);
|
||||||
localStorage.setItem('selectedStoreId', singleStoreId.toString());
|
localStorage.setItem('selectedStoreId', singleStoreId.toString());
|
||||||
|
|||||||
@@ -331,6 +331,18 @@ export default function Tasks() {
|
|||||||
timestamp: new Date().toISOString()
|
timestamp: new Date().toISOString()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Force refresh when selectedStoreId changes for directeur/manager
|
||||||
|
useEffect(() => {
|
||||||
|
if (user && (user.role === 'directeur' || user.role === 'manager') && selectedStoreId) {
|
||||||
|
console.log('🔄 FORCE REFRESH: selectedStoreId changed for directeur/manager:', {
|
||||||
|
userRole: user.role,
|
||||||
|
selectedStoreId,
|
||||||
|
timestamp: new Date().toISOString()
|
||||||
|
});
|
||||||
|
queryClient.invalidateQueries({ queryKey: ["/api/tasks"] });
|
||||||
|
}
|
||||||
|
}, [selectedStoreId, user, queryClient]);
|
||||||
|
|
||||||
// États locaux
|
// États locaux
|
||||||
const [searchTerm, setSearchTerm] = useState("");
|
const [searchTerm, setSearchTerm] = useState("");
|
||||||
const [statusFilter, setStatusFilter] = useState<string>("all");
|
const [statusFilter, setStatusFilter] = useState<string>("all");
|
||||||
|
|||||||
Reference in new issue
Block a user