mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Añadido helper para crear los archivos de costantes de RBAC
This commit is contained in:
@ -23,25 +23,25 @@ class GroupModel extends \App\Models\BaseModel
|
||||
const SORTABLE = [
|
||||
1 => "t1.id",
|
||||
2 => "t1.keyword",
|
||||
3 => "t1.name",
|
||||
3 => "t1.title",
|
||||
4 => "t1.description",
|
||||
5 => "t1.rules",
|
||||
6 => "t1.created_at",
|
||||
7 => "t1.updated_at",
|
||||
];
|
||||
|
||||
protected $allowedFields = ["id", "keyword", "name", "description", "rules"];
|
||||
protected $allowedFields = ["id", "keyword", "title", "description", "rules"];
|
||||
protected $returnType = "App\Entities\Usuarios\GroupEntity";
|
||||
|
||||
public static $labelField = "name";
|
||||
public static $labelField = "title";
|
||||
|
||||
protected $validationRules = [
|
||||
"description" => [
|
||||
"label" => "UserGroups.description",
|
||||
"label" => "RolesPermisos.description",
|
||||
"rules" => "max_length[150]",
|
||||
],
|
||||
"name" => [
|
||||
"label" => "UserGroups.name",
|
||||
"title" => [
|
||||
"label" => "RolesPermisos.title",
|
||||
"rules" => "required|max_length[50]",
|
||||
],
|
||||
|
||||
@ -49,12 +49,12 @@ class GroupModel extends \App\Models\BaseModel
|
||||
|
||||
protected $validationMessages = [
|
||||
"description" => [
|
||||
"max_length" => "UserGroups.validation.description.max_length",
|
||||
"required" => "UserGroups.validation.description.required",
|
||||
"max_length" => "RolesPermisos.validation.description.max_length",
|
||||
"required" => "RolesPermisos.validation.description.required",
|
||||
],
|
||||
"name" => [
|
||||
"max_length" => "UserGroups.validation.name.max_length",
|
||||
"required" => "UserGroups.validation.name.required",
|
||||
"title" => [
|
||||
"max_length" => "RolesPermisos.validation.title.max_length",
|
||||
"required" => "RolesPermisos.validation.title.required",
|
||||
],
|
||||
|
||||
];
|
||||
@ -71,7 +71,7 @@ class GroupModel extends \App\Models\BaseModel
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS id, t1.keyword AS keyword, t1.name AS name, t1.description AS description, t1.rules AS rules,
|
||||
"t1.id AS id, t1.keyword AS keyword, t1.title AS title, t1.description AS description, t1.rules AS rules,
|
||||
t1.token AS token, t1.created_at AS created_at, t1.updated_at AS updated_at"
|
||||
);
|
||||
|
||||
@ -81,7 +81,7 @@ class GroupModel extends \App\Models\BaseModel
|
||||
->groupStart()
|
||||
->like("t1.id", $search)
|
||||
->orLike("t1.keyword", $search)
|
||||
->orLike("t1.name", $search)
|
||||
->orLike("t1.title", $search)
|
||||
->orLike("t1.description", $search)
|
||||
->orLike("t1.rules", $search)
|
||||
->orLike("t1.created_at", $search)
|
||||
@ -100,4 +100,56 @@ class GroupModel extends \App\Models\BaseModel
|
||||
->countAllResults();
|
||||
}
|
||||
|
||||
public function getRolPermissionList($rolId)
|
||||
{
|
||||
$rolRecord = $this->find($rolId);
|
||||
$result = [];
|
||||
|
||||
foreach ($rolRecord->rules as $section => $permissions) {
|
||||
if (!is_null($permissions)) {
|
||||
foreach ($permissions as $permission) {
|
||||
$result[$section . "." . $permission] = "Can " . $permission;
|
||||
}
|
||||
// Add menu visibility permission (automatic management)
|
||||
$result[$section . ".menu"] = "Menu shall be visualize";
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getRolesPermissionMatrix()
|
||||
{
|
||||
$rolesRecord = $this->findAll();
|
||||
$result = [];
|
||||
|
||||
foreach ($rolesRecord as $rolRecord) {
|
||||
$rolePermissions = [];
|
||||
foreach ($rolRecord->rules as $section => $permissions) {
|
||||
foreach ($permissions as $permission) {
|
||||
$rolePermissions[] = $section . "." . $permission;
|
||||
}
|
||||
// Add menu visibility permission (automatic management)
|
||||
$rolePermissions[] = $section . ".menu";
|
||||
}
|
||||
$result[$rolRecord->keyword] = $rolePermissions;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
public function getRolesList()
|
||||
{
|
||||
$rolesRecord = $this->findAll();
|
||||
$result = [];
|
||||
|
||||
foreach ($rolesRecord as $rolRecord) {
|
||||
$result[$rolRecord->keyword] = array(
|
||||
'title' => $rolRecord->title,
|
||||
'description' => $rolRecord->description
|
||||
);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user