Release of v5.0.1-alpha2

Fix permission issue for admin views.
This commit is contained in:
2024-05-16 16:07:17 +02:00
parent 54d94753b4
commit aba1267f8e
12 changed files with 89 additions and 22 deletions

View File

@ -40,6 +40,14 @@ abstract class ActiveRegistry implements Activeregistryinterface
**/
protected bool $addAsArray = false;
/**
* Base switch to keep array values unique
*
* @var boolean
* @since 3.2.2
**/
protected bool $uniqueArray = false;
/**
* Check if the registry has any content.
*
@ -157,7 +165,16 @@ abstract class ActiveRegistry implements Activeregistryinterface
// Convert to array if it's not already an array
$array = [$array];
}
$array[] = $value;
if ($this->uniqueArray && in_array($value, $array))
{
// we do nothing
return;
}
else
{
$array[] = $value;
}
}
else
{

View File

@ -23,5 +23,20 @@ use VDM\Joomla\Abstraction\Registry;
*/
final class DatabaseKeys extends Registry implements Registryinterface
{
/**
* Base switch to add values as string or array
*
* @var boolean
* @since 3.2.0
**/
protected bool $addAsArray = true;
/**
* Base switch to keep array values unique
*
* @var boolean
* @since 3.2.2
**/
protected bool $uniqueArray = true;
}

View File

@ -460,7 +460,7 @@ final class AccessSections
}
}
$this->permission ->set(
$this->permission->set(
$custom_admin_view, $customAdminCode, $customAdminCode,
$menuControllers, 'customAdmin'
);
@ -661,7 +661,8 @@ final class AccessSections
}
}
}
$this->permission ->set(
$this->permission->set(
$view, $nameView, $nameViews, $menuControllers
);
}

View File

@ -39,7 +39,18 @@ class Permissions
if (ArrayHelper::check($item->addpermissions))
{
$item->permissions = array_values($item->addpermissions);
if (isset($item->addpermissions["action"]) && is_array($item->addpermissions["action"])
&& isset($item->addpermissions["implementation"]) && is_array($item->addpermissions["implementation"]))
{
foreach ($item->addpermissions["action"] as $k => $action)
{
$item->permissions[] = ['action' => $action, 'implementation' => $item->addpermissions["implementation"][$k]];
}
}
else
{
$item->permissions = array_values($item->addpermissions);
}
}
unset($item->addpermissions);

View File

@ -34,7 +34,7 @@ class Mapping
protected $buildcompsql;
public $id;
public $name_code;
public array $addadmin_views;
public array $addadmin_views = [];
public array $addSql = [];
public array $source = [];
public array $sql = [];