From e701c2bd29d7aa04cbaca294226fd0ab7ed63915 Mon Sep 17 00:00:00 2001 From: Nick Adam Date: Fri, 21 Nov 2025 00:31:54 +0100 Subject: [PATCH] refined delete function in permission groups --- backend/spaces.db-shm | Bin 32768 -> 32768 bytes backend/spaces.db-wal | Bin 2698632 -> 2748072 bytes frontend/src/pages/Permissions.jsx | 93 +++++++++++++++++++++++++++-- 3 files changed, 87 insertions(+), 6 deletions(-) diff --git a/backend/spaces.db-shm b/backend/spaces.db-shm index aa0ec1d58d92697db5e8f1eb5450d232a70a67d8..a184a4a98f87abf24aff63beb96da865f3bd1085 100644 GIT binary patch delta 297 zcmZo@U}|V!s+V}A%K!okfS8eiL0~o$1A{7%{rh&^yMyKPH6>k^F*@aS~9CDC6d5X+ZX5 z2>VGUP|XyGnnyW6_EZS_L4Fk{b}3U{&UL2l0FcSrB&7C%>+0Q^`wnHg zlByo49}Ga|{zn2(;f?jKT${geJusWZZ7}(YW5Z;j#8sRBIfXER8Gl@_iES22lw#cc zCiV^^kfp@9`BlO#5KDz|^NZvcAeI>8=4WXz){{(_?4ukQ>p^}M=VqpqU5t~sk4(N% M-2i7_s{`8y095W_0RR91 diff --git a/backend/spaces.db-wal b/backend/spaces.db-wal index dc681d3f111e5d08d5bb88ca10cbc6448411808e..c240e1f074cc531ac3a9ff87ef5d8500c14c0a3d 100644 GIT binary patch delta 895 zcma))ZDc*tt<5uJ+y~_u`I`d&* z=K1}fhlfdyALmb}PVv3K!z`E$Hn4*OvcL%fxIlz#kN^RO9LR+{$OktRz#J%qx!{3$ zPy}8mh7u?RANZjR=7S6hs89~%%RrK{u0kcpomjcB_WcRrxrEPhJZ|N1D{eJ&7iO)* z?EY<~$;okC%p>`iu-=oh%(m{9wIb_^v-jnxPbU4z;ER^)DHncdu|pglGRLk7GCrUU zB$)4%-Nu?Diej_mWCp)5DCf*6zCQJL*V^juB|L0VaSq3^2Yb?d~O9X9Lf1AfNHf@QYg964Gbr_)+1 z6L`zLr4RcYhrTuUf2VX{7Mw0Wk+)*#QqQ9h*X^=Iyfp$3n`49WM>sv%&bIAQW!5lV zF0+1-e4?(8U25!DU!R{AQ|DbSyGeY23efNPV_`D;ndlO_q#Mq==7Jx{d1t19Kvl%h zjVdEd^|q=A4IAMwjeZ){XuEDySL#|@s8X+@WOj^a>wE#(q(76Vj=Wc?KllDsGMUQQ zh<7;gj;W={h{zfy1c_DLQXTeajS-^Ee@o3bz5fue4XKeNNW9xs>pfsHlKbGsOr;!BbhKaC$B>#m~nWBK3r>1p0;L9HG8lNsbvVBytS`_#e4xP(>DXtX;oL)z>?b@u{ ze9N$ZU@^b6uainKBUb34vBW#U#G1G1GNgqnsjkzI?$flI5ZgC3m)g>)*)MT*wYagp o^Tx$(8#aAbd diff --git a/frontend/src/pages/Permissions.jsx b/frontend/src/pages/Permissions.jsx index 9c556b2..265247b 100644 --- a/frontend/src/pages/Permissions.jsx +++ b/frontend/src/pages/Permissions.jsx @@ -10,6 +10,9 @@ const Permissions = () => { const [error, setError] = useState('') const [showForm, setShowForm] = useState(false) const [editingGroup, setEditingGroup] = useState(null) + const [showDeleteModal, setShowDeleteModal] = useState(false) + const [groupToDelete, setGroupToDelete] = useState(null) + const [confirmChecked, setConfirmChecked] = useState(false) const [formData, setFormData] = useState({ name: '', description: '', @@ -132,28 +135,43 @@ const Permissions = () => { setShowForm(true) } - const handleDelete = async (groupId) => { - if (!window.confirm('Möchten Sie diese Berechtigungsgruppe wirklich löschen?')) { + const handleDelete = (group) => { + setGroupToDelete(group) + setShowDeleteModal(true) + setConfirmChecked(false) + } + + const confirmDelete = async () => { + if (!confirmChecked || !groupToDelete) { return } try { - const response = await authFetch(`/api/permission-groups/${groupId}`, { + const response = await authFetch(`/api/permission-groups/${groupToDelete.id}`, { method: 'DELETE', }) if (response.ok) { await fetchGroups() + setShowDeleteModal(false) + setGroupToDelete(null) + setConfirmChecked(false) } else { - const errorData = await response.json() + const errorData = await response.json().catch(() => ({ error: 'Fehler beim Löschen' })) alert(errorData.error || 'Fehler beim Löschen der Berechtigungsgruppe') } } catch (err) { - alert('Fehler beim Löschen der Berechtigungsgruppe') console.error('Error deleting permission group:', err) + alert('Fehler beim Löschen der Berechtigungsgruppe') } } + const cancelDelete = () => { + setShowDeleteModal(false) + setGroupToDelete(null) + setConfirmChecked(false) + } + const handleChange = (e) => { setFormData({ ...formData, @@ -488,7 +506,7 @@ const Permissions = () => { + + + + + )} )