Example #1
0
 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));
 }