feat: Phase 5 – Berechtigungssystem (User-Module-Zuweisung, Gateway-Access-Control)

This commit is contained in:
MPM Dev
2026-10-07 16:10:15 +02:00
parent 5d775c317a
commit 4d7610328c
19 changed files with 938 additions and 29 deletions

View File

@@ -14,6 +14,7 @@ import {
resetUserPassword,
updateUser,
} from '../../lib/users-api';
import { UserPermissionsModal } from './user-permissions-modal';
import {
createUserSchema,
resetPasswordSchema,
@@ -370,6 +371,7 @@ export function UsersPage(): ReactNode {
const [editUser, setEditUser] = useState<User | null>(null);
const [resetPasswordUser, setResetPasswordUser] = useState<User | null>(null);
const [deleteTarget, setDeleteTarget] = useState<User | null>(null);
const [permissionsUser, setPermissionsUser] = useState<User | null>(null);
const usersQuery = useQuery({
queryKey: ['users'],
@@ -466,6 +468,9 @@ export function UsersPage(): ReactNode {
<Button size="sm" variant="ghost" onClick={() => setResetPasswordUser(user)}>
Passwort
</Button>
<Button size="sm" variant="ghost" onClick={() => setPermissionsUser(user)}>
Module
</Button>
{user.id !== currentUser?.id && (
<>
<Button
@@ -511,6 +516,9 @@ export function UsersPage(): ReactNode {
{deleteTarget && (
<DeleteUserModal user={deleteTarget} onClose={() => setDeleteTarget(null)} />
)}
{permissionsUser && (
<UserPermissionsModal user={permissionsUser} onClose={() => setPermissionsUser(null)} />
)}
</div>
);
}