/** * Devuelve todas los permisos del perfil de usuario * indicado en la posicion 2 del request. * @return array */ public function listopcionesAction() { $this->listado->filter['columnSelected'] = $this->form->getLinkBy(); $funcionalidad = new Funcionalidades(); $arrayFuncioneslidades = $funcionalidad->getArrayFuncionalidades(); switch ($this->request['METHOD']) { case 'GET': $this->listado->filter['value'] = $this->request[2]; $this->values['linkBy']['value'] = $this->request[2]; break; case 'POST': $this->listado->filter['value'] = $this->request['IDPerfil']; $this->values['linkBy']['value'] = $this->request['IDPerfil']; $this->values['IDOpcion'] = $this->request['IDOpcion']; $menu = new Menu($this->values['linkBy']['value']); $subopciones = $menu->getSubopciones($this->request['IDOpcion'], $this->values['linkBy']['value']); unset($menu); //El campo Permisos lo transformo en un array con los //permisos independientes para poder tratar cada uno por separado foreach ($subopciones as $key => $value) { $permisos = explode(",", $subopciones[$key]['Funcionalidades']); foreach ($arrayFuncioneslidades as $permiso) { $subopciones[$key]['Permisos'][$permiso['Id']] = strpos($subopciones[$key]['Funcionalidades'], $permiso['Id']) !== false; } } break; } $template = $this->entity . '/list.html.twig'; $menu = new Menu($this->values['linkBy']['value']); $this->values['listado']['opciones'] = $menu->getOpciones($this->values['linkBy']['value']); $this->values['listado']['subopciones'] = $subopciones; $this->values['opciones'] = $menu->getOpciones(); $this->values['subopciones'] = $menu->getSubopciones($this->request['IDOpcion']); $this->values['funcionalidades'] = $arrayFuncioneslidades; unset($menu); return array('template' => $template, 'values' => $this->values); }