Example #1
0
 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));
 }
Example #2
0
 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));
 }
Example #3
0
 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);
 }