Beispiel #1
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();
 }
Beispiel #2
0
 /**
  * Método que gera o painel de acompanhamento do aluno
  * @param int $pkAluno O código do usuário referente ao aluno na
  * tabela de usuários
  */
 public function painel_de_acompanhamento($pkAluno = 0)
 {
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         //Tratando a requisição POST
         $this->editarFoto($pkAluno);
     }
     if (!filter_input(INPUT_GET, "menu", FILTER_VALIDATE_BOOLEAN)) {
         //Definindo se deve ou não exibir o menu principal
         $this->setShadowBox(TRUE);
     }
     //Inicializando os objetos básicos
     $usrAux = new Usuarios();
     $sqlUnidade = new SqlUnidade();
     $sqlSerie = new SqlSerie();
     $sqlTurmas = new SqlTurma();
     $sqlResumo = new SqlResumoALuno();
     $sqlAcomp = new SqlAcompanhamento();
     $sqlAgenda = new SqlAgendaSemanalAluno();
     $sqlRecuperacao = new SqlRecuperacao();
     $centralNotifi = new Kernel_Models_Notificacoes();
     //Refazer como lib
     $sqlPlantao = new SqlPlantaoPedagogico();
     try {
         $aluno = $usrAux->getAluno((int) $pkAluno);
         $resumo = $sqlResumo->get($aluno->getId());
         $alunoInfo = $sqlPlantao->get_aluno_info($aluno->getId());
         //
         $videos = array();
         $videos = array_merge($videos, $sqlAgenda->listarTodas($aluno)->fetchAll());
         $videos = array_merge($videos, $sqlAcomp->videosAcompanahemto($aluno)->fetchAll());
         //Definindo os parametros para as notificações
         $ids = array("aluno_conteudo_diario", "aluno_regs_afa", "aluno_aten_afa", "aluno_acao_afa", "aluno_novas_notas", "aluno_mensagens");
         $parametros = array("idAluno" => (string) $aluno->getId());
         $centralNotifi->getUltimos($ids, $parametros);
         $recParalela = $sqlRecuperacao->get_modulos_aluno($aluno->getIdEspecifico());
         //Definindo os plugins usados na página e o template
         $this->definirTema("responsive");
         if ($this->tipoLogado == Perfil::ALUNO || $this->tipoLogado == Perfil::RESPONSAVEL) {
             //As notificações só aparecem para o aluno ou responsável
             $this->loadPlugin("notif.center");
         }
         $this->bowerLoad("jquery-form");
         $this->loadPlugin("shadowbox");
         $this->loadPlugin("file_upload");
         //Passando os dados para a view e exibindo a página
         $this->setData("aluno", $aluno);
         $this->setData("resumo", $resumo);
         $this->setData("unidades", $sqlUnidade->deAluno($aluno)->fetchAll());
         $this->setData("serie", $sqlSerie->deAluno($aluno)->fetch());
         $this->setData("turma", $sqlTurmas->deALuno($aluno)->fetch());
         $this->setData("estaRecparalela", (bool) count($recParalela));
         $this->setData("turmaOlimAssoc", $sqlAcomp->pkAlunoTurmaOlimpica($aluno));
         $this->setData("turmaAvancada", $sqlAcomp->pkAlunoTurmaAvancada($aluno));
         $this->setData("centralNotifi", $centralNotifi);
         $this->setData("parametros", $parametros);
         $this->setData("mensagens", $sqlAcomp->listarMensagens($aluno));
         $this->setData("videos", array());
         $this->setData("arquivos", new Arquivos());
         $this->setData("videos", $videos);
         $this->setData("alunoInfo", $alunoInfo);
         //Imprimindo a página
         $this->printView();
     } catch (Exception $exc) {
         $this->close($exc);
     }
 }