public function addAction() { $form = new FuncionarioForm(); $form->get('submit')->setAttribute('label', 'Add'); $request = $this->getRequest(); if ($request->isPost()) { $funcionario = new Funcionario(); $form->setInputFilter($funcionario->getInputFilter()); $form->setData($request->getPost()); // var_dump($form->isValid());exit; if ($form->isValid()) { $funcionario->populate($form->getData()); //SET DATA NASC $data = explode("/", $funcionario->getDataNasc()); $data = $data['0'] . "-" . $data['1'] . "-" . $data['2']; $funcionario->setDatanasc(new \DateTime($data)); $data = explode("/", $funcionario->getDataAdmissao()); $data = $data['0'] . "-" . $data['1'] . "-" . $data['2']; $funcionario->setDataAdmissao(new \DateTime($data)); //END SET DATA NASC //SET BOLSISTA $this->getEntityManager()->persist($funcionario); $this->getEntityManager()->flush(); // Redirect to list of funcionarios return $this->redirect()->toRoute('funcionario'); } } return array('form' => $form); }
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 FuncionarioForm(); // instancia model funcionario com regras de filtros e validações $modelFuncionario = new Funcionario(); // passa para o objeto formulário as regras de viltros e validações // contidas na entity funcionario $form->setInputFilter($modelFuncionario->getInputFilter()); // passa para o objeto formulário os funcionarios 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 funcionarios à tabela no banco // 1 - popular model com valores do formulário $modelFuncionario->exchangeArray($form->getData()); // 2 - atualizar funcionarios do model para banco de funcionarios $this->getFuncionarioTable()->update($modelFuncionario); // adicionar mensagem de sucesso $this->flashMessenger()->addSuccessMessage("Funcionario editado com sucesso"); $nome_cache_funcionario_id = "nome_cache_funcionario_{$modelFuncionario->id_funcionario}"; if ($this->cache()->hasItem($nome_cache_funcionario_id)) { $this->cache()->removeItem($nome_cache_funcionario_id); } // redirecionar para action detalhes return $this->redirect()->toRoute('funcionarios', ["action" => "main", "id" => $modelFuncionario->id_funcionario]); } 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('formFuncionarios', $form)->setTemplate('funcionario/funcionarios/editar'); } } }