From 0f1ef2f101e8f518648ec6c33cacf4573d3a0c13 Mon Sep 17 00:00:00 2001 From: master3395 Date: Mon, 16 Feb 2026 00:09:42 +0100 Subject: [PATCH] Fix ACL Delete DNS Zone (issue #1701): permission UI and legacy config - plogical/acl.py: use config.get() for DNS permissions so old ACLs without deleteZone key do not cause KeyError - baseTemplate: add deleteZone/addDeleteRecords CSS classes to DNS menu links for correct permission-based hiding - system-status.js: fix swapped selectors (deleteZone hides .deleteZone, addDeleteRecords hides .addDeleteRecords instead of .deleteDatabase) --- .../static/baseTemplate/custom-js/system-status.js | 4 ++-- baseTemplate/templates/baseTemplate/index.html | 8 ++++---- plogical/acl.py | 10 +++++----- public/static/baseTemplate/custom-js/system-status.js | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/baseTemplate/static/baseTemplate/custom-js/system-status.js b/baseTemplate/static/baseTemplate/custom-js/system-status.js index eb72873e0..4da778e02 100644 --- a/baseTemplate/static/baseTemplate/custom-js/system-status.js +++ b/baseTemplate/static/baseTemplate/custom-js/system-status.js @@ -282,11 +282,11 @@ app.controller('adminController', function ($scope, $http, $timeout) { } if (!Boolean(response.data.deleteZone)) { - $('.addDeleteRecords').hide(); + $('.deleteZone').hide(); } if (!Boolean(response.data.addDeleteRecords)) { - $('.deleteDatabase').hide(); + $('.addDeleteRecords').hide(); } // Email Management diff --git a/baseTemplate/templates/baseTemplate/index.html b/baseTemplate/templates/baseTemplate/index.html index 72909a0e2..940fc8fa8 100644 --- a/baseTemplate/templates/baseTemplate/index.html +++ b/baseTemplate/templates/baseTemplate/index.html @@ -1696,22 +1696,22 @@ {% endif %} {% if admin or deleteZone %} - + Delete Zone {% endif %} {% if admin or addDeleteRecords %} - + Add/Delete Records {% endif %} {% if admin or addDeleteRecords %} - + CloudFlare {% endif %} {% if admin or addDeleteRecords %} - + Reset DNS Configurations {% endif %} diff --git a/plogical/acl.py b/plogical/acl.py index cbebf217e..bc06d31b2 100644 --- a/plogical/acl.py +++ b/plogical/acl.py @@ -247,10 +247,10 @@ class ACLManager: ## DNS Management - finalResponse['createNameServer'] = config['createNameServer'] - finalResponse['createDNSZone'] = config['createDNSZone'] - finalResponse['deleteZone'] = config['deleteZone'] - finalResponse['addDeleteRecords'] = config['addDeleteRecords'] + finalResponse['createNameServer'] = config.get('createNameServer', 0) + finalResponse['createDNSZone'] = config.get('createDNSZone', 0) + finalResponse['deleteZone'] = config.get('deleteZone', 0) + finalResponse['addDeleteRecords'] = config.get('addDeleteRecords', 0) ## Email Management @@ -1325,7 +1325,7 @@ echo $oConfig->Save() ? 'Done' : 'Error'; command = "chown -R root:root /usr/local/lscp" ProcessUtilities.executioner(command, 'root', True) - command = "chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop" + command = "chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/snappymail" ProcessUtilities.executioner(command, 'root', True) command = "chmod 700 /usr/local/CyberCP/cli/cyberPanel.py" diff --git a/public/static/baseTemplate/custom-js/system-status.js b/public/static/baseTemplate/custom-js/system-status.js index 83680b1d5..e1f884373 100644 --- a/public/static/baseTemplate/custom-js/system-status.js +++ b/public/static/baseTemplate/custom-js/system-status.js @@ -247,11 +247,11 @@ app.controller('adminController', function ($scope, $http, $timeout) { } if (!Boolean(response.data.deleteZone)) { - $('.addDeleteRecords').hide(); + $('.deleteZone').hide(); } if (!Boolean(response.data.addDeleteRecords)) { - $('.deleteDatabase').hide(); + $('.addDeleteRecords').hide(); } // Email Management