public function addAction() { $form = new AlunoForm($this->getEntityManager()); $form->get('submit')->setAttribute('label', 'Add'); $request = $this->getRequest(); if ($request->isPost()) { $aluno = new Aluno(); $form->setInputFilter($aluno->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $aluno->populate($form->getData()); //var_dump($aluno->getMatriculaaluno());exit; $jaTemEsteAluno = $this->getEntityManager()->getRepository('Aluno\\Entity\\Aluno')->findBy(array('matriculaaluno' => $aluno->getMatriculaaluno())); if ($jaTemEsteAluno) { $mensagem = 'Aluno já cadastrado.'; return array('form' => $form, 'mensagem' => $mensagem); } $curso = $this->getEntityManager()->getRepository('Curso\\Entity\\Curso')->findOneBy(array('idcurso' => $aluno->getCursoAluno())); $aluno->setCursoAluno($curso); //SET DATA NASC $data = explode("/", $aluno->getDataNasc()); $data = $data['0'] . "-" . $data['1'] . "-" . $data['2']; $aluno->setDatanasc(new \DateTime($data)); //END SET DATA NASC //SET BOLSISTA if ($aluno->getBolsista() == "true") { $aluno->setBolsista(true); } else { if ($aluno->getBolsista() == "false") { $aluno->setBolsista(false); } } //END SET BOLSISTA $this->getEntityManager()->persist($aluno); $this->getEntityManager()->flush(); // Redirect to list of albums return $this->redirect()->toRoute('aluno'); } } 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 AlunoForm(); // instancia model alunos com regras de filtros e validações $modelAluno = new Aluno(); // passa para o objeto formulário as regras de viltros e validações // contidas na entity alunos $form->setInputFilter($modelAluno->getInputFilter()); // passa para o objeto formulário os alunos 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 alunos à tabela no banco // 1 - popular model com valores do formulário $modelAluno->exchangeArray($form->getData()); // 2 - atualizar alunos do model para banco de alunos $this->getAlunoTable()->update($modelAluno); // adicionar mensagem de sucesso $this->flashMessenger()->addSuccessMessage("Aluno editado com sucesso"); $nome_cache_aluno_id = "nome_cache_aluno_{$modelAluno->id_aluno}"; if ($this->cache()->hasItem($nome_cache_aluno_id)) { $this->cache()->removeItem($nome_cache_aluno_id); } // redirecionar para action detalhes return $this->redirect()->toRoute('alunos', ["action" => "main", "id" => $modelAluno->id_aluno]); } 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('formAlunos', $form)->setTemplate('aluno/alunos/editar'); } } }