/** * Método que retorna todas os grupos de disciplinas de acordo * com os filtros e usuário logado * @param Filtros $filtros Objeto do sistema de filtros */ public function listar(Filtros $filtros) { $sqlGrupo = new SqlGrupo(); switch ($this->usuarioLogado->getPerfil()->getId()) { case Perfil::COORDENADOR: $coordenador = new Coordenador($this->usuarioLogado->getId()); return $sqlGrupo->deCoordenador($coordenador, $filtros); default: return $sqlGrupo->listarTodos($filtros); } }
/** * Método que gera o selecte base para as consultas. * * @return Select Um objeto contendo a consulta genérica basica */ public function select() { $select = new Select($this->tg->getTabela()); $sqlGrupo = new SqlGrupo(); return $select->columns(array("pk_materia", "materia_nome"))->join('public.materia_mae', array("pk_materia_mae" => "fk_materia_mae"))->import($sqlGrupo->select()); }