Fixed: KPI access is now under employee permission in back-office

Co-authored-by: Name <sumit201@webkul.in>
This commit is contained in:
shazar rahman
2026-06-12 17:50:59 +05:30
parent a27e55c049
commit 653fdf3f7f
203 changed files with 9719 additions and 1593 deletions

View File

@@ -624,21 +624,57 @@ class AdminModulesControllerCore extends AdminController
public function postProcessEnable()
{
if ($this->tabAccess['edit'] === 1) {
$module = Module::getInstanceByName(Tools::getValue('module_name'));
if (Validate::isLoadedObject($module)) {
$moduleNames = array_unique(array_filter(
explode('|', strip_tags((string) Tools::getValue('module_name')))
));
$enable = Tools::getValue('enable');
if (empty($moduleNames)) {
$this->errors[] = Tools::displayError('You must select at least one module.');
return;
}
$modules = array();
foreach ($moduleNames as $moduleName) {
if (!Validate::isModuleName($moduleName)) {
$this->errors[] = Tools::displayError('Invalid module name ') . ': ' . $moduleName;
continue;
}
if (!Module::isInstalled($moduleName)) {
$this->errors[] = Tools::displayError('This module is not installed ') . ': ' . $moduleName;
continue;
}
$module = Module::getInstanceByName($moduleName);
if (!Validate::isLoadedObject($module)) {
$this->errors[] = Tools::displayError('Cannot load the module\'s object ') . ': ' . $moduleName;
continue;
}
if (!$module->getPermission('configure')) {
$this->errors[] = Tools::displayError('You do not have the permission to use this module.');
} else {
if (Tools::getValue('enable')) {
$this->errors[] = Tools::displayError('You do not have the permission to use this module ') . ': ' . $module->displayName;
continue;
}
$modules[] = $module;
}
if (empty($this->errors)) {
foreach ($modules as $module) {
if ($enable) {
$module->enable();
} else {
$module->disable();
}
Tools::redirectAdmin($this->getCurrentUrl('enable'));
}
} else {
$this->errors[] = Tools::displayError('Cannot load the module\'s object.');
Tools::redirectAdmin($this->getCurrentUrl(array('enable','conf')).'&conf='.($enable ? 33 : 34));
}
} else {
$this->errors[] = Tools::displayError('You do not have permission to add this.');
}
@@ -1449,8 +1485,8 @@ class AdminModulesControllerCore extends AdminController
$modules_preferences[$v['module']] = $v;
}
// Retrieve Modules List
$modules = Module::getInstalledModulesOnDisk(true, $this->logged_on_addons, $this->id_employee);
// Retrieve Modules List (installed + disabled + uninstalled)
$modules = Module::getModulesOnDisk(true, $this->logged_on_addons, $this->id_employee);
$this->initModulesList($modules);
$this->nb_modules_total = count($modules);
$module_errors = array();