public function porAdeptoAction() { $alId = (int) $this->getParam('al', false); $ano = (int) $this->getParam('ano', date('Y')); $adeptoId = (int) $this->getParam('adepto', false); $adeptoBo = new AdeptoBusiness(); $reunioes = $adeptoBo->presencaPorReuniao($alId, $ano, $adeptoId); $adeptoData = $adeptoBo->get($adeptoId); $this->addViewVar(array('al' => $alId, 'ano' => $ano, 'adepto' => $adeptoId, 'adeptoData' => $adeptoData, 'reunioes' => $reunioes)); }
public function adicionarAction() { $alBo = new AlBusiness(); $als = array('' => 'Selecione!'); $als += $alBo->fetchPairs(); $adeptoBo = new AdeptoBusiness(); $adeptos = $adeptoBo->fetchPairs(); // Inclui id ao nome do adepto para facilitar a visualizacao foreach ($adeptos as $id => $nome) { $adeptos[$id] = $id . " - " . $nome; } $postData = array(); $adeptosSelecionados = array(); $form = new Adicionar(); if ($this->isPost()) { if ($form->isValid()) { $data = $form->getData(); Database::beginTransaction(); try { $dataTratada = implode('-', array_reverse(explode('/', $data['data']))); // Cadastra Reuniao $reuniaoBo = new ReuniaoBusiness(); $idReuniao = $reuniaoBo->insert(array('data' => $dataTratada, 'fk_al' => $data['al'])); // Cadastra adeptos na reuniao $reuniaoAdeptoBo = new ReuniaoAdeptoBusiness(); foreach ($data['adeptos'] as $idAdepto) { $reuniaoAdeptoBo->insert(array('fk_reuniao' => $idReuniao, 'fk_adepto' => $idAdepto)); } Database::commit(); // Add mensagem e redireciona $this->addMsg("Reunião cadastrada com sucesso", MsgType::SUCCESS, true); return $this->redirect("/relatorio/anual?al=" . $data['al'] . "&ano=" . date('Y', strtotime($dataTratada))); } catch (Exception $ex) { Database::rollBack(); $this->addMsg("Erro inesperado, tente novamente", MsgType::DANGER); } } else { $this->addMsg("Verifique os erros no formulário", MsgType::DANGER); } // Retorna post para view $postData = $form->getData(); if ($postData['adeptos']) { // Separa lista de selecionados e não selecionados foreach ($postData['adeptos'] as $key) { $adeptosSelecionados[$key] = $adeptos[$key]; unset($adeptos[$key]); } } } $this->addViewVar(array('als' => $als, 'adeptos' => $adeptos, 'adeptosSelecionados' => $adeptosSelecionados, 'form' => $form, 'postData' => $postData)); }
public function ajaxAddAction() { $result = array('error' => false, 'messages' => array()); $form = new AjaxAdd(); if ($this->isPost()) { if ($form->isValid()) { $data = $form->getData(); // Salva adepto $adeptoBo = new AdeptoBusiness(); $idAdepto = $adeptoBo->insert($data); // Seta resultado $result['data'] = array('id' => $idAdepto, 'nome' => $idAdepto . " - " . $data['nome']); } else { $result['error'] = true; $result['messages'] = $form->getMessages(); } } return $this->ajax($result); }