/**
  * Metodo que lista as áreas de acordo com os filtros e usuário logado
  * @param Filtros $filtros Objeto do sistema de filtros
  * @return ResultSetHydrator Um objeto contendo as áreas encontradas
  */
 public function listar(Filtros $filtros)
 {
     $sqlArea = new SqlAreaDaNatureza();
     switch ($this->usuarioLogado->getPerfil()->getId()) {
         case Perfil::COORDENADOR:
             $coordenador = new Coordenador($this->usuarioLogado->getId());
             return $sqlArea->deCoordenador($coordenador, $filtros);
         default:
             return $sqlArea->listarTodos($filtros);
     }
 }
Example #2
0
 /**
  * Método que gera um select básico para as consultas
  * @return Select Um objeto contendo uma consulta básica
  */
 public function select()
 {
     $select = new Select($this->tg->getTabela());
     $sqlArea = new SqlAreaDaNatureza();
     return $select->columns(array("pk_materia_mae", "materia_mae_nome"))->join("public.area", array("pk_area" => "public.materia_mae.fk_area"))->import($sqlArea->select());
 }