public function executeAcceso(sfWebRequest $request) { $id = $request->getParameter('id'); $defaults = array(); $Menu = MenuQuery::create()->usePerfilMenuQuery()->filterByPerfilId($id)->endUse()->find(); foreach ($Menu as $fila) { $defaults['Menu'][] = $fila->getId(); } $this->form = new AccesoForm($defaults); if ($request->isMethod('POST')) { $this->form->bind($request->getParameter('acceso')); if ($this->form->isValid()) { $valores = $this->form->getValues(); PerfilMenuQuery::create()->findByPerfilId($id)->delete(); foreach ($valores['Menu'] as $fila) { $PerfilMenu = new PerfilMenu(); $PerfilMenu->setPerfilId($id); $PerfilMenu->setMenuId($fila); $PerfilMenu->save(); } $idUsuario = $this->getUser()->getAttribute('usuario', null, 'seguridad'); $html = Usuario::generaArbol($idUsuario); $this->getUser()->setAttribute('menu', $html, 'seguridad'); $this->getUser()->setFlash('exito', 'Asignacion de Menús realizado correcamente.'); $this->redirect('perfil/index'); } } $this->id = $id; }