From d90aa9580850b5ca955071bac1b8028f696a4328 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Wed, 23 Dec 2020 14:16:53 -0500 Subject: [PATCH] feat: add confirmation modal when assigning admin:admins-mods privilege --- public/language/en-GB/admin/manage/privileges.json | 1 + public/src/admin/manage/privileges.js | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/public/language/en-GB/admin/manage/privileges.json b/public/language/en-GB/admin/manage/privileges.json index 737a734f5a..8d9e59f86d 100644 --- a/public/language/en-GB/admin/manage/privileges.json +++ b/public/language/en-GB/admin/manage/privileges.json @@ -44,6 +44,7 @@ "admin-settings": "Settings", "alert.confirm-moderate": "Are you sure you wish to grant the moderation privilege to this user group? This group is public, and any users can join at will.", + "alert.confirm-admins-mods": "Are you sure you wish to grant the "Admins & Mods" privilege to this user/group? Users with this privilege are able to promote and demote other users into privileged positions, including super administrator", "alert.confirm-save": "Please confirm your intention to save these privileges", "alert.saved": "Privilege changes saved and applied", "alert.confirm-discard": "Are you sure you wish to discard your privilege changes?", diff --git a/public/src/admin/manage/privileges.js b/public/src/admin/manage/privileges.js index 0fab84ed20..49757db41e 100644 --- a/public/src/admin/manage/privileges.js +++ b/public/src/admin/manage/privileges.js @@ -50,6 +50,15 @@ define('admin/manage/privileges', [ checkboxEl.prop('checked', !checkboxEl.prop('checked')); } }); + } else if (privilege.endsWith('admin:admins-mods') && state) { + bootbox.confirm('[[admin/manage/privileges:alert.confirm-admins-mods]]', function (confirm) { + if (confirm) { + wrapperEl.attr('data-delta', delta); + Privileges.exposeAssumedPrivileges(); + } else { + checkboxEl.prop('checked', !checkboxEl.prop('checked')); + } + }); } else { wrapperEl.attr('data-delta', delta); Privileges.exposeAssumedPrivileges();