/** * 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(); }
/** * 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); } }