Beispiel #1
0
 public function editAction()
 {
     $form = new Application_Form_Usuario();
     $form->submit->setLabel('Modificar usuario');
     $form->submit->setAttrib('class', 'btn btn-primary');
     $this->view->form = $form;
     if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
         if ($form->isValid($formData)) {
             $id = $form->getValue('usu_id_usuario');
             $nombre = $form->getValue('usu_nombre');
             $rut = $form->getValue('usu_rut');
             $apellido_1 = $form->getValue('usu_apellido_1');
             $apellido_2 = $form->getValue('usu_apellido_2');
             $fono_1 = $form->getValue('usu_fono_1');
             $fono_2 = $form->getValue('usu_fono_2');
             $direccion = $form->getValue('usu_direccion');
             $ciudad = $form->getValue('usu_ciudad');
             $password = $form->getValue('usu_password');
             $perfil = $form->getValue('per_id_perfil');
             $comision = $form->getValue('usu_porcentaje_comision');
             $usuarios = new Application_Model_DbTable_Usuarios();
             $usuarios->updateUsuario($id, $rut, $nombre, $apellido_1, $apellido_2, $fono_1, $fono_2, $direccion, $ciudad, $password, $comision);
             $uhp = new Application_Model_DbTable_UsuarioHasPerfil();
             $uhp->deleteUhp($id);
             //se eliminan los perfiles asociados y se agregan de nuevo
             foreach ($perfil as $idPerfil) {
                 $uhp->addUhp($idPerfil, $id);
             }
             //FINALIZADO
             $form->submit->setAttrib('class', 'btn disabled');
             echo '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">&times;</button>Cambio realizado.</div>';
         } else {
             $form->populate($formData);
             echo '<div class="alert alert-error"><button type="button" class="close" data-dismiss="alert">&times;</button>Error.</div>';
         }
     } else {
         //Llena el formulario con los datos de la BD
         $id = $this->_getParam('id', 0);
         if ($id > 0) {
             $user = new Application_Model_DbTable_Usuarios();
             $filaUser = $user->getUsuario($id);
             $form->populate($filaUser);
             $perfilesUser = new Application_Model_DbTable_UsuarioHasPerfil();
             $pUser = $perfilesUser->perfilesUsuario($id)->toArray();
             $listaPerfilesUser = array();
             foreach ($pUser as $pU) {
                 $filaPerfil = explode(',', $pU['per_id_perfil']);
                 array_push($listaPerfilesUser, $filaPerfil[0]);
             }
             $form->per_id_perfil->setValue($listaPerfilesUser);
         }
     }
 }