/** * Agrega/Elimina un permiso en la base de datos de facultades * * @param int $operation * @param int $idAction * @param int $idAccessRole */ public function setPermission($operation, $idAction, $idAccessRole) { if ($operation) { $this->accessRoleCatalog->linkToSecurityAction($idAccessRole, $idAction); } else { $this->accessRoleCatalog->unlinkFromSecurityAction($idAccessRole, $idAction); } }
/** * Obtiene la relacion entre access role y security actions * @return array */ protected function grantPermissions() { $allPermissions = $this->accessRoleCatalog->getAllPermissions(); $actions = $this->getSecurityActionsFromDatabase(); foreach ($allPermissions as $idAction => $accessRoles) { foreach (array_keys($accessRoles) as $idAccessRole) { $this->acl->allow($idAccessRole, $actions[$idAction]); } } }