Exemplo n.º 1
0
 /**
  * Método que permite cadastrar mensagens para os professores
  */
 public function cadastrar_mensagen()
 {
     //Inicializando os objetos básicos
     $agenda = new docentes_models_AgendaSemanal();
     $usrValidar = new Kernel_Models_ValidarUsuarios();
     $unidade = new Kernel_Models_Unidade();
     $serie = new Kernel_Models_Serie();
     $turma = new Kernel_Models_Turma();
     $professor = new Kernel_Models_Professor();
     //Trecho referente a inserção da mensagem no banco
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             //Validando o coordenador
             $coordenador = $usrValidar->getCoordenador();
             //Recebendo os dados para o cadastro
             $titulo = filter_input(INPUT_POST, "assunto", FILTER_SANITIZE_MAGIC_QUOTES);
             $tipo = filter_input(INPUT_POST, "tipo", FILTER_VALIDATE_INT);
             $conteudo = filter_input(INPUT_POST, "mensagem", FILTER_SANITIZE_MAGIC_QUOTES);
             //Definindo os dados do objeto
             $agenda->setTitulo($titulo);
             $destinatariosValidos = $agenda->getDestinatariosValidos();
             $agenda->setTipoDestinatarios($destinatariosValidos[$tipo]);
             //Lendo so destinatários de acordo com o tipo de destinatário selecionado
             $destinatarios = isset($_POST["desti{$tipo}"]) ? $_POST["desti{$tipo}"] : array();
             $tipoDestinatario = $agenda->getTipoDestinatarios();
             $tmp = new $tipoDestinatario();
             foreach ($destinatarios as $destinatario) {
                 $agenda->setDestinatarios($tmp->get((int) $destinatario));
             }
             $agenda->setConteudo($conteudo);
             //fazendo o cadastro da mensagem
             $agenda->cadastrar();
             echo Javascript::alert("Mensagem cadastrada com sucesso");
             die(Javascript::window_location($this->rotas->rotaById(716)));
         } catch (Exception $exc) {
             echo Javascript::alert($exc->getMessage());
             die(Javascript::history_back());
         }
     }
     //Trecho referente a exibição da página
     try {
         //Inicializando o coordenador
         $coordenador = $usrValidar->getCoordenador();
         $unidades = $unidade->listarTodas($this->filtros, $coordenador);
         $series = $serie->listarTodas($this->filtros, $coordenador);
         $turmas = $turma->listarTodas($this->filtros, $coordenador);
         $professores = $professor->listarTodos($this->filtros, $coordenador);
     } catch (Exception $exc) {
         echo Javascript::alert($exc->getMessage());
         die(Javascript::history_back());
     }
     //Passando os professores para o view
     $this->loadPlugin('tiny_mce')->setData('agenda', $agenda)->setData("coordenador", $coordenador)->setData('unidades', $unidades->fetchAll(PDO::FETCH_CLASS))->setData('series', $series->fetchAll(PDO::FETCH_CLASS))->setData('turmas', $turmas->fetchAll(PDO::FETCH_CLASS))->setData("professores", $professores)->printView();
 }
Exemplo n.º 2
0
 /**
  * Exibe a página do relatório semanal do professor
  * @param type $pkUsuario
  * @return type Método que gera a página com o resumo semanal do professor
  */
 public function meu_resumo_semanal($pkUsuario = FALSE)
 {
     $validarUser = new Kernel_Models_ValidarUsuarios();
     $professor = $validarUser->professor($pkUsuario);
     $this->load->helper('andamento');
     $aulas = new ModelBase("public.aula");
     $registros = new Kernel_Models_Fap();
     $contratos = new Kernel_Models_Contratos();
     $agendasProf = new docentes_models_AgendaSemanal();
     $centralNotifi = new Kernel_Models_Notificacoes();
     $equipes = new Kernel_Models_Equipes();
     $unidade = new Kernel_Models_Unidade();
     $serie = new Kernel_Models_Serie();
     //Definindo os dados do professor
     $fapRegistros = $registros->registrosDeProfessor($professor);
     $contratos->setUsuario($professor);
     $resposta = $contratos->getResposta($professor, 1);
     $ultAula = $aulas->select("fk_livro!=0 and fk_usuario=" . $professor->getId(), array(), "inner join usuario_professor on fk_usuario_professor=pk_usuario_professor", array("pk_aula"), array(), 1, 0, FALSE);
     if ($resposta == 2) {
         $this->appendJs('/themes/appjs/assets/js/agendas/professor/meu_resumo_semanal_contrato_prof.min.js');
     }
     //Configurando as notificações
     $ids = array('novidades_docentes_fap', 'novidades_docentes_afa', 'novidades_docentes_acompanhamento', 'novidades_docentes_pesuisas_alunos', 'novidades_docentes_pesquisas_coord', 'novidades_docentes_diario_cl', 'novidades_docentes_mensagens');
     $parametros = array('professorId' => (string) $professor->getId());
     $centralNotifi->getUltimos($ids, $parametros);
     //Repassando os dados para o view
     $this->definirTema("appjs")->loadPlugin('bootstrap')->bowerLoad('metisMenu')->bowerLoad('angularjs')->loadPlugin('conceitos')->loadPlugin('notif.center')->setData('htmlBody', 'ng-app="app"')->setData('professor', $professor)->setData('unidades', $unidade->listarTodas(null, $professor))->setData("series", $serie->listarTodas(null, $professor))->setData('equipes', $equipes->listarTodas(null, $professor))->setData('fap', $fapRegistros)->setData('ultimaAula', $ultAula)->setdata('contrato', $resposta)->setData('temMensagem', $agendasProf->temMensagem($professor))->setData('ids', $ids)->setData('parametros', $parametros)->setData('centralNotifi', $centralNotifi)->setData('iconeNotif', base_url() . 'themes/geral/images/logo.png')->setData('arquivos', new Arquivos())->printView();
 }