public function atualizarAction() { // obtém a requisição $request = $this->getRequest(); // verifica se a requisição é do tipo post if ($request->isPost()) { // instancia formulário $form = new UsuarioForm(); // instancia model usuario com regras de filtros e validações $modelUsuario = new Usuario(); // passa para o objeto formulário as regras de viltros e validações // contidas na entity usuario $form->setInputFilter($modelUsuario->getInputFilter()); // passa para o objeto formulário os usuario vindos da submissão $form->setData($request->getPost()); // verifica se o formulário segue a validação proposta if ($form->isValid()) { // aqui vai a lógica para atualizar os usuarios à tabela no banco // 1 - popular model com valores do formulário $modelUsuario->exchangeArray($form->getData()); // 2 - atualizar usuarios do model para banco de usuarios $this->getUsuarioTable()->update($modelUsuario); // adicionar mensagem de sucesso $this->flashMessenger()->addSuccessMessage("Usuario editado com sucesso"); $nome_cache_usuario_id = "nome_cache_usuario_{$modelUsuario->id_usuario}"; if ($this->cache()->hasItem($nome_cache_usuario_id)) { $this->cache()->removeItem($nome_cache_usuario_id); } // redirecionar para action detalhes return $this->redirect()->toRoute('usuarios', ["action" => "main", "id" => $modelUsuario->id_usuario]); } else { // em caso da validação não seguir o que foi definido // renderiza para action editar com o objeto form populado, // com isso os erros serão tratados pelo helpers view return (new ViewModel())->setVariable('formUsuarios', $form)->setTemplate('usuario/usuarios/editar'); } } }
public function editarusuarioAction() { $auth = new \Zend\Authentication\AuthenticationService(); if (!$auth->hasIdentity()) { return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/usuario/index/login'); } $comidas = $this->roles()->toArray(); $com = array(); foreach ($comidas as $y) { $com[$y['in_id']] = $y['va_nombre_rol']; } $id = $this->params()->fromQuery('id'); if (!$id) { return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/usuario/index/agregarusuario'); } try { $usuario = $this->getUsuarioTable()->getUsuario($id); } catch (\Exception $ex) { return $this->redirect()->toUrl($this->getRequest()->getBaseUrl() . '/usuario'); } $form = new UsuarioForm(); $form->get('va_contrasenia2')->setValue($usuario->va_contrasenia); $form->get('Ta_rol_in_id')->setValueOptions($com); $form->bind($usuario); $form->get('submit')->setAttribute('value', 'MODIFICAR'); $request = $this->getRequest(); if ($request->isPost()) { $datos = $this->request->getPost(); //var_dump($datos);exit; $pass1 = $datos['va_contrasenia']; $pass2 = $datos['va_contrasenia2']; $form->setInputFilter($usuario->getInputFilter()); $form->setData($request->getPost()); if (!$form->isValid()) { // echo 'ddd';exit;// if ($pass1 == $pass2) { $this->getUsuarioTable()->guardarUsuario($datos); $this->redirect()->toUrl('/usuario'); } } else { foreach ($form->getInputFilter()->getInvalidInput() as $error) { print_r($error->getMessages()); } } } return array('in_id' => $id, 'form' => $form, 'pass' => $usuario->va_contrasenia); }