From 22bfcf3a0544a13ace88ef83b69afdd5db5378c3 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Thu, 19 Mar 2020 14:14:54 +0100 Subject: [PATCH 1/2] fix-search after leaving group --- .../controller/Gruppen2Controller.java | 2 ++ src/main/java/mops/gruppen2/domain/User.java | 10 +++++--- .../mops/gruppen2/service/GroupService.java | 25 +++++++++++++------ src/main/resources/templates/editMembers.html | 4 +-- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index fa3354d..f220173 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -226,7 +226,9 @@ public class Gruppen2Controller { @PostMapping("/details/members/changeRole") public String changeRole(KeycloakAuthenticationToken token, @RequestParam("group_id") Long groupId, @RequestParam("user_id") String userId) throws EventException { + Account account = keyCloakService.createAccountFromPrincipal(token); controllerService.updateRole(userId, groupId); + if(userId.equals(account.getName())) return "redirect:/gruppen2/details/" + groupId; return "redirect:/gruppen2/details/members/" + groupId; } diff --git a/src/main/java/mops/gruppen2/domain/User.java b/src/main/java/mops/gruppen2/domain/User.java index 08ff119..7b961c4 100644 --- a/src/main/java/mops/gruppen2/domain/User.java +++ b/src/main/java/mops/gruppen2/domain/User.java @@ -3,14 +3,16 @@ package mops.gruppen2.domain; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; +import lombok.NoArgsConstructor; @Getter @AllArgsConstructor +@NoArgsConstructor @EqualsAndHashCode(exclude = {"givenname", "familyname", "email"}) public class User { - private final String id; - private final String givenname; - private final String familyname; - private final String email; + private String id; + private String givenname; + private String familyname; + private String email; } diff --git a/src/main/java/mops/gruppen2/service/GroupService.java b/src/main/java/mops/gruppen2/service/GroupService.java index 3b3ff54..f7b5d62 100644 --- a/src/main/java/mops/gruppen2/service/GroupService.java +++ b/src/main/java/mops/gruppen2/service/GroupService.java @@ -1,6 +1,7 @@ package mops.gruppen2.service; import mops.gruppen2.domain.Group; +import mops.gruppen2.domain.User; import mops.gruppen2.domain.dto.EventDTO; import mops.gruppen2.domain.event.Event; import mops.gruppen2.domain.exception.EventException; @@ -66,11 +67,11 @@ public class GroupService { return groups.get(groupId); } - private List removeUserGroups(List groupIds, List userGroups) { - for (Long groupId : userGroups) { - groupIds.remove(groupId); + private List removeUserGroups(List visibleGroups, List userGroups) { + for (Group group : userGroups) { + visibleGroups.remove(group); } - return groupIds; + return visibleGroups; } /** @@ -81,10 +82,18 @@ public class GroupService { * @throws EventException Projektionsfehler */ public List getAllGroupWithVisibilityPublic(String userId) throws EventException { - List groupIds = removeUserGroups(eventRepository.findGroup_idsWhereVisibility(Boolean.TRUE), eventRepository.findGroup_idsWhereUser_id(userId)); - List eventDTOS = eventRepository.findAllEventsOfGroups(groupIds); - List events = eventService.translateEventDTOs(eventDTOS); - return projectEventList(events); + User user = new User(userId,null, null, null); + List eventsVisible = eventService.translateEventDTOs(eventRepository.findAllEventsOfGroups(eventRepository.findGroup_idsWhereVisibility(Boolean.TRUE))); + List visibleGroups = projectEventList(eventsVisible); + List eventsUser = getGroupEvents(eventRepository.findGroup_idsWhereUser_id(userId)); + List groups = projectEventList(eventsUser); + List newGroups = new ArrayList<>(); + for (Group group : groups) { + if (group.getMembers().contains(user)) { + newGroups.add(group); + } + } + return removeUserGroups(visibleGroups, newGroups); } diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index edca787..9b2b60e 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -84,7 +84,7 @@ type="hidden"> - @@ -93,7 +93,7 @@ type="hidden"> - From b6c5fcda656bbc4f568c17d39bd68c0d88d706b2 Mon Sep 17 00:00:00 2001 From: kasch309 Date: Thu, 19 Mar 2020 14:22:39 +0100 Subject: [PATCH 2/2] fix styling, rename error page --- .../controller/Gruppen2Controller.java | 4 +-- src/main/resources/templates/create.html | 2 +- .../resources/templates/createLecture.html | 2 +- .../resources/templates/detailsMember.html | 6 ++-- .../resources/templates/detailsNoMember.html | 2 +- src/main/resources/templates/editMembers.html | 34 +++++++++++-------- .../{errorRenameLater.html => error.html} | 2 +- src/main/resources/templates/index.html | 2 +- src/main/resources/templates/search.html | 2 +- 9 files changed, 29 insertions(+), 27 deletions(-) rename src/main/resources/templates/{errorRenameLater.html => error.html} (83%) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index 0b200d6..d1e7d5e 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -157,7 +157,7 @@ public class Gruppen2Controller { Account account = keyCloakService.createAccountFromPrincipal (token); User user = new User(account.getName(),account.getGivenname(),account.getFamilyname(),account.getEmail()); Group group = userService.getGroupById(id); - if(group.getMembers().contains(user)) return "errorRenameLater"; //hier soll eigentlich auf die bereits beigetretene Gruppe weitergeleitet werden + if(group.getMembers().contains(user)) return "error"; //hier soll eigentlich auf die bereits beigetretene Gruppe weitergeleitet werden controllerService.addUser(account,id); return "redirect:/gruppen2/"; } @@ -229,6 +229,6 @@ public class Gruppen2Controller { @GetMapping("*") public String defaultLink() { - return "errorRenameLater"; + return "error"; } } diff --git a/src/main/resources/templates/create.html b/src/main/resources/templates/create.html index c43add0..ba9b175 100644 --- a/src/main/resources/templates/create.html +++ b/src/main/resources/templates/create.html @@ -34,7 +34,7 @@

Gruppenerstellung

-
+
diff --git a/src/main/resources/templates/createLecture.html b/src/main/resources/templates/createLecture.html index 4325d66..aa77402 100644 --- a/src/main/resources/templates/createLecture.html +++ b/src/main/resources/templates/createLecture.html @@ -37,7 +37,7 @@

Veranstaltung erstellen

-
+
diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 1298e46..fdeccd5 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -30,7 +30,7 @@
-
+

Private Gruppe @@ -56,9 +56,7 @@

Mitglieder

- +

diff --git a/src/main/resources/templates/detailsNoMember.html b/src/main/resources/templates/detailsNoMember.html index 0b3a032..d4a51e2 100644 --- a/src/main/resources/templates/detailsNoMember.html +++ b/src/main/resources/templates/detailsNoMember.html @@ -31,7 +31,7 @@
-
+

Private Gruppe diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index 5c67b93..d621618 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -35,7 +35,7 @@
-
+
@@ -47,7 +47,7 @@
- +
@@ -57,7 +57,7 @@ Mitglied Rolle - Optionen + Optionen @@ -69,23 +69,27 @@ Admin -
- - - -
-
- - - -
+ - +
+
diff --git a/src/main/resources/templates/errorRenameLater.html b/src/main/resources/templates/error.html similarity index 83% rename from src/main/resources/templates/errorRenameLater.html rename to src/main/resources/templates/error.html index 1344e10..80038e7 100644 --- a/src/main/resources/templates/errorRenameLater.html +++ b/src/main/resources/templates/error.html @@ -10,7 +10,7 @@
-
+

Da ist etwas schiefgelaufen!

Die Seite, nach der du suchst, scheint nicht zu existieren.


diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index da57d1c..39fda21 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -42,7 +42,7 @@


-
+

diff --git a/src/main/resources/templates/search.html b/src/main/resources/templates/search.html index 3a8918f..6bcec81 100644 --- a/src/main/resources/templates/search.html +++ b/src/main/resources/templates/search.html @@ -33,7 +33,7 @@

Gruppensuche

-
+