From d8de8c6df5f5c919a2e35d96db394ac7a1b95548 Mon Sep 17 00:00:00 2001 From: Christoph Date: Fri, 17 Apr 2020 15:04:14 +0200 Subject: [PATCH] order my groups by type --- .../gruppen2/infrastructure/GroupCache.java | 19 +++++++ .../controller/GruppenfindungController.java | 5 +- src/main/resources/templates/index.html | 49 ++++++++++++++++--- 3 files changed, 64 insertions(+), 9 deletions(-) diff --git a/src/main/java/mops/gruppen2/infrastructure/GroupCache.java b/src/main/java/mops/gruppen2/infrastructure/GroupCache.java index d3999fd..10afc84 100644 --- a/src/main/java/mops/gruppen2/infrastructure/GroupCache.java +++ b/src/main/java/mops/gruppen2/infrastructure/GroupCache.java @@ -17,6 +17,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; +import java.util.stream.Collectors; @Log4j2 @RequiredArgsConstructor @@ -67,6 +68,24 @@ public class GroupCache { return Collections.unmodifiableList(users.get(userid)); } + public List userLectures(String userid) { + return userGroups(userid).stream() + .filter(Group::isLecture) + .collect(Collectors.toUnmodifiableList()); + } + + public List userPublics(String userid) { + return userGroups(userid).stream() + .filter(Group::isPublic) + .collect(Collectors.toUnmodifiableList()); + } + + public List userPrivates(String userid) { + return userGroups(userid).stream() + .filter(Group::isPrivate) + .collect(Collectors.toUnmodifiableList()); + } + public List publics() { if (!types.containsKey(Type.PUBLIC)) { return Collections.emptyList(); diff --git a/src/main/java/mops/gruppen2/infrastructure/controller/GruppenfindungController.java b/src/main/java/mops/gruppen2/infrastructure/controller/GruppenfindungController.java index 4d09bdb..2e414ba 100644 --- a/src/main/java/mops/gruppen2/infrastructure/controller/GruppenfindungController.java +++ b/src/main/java/mops/gruppen2/infrastructure/controller/GruppenfindungController.java @@ -33,7 +33,10 @@ public class GruppenfindungController { @GetMapping("/gruppen2") public String getIndexPage(KeycloakAuthenticationToken token, Model model) { - model.addAttribute("groups", groupCache.userGroups(token.getName())); + + model.addAttribute("lectures", groupCache.userLectures(token.getName())); + model.addAttribute("publics", groupCache.userPublics(token.getName())); + model.addAttribute("privates", groupCache.userPrivates(token.getName())); return "index"; } diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 5a3ef98..f961036 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -13,19 +13,52 @@

Meine Gruppen

+ -
-
- +
+

Veranstaltungen

+
+
+ - -
-
- + +
+
+ +
+
+

Öffentliche Gruppen

+
+
+ + + +
+
+ +
+
+
+ +
+

Private Gruppen

+
+
+ + + +
+
+ +
+
+