From a868ea86b4445654743c697e197f26ddf42ab4ed Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 17 Mar 2020 15:31:53 +0100 Subject: [PATCH 01/26] add edit-members to controller Co-Authored-By: xxnitram --- .../gruppen2/controller/Gruppen2Controller.java | 17 ++++++++++++++++- src/main/resources/templates/detailsMember.html | 4 +++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index ddc90f8..bff25aa 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -4,6 +4,7 @@ import mops.gruppen2.config.Gruppen2Config; import mops.gruppen2.domain.Exceptions.EventException; import mops.gruppen2.domain.Group; +import mops.gruppen2.domain.Role; import mops.gruppen2.domain.User; import mops.gruppen2.domain.event.CreateGroupEvent; import mops.gruppen2.security.Account; @@ -83,7 +84,6 @@ public class Gruppen2Controller { return "search"; } - @PostMapping("/createGroup") public String pCreateGroup(KeycloakAuthenticationToken token, @RequestParam(value = "title") String title, @@ -135,4 +135,19 @@ public class Gruppen2Controller { controllerService.deleteUser(account, id); return "redirect:/gruppen2/"; } + + @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) + @GetMapping("/details/members") + public String editMembers(Model model, KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) throws EventException { + Account account = keyCloakService.createAccountFromPrincipal(token); + Group group = userService.getGroupById(id); + if(group.getRoles().get(account.getName()) == Role.ADMIN) { + model.addAttribute("members", group.getMembers()); + model.addAttribute("group", group); + return "editMembers"; + } else { + return "redirect:/details/"; + } + } + } diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 6086619..85c697b 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -49,7 +49,9 @@

Mitglieder

- +
+ +

