From 522d1369ec8085c3816736490ca3d74218bb41be Mon Sep 17 00:00:00 2001 From: tomvahl Date: Wed, 18 Mar 2020 15:09:14 +0100 Subject: [PATCH] fix search remove your Group from search Co-Authored-By: andibuls --- .../gruppen2/controller/Gruppen2Controller.java | 3 ++- .../java/mops/gruppen2/service/GroupService.java | 15 +++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index a6bdcca..842870d 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -99,9 +99,10 @@ public class Gruppen2Controller { @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator"}) @GetMapping("/findGroup") public String findGroup(KeycloakAuthenticationToken token, Model model, @RequestParam(value = "suchbegriff", required = false) String suchbegriff) throws EventException { + Account account = keyCloakService.createAccountFromPrincipal(token); List groupse = new ArrayList<>(); if (suchbegriff != null) { - groupse = groupService.findGroupWith(suchbegriff); + groupse = groupService.findGroupWith(suchbegriff,account); } model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); model.addAttribute("gruppen", groupse); diff --git a/src/main/java/mops/gruppen2/service/GroupService.java b/src/main/java/mops/gruppen2/service/GroupService.java index e6adcb3..48bbaab 100644 --- a/src/main/java/mops/gruppen2/service/GroupService.java +++ b/src/main/java/mops/gruppen2/service/GroupService.java @@ -6,6 +6,7 @@ import mops.gruppen2.domain.Group; import mops.gruppen2.domain.Visibility; import mops.gruppen2.domain.event.Event; import mops.gruppen2.repository.EventRepository; +import mops.gruppen2.security.Account; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -77,9 +78,15 @@ public class GroupService { * @return * @throws EventException */ - - public List getAllGroupWithVisibilityPublic() throws EventException { + // Namensänderung fixen und die Forschleife auslagern + public List getAllGroupWithVisibilityPublic(String user_id) throws EventException { List group_ids = eventRepository.findGroup_idsWhereVisibility(Boolean.TRUE); + List group_ids_user = eventRepository.findGroup_idsWhereUser_id(user_id); + for (Long group_id: group_ids_user) { + if(group_ids.contains(group_id)){ + group_ids.remove(group_id); + } + } List eventDTOS = eventRepository.findAllEventsOfGroups(group_ids); List events = eventService.translateEventDTOs(eventDTOS); List groups = projectEventList(events); @@ -94,9 +101,9 @@ public class GroupService { * @return * @throws EventException */ - public List findGroupWith(String search) throws EventException { + public List findGroupWith(String search, Account account) throws EventException { List groups = new ArrayList<>(); - for (Group group: getAllGroupWithVisibilityPublic()) { + for (Group group: getAllGroupWithVisibilityPublic(account.getName())) { if (group.getTitle().contains(search)|| group.getDescription().contains(search)){ groups.add(group); }