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)
This commit is contained in:
master3395
2026-02-16 00:09:42 +01:00
parent c4b9bd210e
commit 0f1ef2f101
4 changed files with 13 additions and 13 deletions

View File

@@ -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

View File

@@ -1696,22 +1696,22 @@
</a>
{% endif %}
{% if admin or deleteZone %}
<a href="{% url 'deleteDNSZone' %}" class="menu-item">
<a href="{% url 'deleteDNSZone' %}" class="menu-item deleteZone">
<span>Delete Zone</span>
</a>
{% endif %}
{% if admin or addDeleteRecords %}
<a href="{% url 'addDeleteDNSRecords' %}" class="menu-item">
<a href="{% url 'addDeleteDNSRecords' %}" class="menu-item addDeleteRecords">
<span>Add/Delete Records</span>
</a>
{% endif %}
{% if admin or addDeleteRecords %}
<a href="{% url 'addDeleteDNSRecordsCloudFlare' %}" class="menu-item">
<a href="{% url 'addDeleteDNSRecordsCloudFlare' %}" class="menu-item addDeleteRecords">
<span>CloudFlare</span>
</a>
{% endif %}
{% if admin or addDeleteRecords %}
<a href="{% url 'ResetDNSConfigurations' %}" class="menu-item">
<a href="{% url 'ResetDNSConfigurations' %}" class="menu-item addDeleteRecords">
<span>Reset DNS Configurations</span>
</a>
{% endif %}

View File

@@ -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"

View File

@@ -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