fix(IstruttoriaQueue): toggle manager view non compariva mai per bug store

Due bug correlati risolti:

1. userRole era sempre null. Il codice usava storeGet('getUser') che non esiste
   nel selectors (sono solo getToken, getRole, getPermissions). Sostituito con
   storeGet('getRole') che ritorna userData.role.roleType.
   Effetto: canUseManagerView e sempre false, toggle manager mai visibile,
   il capo istruttore vede solo 'Nessuna pratica in coda'.

2. managerMode partiva a false anche per manager e superadmin. Ora default
   true per ROLE_INSTRUCTOR_MANAGER e ROLE_SUPER_ADMIN: partono in vista
   'tutte le pratiche' con possibilita riassegnare.

Rimosso anche import useMemo non piu usato.

Segnalazione Carlo: 'qualcosa non quadra nel profilo del capoistruttore'.
This commit is contained in:
BFLOWS
2026-04-18 19:13:01 +02:00
parent 4cd74cd500
commit 6f83574714

View File

@@ -1,4 +1,4 @@
import React, { useEffect, useState, useRef, useMemo } from 'react';
import React, { useEffect, useState, useRef } from 'react';
import { __ } from '@wordpress/i18n';
import { useNavigate } from 'react-router-dom';
@@ -32,17 +32,22 @@ const IstruttoriaQueue = () => {
const [loading, setLoading] = useState(true);
// v2 manager view
const [managerMode, setManagerMode] = useState(false); // toggle UI
// Default: manager/superadmin partono in vista 'tutte le pratiche' (managerMode=true).
// Pre-instructor vedono solo la coda attiva (managerMode=false).
const [managerMode, setManagerMode] = useState(
storeGet('getRole') === 'ROLE_INSTRUCTOR_MANAGER' ||
storeGet('getRole') === 'ROLE_SUPER_ADMIN'
); // toggle UI
const [managerItems, setManagerItems] = useState([]);
const [instructors, setInstructors] = useState([]);
const [reassignDialog, setReassignDialog] = useState({ visible: false, practice: null, newInstructorId: null, reason: '' });
const [reassigning, setReassigning] = useState(false);
// Controllo ruolo utente per mostrare toggle manager
const userRole = useMemo(() => {
const user = storeGet('getUser');
return user?.authorities?.[0] || user?.role || null;
}, []);
// Controllo ruolo utente per mostrare toggle manager.
// storeGet('getRole') ritorna userData.role.roleType (es. ROLE_INSTRUCTOR_MANAGER).
// Fix: il codice precedente usava storeGet('getUser') che non esiste nel selectors,
// quindi canUseManagerView era sempre false e il toggle non compariva mai.
const userRole = storeGet('getRole');
const canUseManagerView = userRole === 'ROLE_INSTRUCTOR_MANAGER' || userRole === 'ROLE_SUPER_ADMIN';
const loadQueue = () => {