Listar por usuário logado
Tenho um sistema de abertura de chamados e estou tendo dificuldades para listar os chamados de acordo com o usuário logado.
No meu ChamadoController criei um método para listar por usuário logado. Coloquei um System.out.println(chamados) para ver se o array estava sendo retornado de acordo com a pesquisa e, realmente, aparece apenas os ids dos chamados referentes ao usuário logado no sistema, mas na minha jsp aparece todos os chamados cadastrados e não apenas os relacionados ao usário logado.
ChamadoController:
ChamadoRepository:
ChamadoService:
Desde já agradeço a ajuda.
No meu ChamadoController criei um método para listar por usuário logado. Coloquei um System.out.println(chamados) para ver se o array estava sendo retornado de acordo com a pesquisa e, realmente, aparece apenas os ids dos chamados referentes ao usuário logado no sistema, mas na minha jsp aparece todos os chamados cadastrados e não apenas os relacionados ao usário logado.
ChamadoController:
@RequestMapping(value = "/list", method = RequestMethod.GET)
public ModelAndView listaChamados(ArrayList<Chamado> chamados, @AuthenticationPrincipal() UsuarioLogado logado) {
ModelAndView view = new ModelAndView("chamado/list");
ModelMap model = new ModelMap();
chamados = chamadoService.findByUsarioId(logado.getId());
System.out.println("-------------------" + chamados + "------------------------------");
Page<Chamado> page = chamadoService.findByPagination(0, 5);
model.addAttribute("page", page);
model.addAttribute("urlPagination", "/chamado/page");
model.addAttribute("chamados",chamados);
return new ModelAndView("chamado/list", model);
}ChamadoRepository:
public interface ChamadoRepository extends JpaRepository<Chamado, Long> {
Page<Chamado> findAllByOrderByNomeAsc(Pageable pageable);
List<Atividade> findAllByOrderByNomeAsc(Atividade atividade);
List<Nivel> findAllByOrderByNomeAsc(Nivel nivel);
List<Setor> findAllByOrderByNomeAsc(Setor setor);
List<Frente> findAllByOrderByNomeAsc(Frente frente);
Autor findByNome(String nome);
@Query("select c from Chamado c where c.usuario.id = ?1")
ArrayList<Chamado> findByUsuarioId(Long id);
}
ChamadoService:
public ArrayList<Chamado> findByUsarioId(Long id) {
return repository.findByUsuarioId(id);
}
Desde já agradeço a ajuda.
Eduardo
Curtidas 0
Respostas
Eduardo
14/01/2019
Removi o código referente a paginação e funcionou perfeitamente.
Como faria para manter a paginação?
Como faria para manter a paginação?
@RequestMapping(value = "/list", method = RequestMethod.GET)
public ModelAndView listChamados(@AuthenticationPrincipal() UsuarioLogado logado, ModelMap model) {
List<Chamado> chamados = chamadoService.findByUsarioId(logado.getId());
model.addAttribute("chamados", chamados);
return new ModelAndView("chamado/list", model);
}
GOSTEI 0