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); }
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); } }