Esempio n. 1
0
 protected function inputOptions($options)
 {
     $resources = $options['resources'];
     $instituicaoId = $this->getInstituicaoId($options['instituicaoId']);
     $escolaId = $this->getEscolaId($options['escolaId']);
     $serieId = $this->getSerieId($options['serieId']);
     $ano = $this->viewInstance->ano;
     $userId = $this->getCurrentUserId();
     $isProfessor = Portabilis_Business_Professor::isProfessor($instituicaoId, $userId);
     if ($escolaId and $serieId and empty($resources) and $isProfessor) {
         $turmas = Portabilis_Business_Professor::turmasAlocado($escolaId, $serieId, $userId);
         $resources = Portabilis_Array_Utils::setAsIdValue($turmas, 'id', 'nome');
     } elseif ($escolaId && $serieId && empty($resources)) {
         $resources = App_Model_IedFinder::getTurmas($escolaId, $serieId);
     }
     // caso no letivo esteja definido para filtrar turmas por ano,
     // somente exibe as turmas do ano letivo.
     if ($escolaId && $ano && $this->turmasPorAno($escolaId, $ano)) {
         foreach ($resources as $id => $nome) {
             $turma = new clsPmieducarTurma();
             $turma->cod_turma = $id;
             $turma = $turma->detalhe();
             if ($turma['ano'] != $ano) {
                 unset($resources[$id]);
             }
         }
     }
     return $this->insertOption(null, "Selecione uma turma", $resources);
 }
Esempio n. 2
0
 protected function getTurmas()
 {
     if ($this->canGetTurmas()) {
         $userId = $this->getSession()->id_pessoa;
         $instituicaoId = $this->getRequest()->instituicao_id;
         $escolaId = $this->getRequest()->escola_id;
         $serieId = $this->getRequest()->serie_id;
         $ano = $this->getRequest()->ano;
         $isProfessor = Portabilis_Business_Professor::isProfessor($instituicaoId, $userId);
         if ($isProfessor) {
             $turmas = Portabilis_Business_Professor::turmasAlocado($escolaId, $serieId, $userId);
         } else {
             $sql = "select cod_turma as id, nm_turma || ' - ' || COALESCE(ano::varchar,'SEM ANO') as nome from pmieducar.turma where ref_ref_cod_escola = \$1\n                   and (ref_ref_cod_serie = \$2 or ref_ref_cod_serie_mult = \$2) and ativo = 1 and\n                   visivel != 'f' order by nm_turma asc";
             $turmas = $this->fetchPreparedQuery($sql, array($escolaId, $serieId));
         }
         // caso no ano letivo esteja definido para filtrar turmas por ano,
         // somente retorna as turmas do ano letivo.
         if ($ano && $this->turmasPorAno($escolaId, $ano)) {
             foreach ($turmas as $index => $t) {
                 $turma = new clsPmieducarTurma();
                 $turma->cod_turma = $t['id'];
                 $turma = $turma->detalhe();
                 if ($turma['ano'] != $ano) {
                     unset($turmas[$index]);
                 }
             }
         }
         $options = array();
         foreach ($turmas as $turma) {
             $options['__' . $turma['id']] = $this->toUtf8($turma['nome']);
         }
         return array('options' => $options);
     }
 }