Skip to content

Commit d18412c

Browse files
feat: disable checkboxes for user rights if super-admin is enabled
1 parent d5a7a64 commit d18412c

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

phpmyfaq/admin/assets/src/user/users.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ const setUserData = async (userId) => {
5050
if (userData.is_superadmin) {
5151
const superAdmin = document.getElementById('is_superadmin');
5252
superAdmin.setAttribute('checked', 'checked');
53+
document.querySelectorAll('.permission').forEach((checkbox) => {
54+
checkbox.setAttribute('disabled', '');
55+
})
5356
}
5457

5558
if (userData.twofactor_enabled === '1') {
@@ -121,7 +124,22 @@ export const handleUsers = async () => {
121124
const addUserError = document.getElementById('pmf-add-user-error-message');
122125
const passwordToggle = document.getElementById('add_user_automatic_password');
123126
const passwordInputs = document.getElementById('add_user_show_password_inputs');
127+
const isSuperAdmin = document.getElementById('is_superadmin');
124128

129+
if (isSuperAdmin) {
130+
isSuperAdmin.addEventListener('click', () => {
131+
if (isSuperAdmin.checked) {
132+
document.querySelectorAll('.permission').forEach((checkbox) => {
133+
checkbox.setAttribute('disabled', '');
134+
});
135+
} else {
136+
document.querySelectorAll('.permission').forEach((checkbox) => {
137+
checkbox.removeAttribute('disabled');
138+
});
139+
}
140+
})
141+
}
142+
125143
if (passwordToggle) {
126144
passwordToggle.addEventListener('click', () => {
127145
passwordInputs.classList.toggle('d-none');

0 commit comments

Comments
 (0)