diff --git a/src/features/admin/components/pages/RoleEditPage.js b/src/features/admin/components/pages/RoleEditPage.js index 4ffa0b9..86229a3 100644 --- a/src/features/admin/components/pages/RoleEditPage.js +++ b/src/features/admin/components/pages/RoleEditPage.js @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; import { useRouter } from 'next/navigation'; -import { Card, Button } from '@zen/core/shared/components'; +import { Card, Button, Input, Textarea, Switch } from '@zen/core/shared/components'; import { useToast } from '@zen/core/toast'; import { getPermissionGroups } from '@zen/core/users/constants'; @@ -41,7 +41,7 @@ const RoleEditPage = ({ roleId }) => { setColor(role.color || '#6b7280'); setSelectedPerms(role.permission_keys || []); setIsSystem(role.is_system || false); - } catch (err) { + } catch { toast.error('Impossible de charger ce rôle'); router.push('/admin/roles'); } finally { @@ -81,9 +81,12 @@ const RoleEditPage = ({ roleId }) => { const url = isCreating ? '/zen/api/roles' : `/zen/api/roles/${roleId}`; const method = isCreating ? 'POST' : 'PUT'; - const body = isCreating - ? { name: name.trim(), description: description.trim() || null, color } - : { name: name.trim(), description: description.trim() || null, color, permissionKeys: selectedPerms }; + const body = { + name: name.trim(), + description: description.trim() || null, + color, + permissionKeys: selectedPerms, + }; const response = await fetch(url, { method, @@ -99,14 +102,8 @@ const RoleEditPage = ({ roleId }) => { } toast.success(isCreating ? 'Rôle créé' : 'Rôle mis à jour'); - - // After creating, redirect to edit page so permissions can be set - if (isCreating && data.role?.id) { - router.push(`/admin/roles/edit/${data.role.id}`); - } else { - router.push('/admin/roles'); - } - } catch (err) { + router.push('/admin/roles'); + } catch { toast.error('Impossible de sauvegarder ce rôle'); } finally { setSaving(false); @@ -117,7 +114,7 @@ const RoleEditPage = ({ roleId }) => { return (