[-] BO : fixed bug #PSCFV-8285 - module tab listing permission
This commit is contained in:
@@ -1514,6 +1514,7 @@ class AdminControllerCore extends Controller
|
|||||||
|
|
||||||
public function renderModulesList()
|
public function renderModulesList()
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($this->getModulesList($this->filter_modules_list))
|
if ($this->getModulesList($this->filter_modules_list))
|
||||||
{
|
{
|
||||||
$helper = new Helper();
|
$helper = new Helper();
|
||||||
@@ -2214,7 +2215,18 @@ class AdminControllerCore extends Controller
|
|||||||
$this->modules_list = array();
|
$this->modules_list = array();
|
||||||
foreach($all_modules as $module)
|
foreach($all_modules as $module)
|
||||||
{
|
{
|
||||||
if (in_array($module->name, $filter_modules_list))
|
$perm = true;
|
||||||
|
if ($module->id)
|
||||||
|
$perm &= Module::getPermissionStatic($module->id, 'configure');
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$id_admin_module = Tab::getIdFromClassName('AdminModules');
|
||||||
|
$access = Profile::getProfileAccess($this->context->employee->id_profile, $id_admin_module);
|
||||||
|
if (!$access['edit'])
|
||||||
|
$perm &= false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (in_array($module->name, $filter_modules_list) && $perm)
|
||||||
{
|
{
|
||||||
$this->fillModuleData($module, 'select');
|
$this->fillModuleData($module, 'select');
|
||||||
$this->modules_list[] = $module;
|
$this->modules_list[] = $module;
|
||||||
|
|||||||
@@ -250,11 +250,25 @@ class AdminModulesControllerCore extends AdminController
|
|||||||
{
|
{
|
||||||
if (in_array($module->name, $tab_modules_list))
|
if (in_array($module->name, $tab_modules_list))
|
||||||
{
|
{
|
||||||
$this->fillModuleData($module, 'select', $back);
|
$perm = true;
|
||||||
if ($module->id)
|
if ($module->id)
|
||||||
$modules_list['installed'][] = $module;
|
$perm &= Module::getPermissionStatic($module->id, 'configure');
|
||||||
else
|
else
|
||||||
$modules_list['not_installed'][] = $module;
|
{
|
||||||
|
$id_admin_module = Tab::getIdFromClassName('AdminModules');
|
||||||
|
$access = Profile::getProfileAccess($this->context->employee->id_profile, $id_admin_module);
|
||||||
|
if (!$access['edit'])
|
||||||
|
$perm &= false;
|
||||||
|
}
|
||||||
|
if ($perm)
|
||||||
|
{
|
||||||
|
$this->fillModuleData($module, 'select', $back);
|
||||||
|
if ($module->id)
|
||||||
|
$modules_list['installed'][] = $module;
|
||||||
|
else
|
||||||
|
$modules_list['not_installed'][] = $module;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user