Checkpoint: Ajout du rôle super_formateur avec accès à toutes les formations et séquences. Migration SQL appliquée en local et sur le VPS de production.
This commit is contained in:
@@ -46,7 +46,7 @@ export default function AdminUsers() {
|
||||
email: "",
|
||||
username: "",
|
||||
password: "",
|
||||
role: "user" as "user" | "admin" | "formateur",
|
||||
role: "user" as "user" | "admin" | "formateur" | "super_formateur",
|
||||
formateurId: undefined as number | undefined,
|
||||
});
|
||||
const [editForm, setEditForm] = useState({
|
||||
@@ -54,7 +54,7 @@ export default function AdminUsers() {
|
||||
email: "",
|
||||
username: "",
|
||||
password: "",
|
||||
role: "user" as "user" | "admin" | "formateur",
|
||||
role: "user" as "user" | "admin" | "formateur" | "super_formateur",
|
||||
formateurId: undefined as number | undefined,
|
||||
});
|
||||
|
||||
@@ -277,6 +277,7 @@ export default function AdminUsers() {
|
||||
<SelectItem value="admin">Administrateur</SelectItem>
|
||||
<SelectItem value="user">Utilisateur</SelectItem>
|
||||
<SelectItem value="formateur">Formateur</SelectItem>
|
||||
<SelectItem value="super_formateur">Super Formateur</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
@@ -374,8 +375,8 @@ export default function AdminUsers() {
|
||||
<TableCell>{user.email || "N/A"}</TableCell>
|
||||
<TableCell>{user.username || "N/A"}</TableCell>
|
||||
<TableCell>
|
||||
<Badge variant={user.role === "admin" ? "default" : user.role === "formateur" ? "outline" : "secondary"}>
|
||||
{user.role === "admin" ? "Administrateur" : user.role === "formateur" ? "Formateur" : "Utilisateur"}
|
||||
<Badge variant={user.role === "admin" ? "default" : user.role === "formateur" ? "outline" : user.role === "super_formateur" ? "default" : "secondary"}>
|
||||
{user.role === "admin" ? "Administrateur" : user.role === "formateur" ? "Formateur" : user.role === "super_formateur" ? "Super Formateur" : "Utilisateur"}
|
||||
</Badge>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
@@ -512,11 +513,12 @@ export default function AdminUsers() {
|
||||
<SelectItem value="user">Utilisateur</SelectItem>
|
||||
<SelectItem value="admin">Administrateur</SelectItem>
|
||||
<SelectItem value="formateur">Formateur</SelectItem>
|
||||
<SelectItem value="super_formateur">Super Formateur</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
{createForm.role === "formateur" && (
|
||||
{(createForm.role === "formateur" || createForm.role === "super_formateur") && (
|
||||
<div>
|
||||
<Label htmlFor="createFormateur">Formateur associé</Label>
|
||||
<Select
|
||||
@@ -629,11 +631,12 @@ export default function AdminUsers() {
|
||||
<SelectItem value="user">Utilisateur</SelectItem>
|
||||
<SelectItem value="admin">Administrateur</SelectItem>
|
||||
<SelectItem value="formateur">Formateur</SelectItem>
|
||||
<SelectItem value="super_formateur">Super Formateur</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
{editForm.role === "formateur" && (
|
||||
{(editForm.role === "formateur" || editForm.role === "super_formateur") && (
|
||||
<div>
|
||||
<Label htmlFor="editFormateur">Formateur associé</Label>
|
||||
<Select
|
||||
|
||||
@@ -12,7 +12,7 @@ export default function Home() {
|
||||
|
||||
useEffect(() => {
|
||||
if (!loading && isAuthenticated) {
|
||||
if (user?.role === 'admin') {
|
||||
if (user?.role === 'admin' || user?.role === 'super_formateur') {
|
||||
setLocation('/admin');
|
||||
} else if (user?.role === 'formateur') {
|
||||
setLocation('/formateur');
|
||||
@@ -28,7 +28,7 @@ export default function Home() {
|
||||
);
|
||||
}
|
||||
|
||||
if (isAuthenticated && (user?.role === 'admin' || user?.role === 'formateur')) {
|
||||
if (isAuthenticated && (user?.role === 'admin' || user?.role === 'formateur' || user?.role === 'super_formateur')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user