public function nuevoAction() { $form = new \Empleados\Form\RolForm(); //Modulos disponibles $modulosCollection = \ModuloQuery::create()->find(); $modulos = array(); foreach ($modulosCollection as $modulo) { $modulos[$modulo->getIdmodulo()] = $modulo->getModuloNombre(); } $request = $this->getRequest(); if ($request->isPost()) { //Si hicieron POST $post_data = $request->getPost(); //filtro $filer = new \Empleados\Filter\RolFilter(); $form->setInputFilter($filer->getInputFilter()); //Le ponemos los datos a nuestro formulario $form->setData($request->getPost()); //Validamos nuestro formulario de articulo if ($form->isValid()) { $rol = new \Rol(); //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Articulo foreach ($form->getData() as $key => $value) { $rol->setByName($key, $value, \BasePeer::TYPE_FIELDNAME); } $rol->save(); if (!$rol->isPrimaryKeyNull()) { //Ya se guardo y por lo tanto tiene un pk //Si asignaron modulos if (isset($post_data["modulos"])) { foreach ($post_data["modulos"] as $idmodulo) { $rolmodulo = new \Rolmodulo(); $rolmodulo->setIdrol($rol->getIdrol()); $rolmodulo->setIdmodulo($idmodulo); $rolmodulo->save(); } } //Agregamos un mensaje $this->flashMessenger()->addMessage('Rol guardado exitosamente!'); //Redireccionamos a nuestro list $this->redirect()->toRoute('empleados-roles'); } } } return new ViewModel(array('form' => $form, 'modulos' => $modulos)); }