Aktueller Stand
This commit is contained in:
@@ -140,11 +140,20 @@ export default function AdminUserApprovals({ role }: AdminUserApprovalsProps) {
|
||||
setEditingUser(null);
|
||||
};
|
||||
|
||||
const removeUser = async (user: UserItem) => {
|
||||
const ok = window.confirm(`Benutzer ${user.email} deaktivieren?`);
|
||||
const removeUser = async (user: UserItem, mode: "disable" | "delete" = "disable") => {
|
||||
if (mode === "delete" && !isSuperAdmin) {
|
||||
setError("Nur Superadmins können Benutzer endgültig löschen.");
|
||||
return;
|
||||
}
|
||||
const ok = window.confirm(
|
||||
mode === "delete"
|
||||
? `Benutzer ${user.email} endgültig löschen? Alle Daten werden entfernt.`
|
||||
: `Benutzer ${user.email} deaktivieren?`
|
||||
);
|
||||
if (!ok) return;
|
||||
|
||||
const response = await fetch(`/api/users?id=${user.id}`, {
|
||||
const hardParam = mode === "delete" ? "&hard=true" : "";
|
||||
const response = await fetch(`/api/users?id=${user.id}${hardParam}`, {
|
||||
method: "DELETE"
|
||||
});
|
||||
|
||||
@@ -154,7 +163,7 @@ export default function AdminUserApprovals({ role }: AdminUserApprovalsProps) {
|
||||
return;
|
||||
}
|
||||
|
||||
setStatus("Benutzer deaktiviert.");
|
||||
setStatus(mode === "delete" ? "Benutzer gelöscht." : "Benutzer deaktiviert.");
|
||||
loadPending();
|
||||
loadAll();
|
||||
};
|
||||
@@ -303,8 +312,8 @@ export default function AdminUserApprovals({ role }: AdminUserApprovalsProps) {
|
||||
</IconButton>
|
||||
)}
|
||||
<IconButton
|
||||
label="Deaktivieren"
|
||||
onClick={() => removeUser(user)}
|
||||
label={isSuperAdmin ? "Löschen" : "Deaktivieren"}
|
||||
onClick={() => removeUser(user, isSuperAdmin ? "delete" : "disable")}
|
||||
>
|
||||
<IconTrash />
|
||||
</IconButton>
|
||||
|
||||
Reference in New Issue
Block a user