From 9b6a168fb65479275ee2343c994e9c891ade1b0d Mon Sep 17 00:00:00 2001 From: kasch309 Date: Tue, 17 Mar 2020 15:55:51 +0100 Subject: [PATCH 02/26] Add rough template for editing embers of a group --- src/main/resources/templates/editMembers.html | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/main/resources/templates/editMembers.html diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html new file mode 100644 index 0000000..bfe1d80 --- /dev/null +++ b/src/main/resources/templates/editMembers.html @@ -0,0 +1,51 @@ + + + + + Gruppendetails + + + + + +
+ +
+
+
+
+
+
+ + + + + + + + + + + +
MitgliedOptionen
+ + +
+
+
+
+
+
From ca80b7ca2be9055a7cf4b5de8f6e526e420fb77b Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 17 Mar 2020 16:00:04 +0100 Subject: [PATCH 03/26] add changeRole and refactor Event-Methods in ControllerService Co-Authored-By: xxnitram Co-Authored-By: tomvahl Co-Authored-By: andibuls Co-Authored-By: Lukas Ettel --- .../controller/Gruppen2Controller.java | 16 ++++++-- .../gruppen2/service/ControllerService.java | 39 ++++++++++++------- 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index bff25aa..50be0f2 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -7,6 +7,7 @@ import mops.gruppen2.domain.Group; import mops.gruppen2.domain.Role; import mops.gruppen2.domain.User; import mops.gruppen2.domain.event.CreateGroupEvent; +import mops.gruppen2.domain.event.UpdateRoleEvent; import mops.gruppen2.security.Account; import mops.gruppen2.service.*; import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken; @@ -88,12 +89,12 @@ public class Gruppen2Controller { public String pCreateGroup(KeycloakAuthenticationToken token, @RequestParam(value = "title") String title, @RequestParam(value = "beschreibung") String beschreibung, - @RequestParam(value = "visibility", required = false) Boolean visibility) { + @RequestParam(value = "visibility", required = false) Boolean visibility) throws EventException { Account account = keyCloakService.createAccountFromPrincipal(token); if (visibility == null) { visibility = true; - }else{ + } else { visibility = false; } controllerService.createGroup(account, title, beschreibung, visibility); @@ -132,7 +133,8 @@ public class Gruppen2Controller { @PostMapping("/leaveGroup") public String pLeaveGroup(KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) { Account account = keyCloakService.createAccountFromPrincipal(token); - controllerService.deleteUser(account, id); + User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); + controllerService.deleteUser(user, id); return "redirect:/gruppen2/"; } @@ -150,4 +152,12 @@ public class Gruppen2Controller { } } + @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) + @PostMapping("/changeRole") + public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long id, + @RequestParam (value = "user") User user) throws EventException { + controllerService.updateRole(user, id); + return "redirect:/details/members/"; + } + } diff --git a/src/main/java/mops/gruppen2/service/ControllerService.java b/src/main/java/mops/gruppen2/service/ControllerService.java index 126d519..ff42a16 100644 --- a/src/main/java/mops/gruppen2/service/ControllerService.java +++ b/src/main/java/mops/gruppen2/service/ControllerService.java @@ -1,21 +1,20 @@ package mops.gruppen2.service; -import mops.gruppen2.domain.Group; -import mops.gruppen2.domain.GroupType; -import mops.gruppen2.domain.Role; -import mops.gruppen2.domain.Visibility; +import mops.gruppen2.domain.*; +import mops.gruppen2.domain.Exceptions.EventException; import mops.gruppen2.domain.event.*; import mops.gruppen2.security.Account; import org.springframework.stereotype.Service; -import java.util.*; @Service public class ControllerService { private final EventService eventService; + private final UserService userService; - public ControllerService(EventService eventService) { + public ControllerService(EventService eventService, UserService userService) { this.eventService = eventService; + this.userService = userService; } /** @@ -27,23 +26,24 @@ public class ControllerService { * @param title Gruppentitel * @param description Gruppenbeschreibung */ - public void createGroup(Account account, String title, String description, Boolean visibility) { + public void createGroup(Account account, String title, String description, Boolean visibility) throws EventException { Visibility visibility1; Long group_id = eventService.checkGroup(); - if (visibility){ + if(visibility) { visibility1 = Visibility.PUBLIC; - }else{ + } else { visibility1 = Visibility.PRIVATE; } CreateGroupEvent createGroupEvent = new CreateGroupEvent(group_id, account.getName(), null , GroupType.LECTURE, visibility1); eventService.saveEvent(createGroupEvent); + User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); addUser(account, group_id); updateTitle(account, group_id, title); updateDescription(account, group_id, description); - updateRole(account, group_id); + updateRole(user, group_id); } public void addUser(Account account, Long group_id){ @@ -61,13 +61,24 @@ public class ControllerService { eventService.saveEvent(updateGroupDescriptionEvent); } - public void updateRole(Account account,Long group_id){ - UpdateRoleEvent updateRoleEvent = new UpdateRoleEvent(group_id,account.getName(),Role.ADMIN); + public void updateRole(User user, Long group_id) throws EventException { + UpdateRoleEvent updateRoleEvent; + Group group = userService.getGroupById(group_id); + if(group.getRoles().get(user.getUser_id()) == Role.ADMIN) { + updateRoleEvent = new UpdateRoleEvent(group_id, user.getUser_id(), Role.MEMBER); + } else { + updateRoleEvent = new UpdateRoleEvent(group_id, user.getUser_id(), Role.ADMIN); + } eventService.saveEvent(updateRoleEvent); } - public void deleteUser(Account account, Long group_id){ - DeleteUserEvent deleteUserEvent = new DeleteUserEvent(group_id,account.getName()); + public void deleteUser(User user, Long group_id){ + DeleteUserEvent deleteUserEvent = new DeleteUserEvent(group_id, user.getUser_id()); eventService.saveEvent(deleteUserEvent); } + + public void deleteGroupEvent(User user, Long group_id) { + DeleteGroupEvent deleteGroupEvent = new DeleteGroupEvent(group_id, user.getUser_id()); + eventService.saveEvent(deleteGroupEvent); + } } From d2f71e63908a03973042bccd6f78957ed51b7606 Mon Sep 17 00:00:00 2001 From: kasch309 Date: Tue, 17 Mar 2020 16:11:24 +0100 Subject: [PATCH 04/26] delete table column --- src/main/resources/templates/search.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/resources/templates/search.html b/src/main/resources/templates/search.html index 624e933..04ed8a9 100644 --- a/src/main/resources/templates/search.html +++ b/src/main/resources/templates/search.html @@ -45,7 +45,6 @@ Gruppenname Beschreibung - Öffentlich/Privat Mitgliederanzahl @@ -55,7 +54,6 @@ Gruppenname Beschreibung - Öffentlich Mitgliederanzahl From b648920c42c90507c20c1a3c1059c9d99bb8dfba Mon Sep 17 00:00:00 2001 From: kasch309 Date: Tue, 17 Mar 2020 16:29:55 +0100 Subject: [PATCH 05/26] fix template --- src/main/resources/templates/detailsMember.html | 2 +- src/main/resources/templates/editMembers.html | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 85c697b..c180975 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -50,7 +50,7 @@

Mitglieder

- +

diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index bfe1d80..919e1b9 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -36,8 +36,8 @@ Optionen - - + + From b0186eee66aaef6dee545f82bc37e9581e742102 Mon Sep 17 00:00:00 2001 From: kasch309 Date: Tue, 17 Mar 2020 16:32:04 +0100 Subject: [PATCH 06/26] fix edit members button (add margin) --- src/main/resources/templates/detailsMember.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index c180975..c316522 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -50,7 +50,7 @@

Mitglieder

- +

From e9199857b7263cc674c0796d470322ce58d71e67 Mon Sep 17 00:00:00 2001 From: kasch309 Date: Tue, 17 Mar 2020 16:35:00 +0100 Subject: [PATCH 07/26] change table class --- src/main/resources/templates/editMembers.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index 919e1b9..3b56c80 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -29,7 +29,7 @@
- +
From 47ee171070fd35724b5a4c02f4f73151642de81c Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 17 Mar 2020 16:42:31 +0100 Subject: [PATCH 08/26] fix roles on detailsMember.html --- .../java/mops/gruppen2/controller/Gruppen2Controller.java | 6 ++++-- src/main/resources/templates/detailsMember.html | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index 307f5ae..badc434 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -111,7 +111,9 @@ public class Gruppen2Controller { User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); if(group!= null) { model.addAttribute("group", group); - model.addAttribute("role", group.getRoles().get(user.getUser_id())); + model.addAttribute("roles", group.getRoles()); + model.addAttribute("user", user); + model.addAttribute("admin", Role.ADMIN); return "detailsMember"; } throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Group not found"); @@ -163,7 +165,7 @@ public class Gruppen2Controller { @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @PostMapping("/changeRole") - public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long id, + public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long id, @RequestParam (value = "user") User user) throws EventException { controllerService.updateRole(user, id); return "redirect:/details/members/"; diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 85c697b..efba5f9 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -50,7 +50,7 @@

Mitglieder

- +

@@ -58,7 +58,7 @@
  • - admin + admin
From 06eb174c4201e73cb84a09c048708955a19efc92 Mon Sep 17 00:00:00 2001 From: kasch309 Date: Tue, 17 Mar 2020 16:56:38 +0100 Subject: [PATCH 09/26] add table column --- src/main/resources/templates/editMembers.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index 3b56c80..d5983d8 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -33,14 +33,16 @@
+ +
Mitglied
MitgliedRolle Optionen
- - + +
From 9491f83cca9b1c565fea6553de19bda565ea0762 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 17 Mar 2020 16:57:13 +0100 Subject: [PATCH 10/26] fix roles on detailsMember.html --- .../java/mops/gruppen2/controller/Gruppen2Controller.java | 1 + src/main/resources/templates/detailsMember.html | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index badc434..b42eb12 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -113,6 +113,7 @@ public class Gruppen2Controller { model.addAttribute("group", group); model.addAttribute("roles", group.getRoles()); model.addAttribute("user", user); + model.addAttribute("userrole", group.getRoles().get(user.getUser_id())); model.addAttribute("admin", Role.ADMIN); return "detailsMember"; } diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index a61b5e7..630ae2b 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -50,7 +50,7 @@

Mitglieder

- +

@@ -58,7 +58,7 @@
  • - admin + admin
From b8936052cbb4f7be52a46483348c2cba4882fba7 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 12:43:49 +0100 Subject: [PATCH 11/26] fix role recognition in detailsMember.html --- .../java/mops/gruppen2/controller/Gruppen2Controller.java | 1 - src/main/resources/templates/detailsMember.html | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index b42eb12..badc434 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -113,7 +113,6 @@ public class Gruppen2Controller { model.addAttribute("group", group); model.addAttribute("roles", group.getRoles()); model.addAttribute("user", user); - model.addAttribute("userrole", group.getRoles().get(user.getUser_id())); model.addAttribute("admin", Role.ADMIN); return "detailsMember"; } diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 630ae2b..032df60 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -50,7 +50,7 @@

Mitglieder

- +

@@ -58,7 +58,7 @@
  • - admin + admin
From 0828c278dc0b959adfc45518c91db0cfb540ba56 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 12:47:03 +0100 Subject: [PATCH 12/26] fix visibility recognition in detailsMember.html --- src/main/resources/templates/detailsMember.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 032df60..ad2c7ee 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -33,8 +33,8 @@

Private Gruppe - Öffentliche Gruppe - Veranstaltung + Öffentliche Gruppe + Veranstaltung

From a6667e40915d1ca5eb17d3a307f8da923661d599 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 13:08:35 +0100 Subject: [PATCH 13/26] fix text overflow in groupdescription --- src/main/resources/schema.sql | 2 +- src/main/resources/templates/detailsMember.html | 2 +- src/main/resources/templates/index.html | 2 +- src/main/resources/templates/search.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql index 9a3fe1f..ed0c514 100644 --- a/src/main/resources/schema.sql +++ b/src/main/resources/schema.sql @@ -7,6 +7,6 @@ CREATE TABLE event event_id INT PRIMARY KEY AUTO_INCREMENT, group_id INT NOT NULL, user_id VARCHAR(50), - event_payload VARCHAR(255), + event_payload VARCHAR(2500), visibility BOOLEAN ); diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index ad2c7ee..a689e9c 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -36,7 +36,7 @@ Öffentliche Gruppe Veranstaltung

-

+

diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 9b9ea12..d9ba848 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -35,7 +35,7 @@

-

+


diff --git a/src/main/resources/templates/search.html b/src/main/resources/templates/search.html index 04ed8a9..71c225c 100644 --- a/src/main/resources/templates/search.html +++ b/src/main/resources/templates/search.html @@ -53,7 +53,7 @@ Gruppenname - Beschreibung + Beschreibung Mitgliederanzahl From 5f1cdca4eef8336f1075c4e84f00af521d248497 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 13:21:44 +0100 Subject: [PATCH 14/26] fix text overflow in groupdescription --- src/main/resources/templates/detailsMember.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index a689e9c..e5189a9 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -32,8 +32,8 @@

- Private Gruppe - Öffentliche Gruppe + Private Gruppe + Öffentliche Gruppe Veranstaltung

@@ -50,7 +50,7 @@

Mitglieder

- +

From 5703ad4678afadf7221fee05bf6a3cf4cd9c3095 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 13:40:07 +0100 Subject: [PATCH 15/26] fix random error --- .../java/mops/gruppen2/controller/Gruppen2Controller.java | 2 ++ src/main/resources/templates/detailsMember.html | 4 +++- src/main/resources/templates/editMembers.html | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index badc434..2fcb24d 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -23,6 +23,7 @@ import org.springframework.web.server.ResponseStatusException; import javax.annotation.security.RolesAllowed; import java.util.ArrayList; import java.util.List; +import java.util.Map; @Controller @@ -113,6 +114,7 @@ public class Gruppen2Controller { model.addAttribute("group", group); model.addAttribute("roles", group.getRoles()); model.addAttribute("user", user); + model.addAttribute("userrole", group.getRoles().get(user.getUser_id())); model.addAttribute("admin", Role.ADMIN); return "detailsMember"; } diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index e5189a9..1274df0 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -49,9 +49,11 @@

Mitglieder

+
- +
+

diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index d5983d8..2cebc86 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -39,7 +39,7 @@ - + From 19e8ef9c07ebde619230499c50eaab44a9f4f9aa Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 13:43:12 +0100 Subject: [PATCH 16/26] remove unnecessary line --- src/main/java/mops/gruppen2/controller/Gruppen2Controller.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index 2fcb24d..f1bc871 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -114,7 +114,6 @@ public class Gruppen2Controller { model.addAttribute("group", group); model.addAttribute("roles", group.getRoles()); model.addAttribute("user", user); - model.addAttribute("userrole", group.getRoles().get(user.getUser_id())); model.addAttribute("admin", Role.ADMIN); return "detailsMember"; } From 56f82203cd9e9a64553222dbf8831624b5c78672 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 14:11:52 +0100 Subject: [PATCH 17/26] fix entering group youre already part of --- src/main/java/mops/gruppen2/controller/Gruppen2Controller.java | 3 +++ src/main/resources/templates/editMembers.html | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index f1bc871..f214d1c 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -125,6 +125,9 @@ public class Gruppen2Controller { public String joinGroup(KeycloakAuthenticationToken token, Model model, @RequestParam(value = "id") Long id) throws EventException { model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); 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 controllerService.addUser(account,id); return "redirect:/gruppen2/"; } diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index 2cebc86..bfc0814 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -38,7 +38,7 @@ - + From 45679c7d2a37e3d8837df17bbd524fcb07065303 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 14:20:32 +0100 Subject: [PATCH 18/26] Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 5d7b69f..3ed356b 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ out/ ### VS Code ### .vscode/ +.floo +.flooignore From 75a4701bd0aae6374a898ab218d5061a4c30fdcd Mon Sep 17 00:00:00 2001 From: kasch309 Date: Wed, 18 Mar 2020 14:21:05 +0100 Subject: [PATCH 19/26] fix table and functionality --- .../resources/templates/detailsMember.html | 2 +- src/main/resources/templates/editMembers.html | 25 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 1274df0..6753811 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -51,7 +51,7 @@

Mitglieder

- +

diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index 2cebc86..9988370 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -29,22 +29,27 @@
- +
- + - - - - - + + + + + + +
Mitglied RolleOptionenOptionen
- - -
+ Mitglied + Admin + + + +
From b89b47ec81b72f4745f9c173ec94da1b7c3abd7a Mon Sep 17 00:00:00 2001 From: kasch309 Date: Wed, 18 Mar 2020 14:21:39 +0100 Subject: [PATCH 20/26] set redirection to index instead of previous page --- src/main/resources/templates/errorRenameLater.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/templates/errorRenameLater.html b/src/main/resources/templates/errorRenameLater.html index 01fbadc..1344e10 100644 --- a/src/main/resources/templates/errorRenameLater.html +++ b/src/main/resources/templates/errorRenameLater.html @@ -16,7 +16,7 @@

From 9aa7122779a4cdb42a07dcdde80985d2d48568a7 Mon Sep 17 00:00:00 2001 From: kasch309 Date: Wed, 18 Mar 2020 15:23:26 +0100 Subject: [PATCH 21/26] Improve styling on several templates --- .../resources/templates/detailsMember.html | 30 +++++++++++-------- src/main/resources/templates/editMembers.html | 13 ++++---- src/main/resources/templates/index.html | 24 +++++---------- 3 files changed, 33 insertions(+), 34 deletions(-) diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 6753811..63ae972 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -30,31 +30,35 @@
-

+

+

Private Gruppe Öffentliche Gruppe Veranstaltung -

-

-
-
-
- -
-
+

+
+
+

+
+
+
+
+ +
-
-

Mitglieder

+
+

Mitglieder

- +
-

+
+
    diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index 9988370..c6ee888 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -28,13 +28,13 @@
    -
    +
    - - + + @@ -45,12 +45,15 @@ Admin
    MitgliedRolleOptionenRolleOptionen
    - - + +
    +
    diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index d9ba848..e7ba682 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -30,8 +30,16 @@

    Meine Gruppen

    +

    + Mitglied in + + Gruppe. + Gruppen. +

    +
    +

    @@ -41,22 +49,6 @@
    -
    -
    -
    -

    user_id

    -

    - username - usersurname -

    -

    usermail

    -

    - In Gruppen: - -

    -
    -
    -
    From e0db7584ac0bc84ae99c1e670575028e9c13bf67 Mon Sep 17 00:00:00 2001 From: kasch309 Date: Wed, 18 Mar 2020 16:00:11 +0100 Subject: [PATCH 22/26] Improve styling on several templates --- src/main/resources/templates/detailsMember.html | 11 ++++++++--- src/main/resources/templates/detailsNoMember.html | 14 ++++++++------ src/main/resources/templates/index.html | 6 ++++-- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 63ae972..16badfa 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -31,7 +31,6 @@

    -

    Private Gruppe Öffentliche Gruppe @@ -43,9 +42,15 @@


    -
    - + + + + +
    +
    diff --git a/src/main/resources/templates/detailsNoMember.html b/src/main/resources/templates/detailsNoMember.html index 44f1dfd..740f1bf 100644 --- a/src/main/resources/templates/detailsNoMember.html +++ b/src/main/resources/templates/detailsNoMember.html @@ -29,13 +29,15 @@
    -

    -

    - Private Gruppe +

    +

    + Private Gruppe Öffentliche Gruppe - Veranstaltung -

    -

    + Veranstaltung +

    +
    +

    +
    diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index e7ba682..f9fab43 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -40,10 +40,12 @@
    -

    +

    -

    +
    +

    +

    From dac0b28efb530ec4f5604870d01f74db3aa5de88 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 16:16:27 +0100 Subject: [PATCH 23/26] fix path redirecting --- .../controller/Gruppen2Controller.java | 25 ++++++++++++------- .../gruppen2/service/ControllerService.java | 9 +++++-- .../resources/templates/detailsMember.html | 6 +++-- src/main/resources/templates/editMembers.html | 19 ++++++++++---- src/main/resources/templates/index.html | 2 +- 5 files changed, 42 insertions(+), 19 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index f214d1c..c952a02 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -104,8 +104,8 @@ public class Gruppen2Controller { } @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) - @GetMapping("/details") - public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @RequestParam (value="id") Long id) throws EventException, ResponseStatusException { + @GetMapping("/details/{id}") + public String showGroupDetails(KeycloakAuthenticationToken token, Model model, @PathVariable (value="id") Long id) throws EventException, ResponseStatusException { model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); Group group = userService.getGroupById(id); Account account = keyCloakService.createAccountFromPrincipal (token); @@ -154,13 +154,14 @@ public class Gruppen2Controller { } @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) - @GetMapping("/details/members") - public String editMembers(Model model, KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) throws EventException { + @GetMapping("/details/members/{id}") + public String editMembers(Model model, KeycloakAuthenticationToken token, @PathVariable (value="id") Long id) throws EventException { Account account = keyCloakService.createAccountFromPrincipal(token); Group group = userService.getGroupById(id); if(group.getRoles().get(account.getName()) == Role.ADMIN) { model.addAttribute("members", group.getMembers()); model.addAttribute("group", group); + model.addAttribute("admin", Role.ADMIN); return "editMembers"; } else { return "redirect:/details/"; @@ -168,11 +169,17 @@ public class Gruppen2Controller { } @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) - @PostMapping("/changeRole") - public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long id, - @RequestParam (value = "user") User user) throws EventException { - controllerService.updateRole(user, id); - return "redirect:/details/members/"; + @PostMapping("/details/members/changeRole") + public String changeRole(KeycloakAuthenticationToken token, @RequestParam (value = "group_id") Long group_id, + @RequestParam (value = "user_id") String user_id) throws EventException { + controllerService.updateRole(user_id, group_id); + return "redirect:/gruppen2/details/members/" + group_id; } + @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) + @PostMapping("/details/members/deleteUser") + public String deleteUser(KeycloakAuthenticationToken token,@RequestParam (value = "group_id") Long group_id, + @RequestParam (value = "user_id") String user_id) { + return null; + } } diff --git a/src/main/java/mops/gruppen2/service/ControllerService.java b/src/main/java/mops/gruppen2/service/ControllerService.java index ff42a16..b6880e3 100644 --- a/src/main/java/mops/gruppen2/service/ControllerService.java +++ b/src/main/java/mops/gruppen2/service/ControllerService.java @@ -43,7 +43,7 @@ public class ControllerService { addUser(account, group_id); updateTitle(account, group_id, title); updateDescription(account, group_id, description); - updateRole(user, group_id); + updateRole(user.getUser_id(), group_id); } public void addUser(Account account, Long group_id){ @@ -61,9 +61,14 @@ public class ControllerService { eventService.saveEvent(updateGroupDescriptionEvent); } - public void updateRole(User user, Long group_id) throws EventException { + public void updateRole(String user_id, Long group_id) throws EventException { UpdateRoleEvent updateRoleEvent; Group group = userService.getGroupById(group_id); + User user = null; + for (User member : group.getMembers()) { + if(member.getUser_id().equals(user_id)) user = member; + } + assert user != null; if(group.getRoles().get(user.getUser_id()) == Role.ADMIN) { updateRoleEvent = new UpdateRoleEvent(group_id, user.getUser_id(), Role.MEMBER); } else { diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index 63ae972..00449f6 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -53,8 +53,10 @@

    Mitglieder

    - - + +

    diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index c6ee888..c97dd0e 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -38,15 +38,24 @@ - + + - Mitglied - Admin + Mitglied + Admin - - +
    + + + +
    +
    + + + +
    diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index e7ba682..5bee698 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -41,7 +41,7 @@

    - +

    From 42721e06fc23264e371f45ef02e8eff352670335 Mon Sep 17 00:00:00 2001 From: kasch309 Date: Wed, 18 Mar 2020 16:32:27 +0100 Subject: [PATCH 24/26] Improve styling on several templates --- src/main/resources/templates/detailsMember.html | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/main/resources/templates/detailsMember.html b/src/main/resources/templates/detailsMember.html index dd9b206..dbb5aaa 100644 --- a/src/main/resources/templates/detailsMember.html +++ b/src/main/resources/templates/detailsMember.html @@ -28,8 +28,7 @@
    -
    -
    +

    Private Gruppe @@ -41,18 +40,14 @@


    -
    -
    - - +
    - -
    -
    From 4b88742776adefb93a595fac567bb753c3ed98b4 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 16:36:54 +0100 Subject: [PATCH 25/26] add deleteUser button and reconfigure the according method --- .../mops/gruppen2/controller/Gruppen2Controller.java | 9 +++++---- .../java/mops/gruppen2/service/ControllerService.java | 8 +++++++- src/main/resources/templates/editMembers.html | 6 +++--- src/main/resources/templates/index.html | 2 +- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index c952a02..63addb4 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -146,10 +146,10 @@ public class Gruppen2Controller { @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @PostMapping("/leaveGroup") - public String pLeaveGroup(KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) { + public String pLeaveGroup(KeycloakAuthenticationToken token, @RequestParam (value="group_id") Long id) throws EventException { Account account = keyCloakService.createAccountFromPrincipal(token); User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); - controllerService.deleteUser(user, id); + controllerService.deleteUser(user.getUser_id(), id); return "redirect:/gruppen2/"; } @@ -179,7 +179,8 @@ public class Gruppen2Controller { @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @PostMapping("/details/members/deleteUser") public String deleteUser(KeycloakAuthenticationToken token,@RequestParam (value = "group_id") Long group_id, - @RequestParam (value = "user_id") String user_id) { - return null; + @RequestParam (value = "user_id") String user_id) throws EventException { + controllerService.deleteUser(user_id, group_id); + return "redirect:/gruppen2/details/members/" + group_id; } } diff --git a/src/main/java/mops/gruppen2/service/ControllerService.java b/src/main/java/mops/gruppen2/service/ControllerService.java index b6880e3..f64e048 100644 --- a/src/main/java/mops/gruppen2/service/ControllerService.java +++ b/src/main/java/mops/gruppen2/service/ControllerService.java @@ -77,7 +77,13 @@ public class ControllerService { eventService.saveEvent(updateRoleEvent); } - public void deleteUser(User user, Long group_id){ + public void deleteUser(String user_id, Long group_id) throws EventException { + Group group = userService.getGroupById(group_id); + User user = null; + for (User member : group.getMembers()) { + if(member.getUser_id().equals(user_id)) user = member; + } + assert user != null; DeleteUserEvent deleteUserEvent = new DeleteUserEvent(group_id, user.getUser_id()); eventService.saveEvent(deleteUserEvent); } diff --git a/src/main/resources/templates/editMembers.html b/src/main/resources/templates/editMembers.html index c97dd0e..1fbed6c 100644 --- a/src/main/resources/templates/editMembers.html +++ b/src/main/resources/templates/editMembers.html @@ -51,9 +51,9 @@ -
    - - + + +
    diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index c083426..a9404b0 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -21,7 +21,7 @@
  • Suche
  • -
+ --
From d2c1de7c9f0f6ea2a6f890fe34b65b4eb025595a Mon Sep 17 00:00:00 2001 From: killerber4t Date: Wed, 18 Mar 2020 17:01:33 +0100 Subject: [PATCH 26/26] fix for merge --- .../gruppen2/controller/Gruppen2Controller.java | 4 ++-- .../mops/gruppen2/service/ControllerService.java | 15 +++++---------- src/main/resources/templates/index.html | 2 -- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index 1dab295..25faa42 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -82,7 +82,7 @@ public class Gruppen2Controller { @RequestParam(value = "title") String title, @RequestParam(value = "beschreibung") String beschreibung, @RequestParam(value = "visibility", required = false) Boolean visibility, - @RequestParam("file") MultipartFile file) throws IOException { + @RequestParam(value = "file") MultipartFile file) throws IOException, EventException { Account account = keyCloakService.createAccountFromPrincipal(token); List userList = CsvService.read(file.getInputStream()); @@ -219,10 +219,10 @@ public class Gruppen2Controller { @RequestParam (value = "user_id") String user_id) throws EventException { controllerService.deleteUser(user_id, group_id); return "redirect:/gruppen2/details/members/" + group_id; + } @GetMapping("*") public String defaultLink() { return "errorRenameLater"; - } } diff --git a/src/main/java/mops/gruppen2/service/ControllerService.java b/src/main/java/mops/gruppen2/service/ControllerService.java index 6cb5e2c..7f84660 100644 --- a/src/main/java/mops/gruppen2/service/ControllerService.java +++ b/src/main/java/mops/gruppen2/service/ControllerService.java @@ -7,12 +7,6 @@ import mops.gruppen2.domain.event.*; import mops.gruppen2.security.Account; import org.springframework.stereotype.Service; -import mops.gruppen2.domain.event.*; -import mops.gruppen2.security.Account; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.UUID; @@ -25,8 +19,9 @@ public class ControllerService { private final UserService userService; private final InviteLinkRepositoryService inviteLinkRepositoryService; - public ControllerService(EventService eventService, InviteLinkRepositoryService inviteLinkRepositoryService) { + public ControllerService(EventService eventService, UserService userService, InviteLinkRepositoryService inviteLinkRepositoryService) { this.eventService = eventService; + this.userService = userService; this.inviteLinkRepositoryService = inviteLinkRepositoryService; } @@ -117,9 +112,9 @@ public class ControllerService { public void deleteGroupEvent(User user, Long group_id) { DeleteGroupEvent deleteGroupEvent = new DeleteGroupEvent(group_id, user.getUser_id()); eventService.saveEvent(deleteGroupEvent); + } - - public void createLecture(Account account, String title, String description, Boolean visibility, List users) { + public void createLecture(Account account, String title, String description, Boolean visibility, List users) throws EventException { Visibility visibility1; Long group_id = eventService.checkGroup(); @@ -135,7 +130,7 @@ public class ControllerService { addUser(account, group_id); updateTitle(account, group_id, title); updateDescription(account, group_id, description); - updateRole(account, group_id); + updateRole(account.getName(), group_id); addUserList(users, group_id); } diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index c55c763..5d51236 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -21,13 +21,11 @@
  • Suche
  • -
  • Veranstaltung
  • -