1

if group empty gets delete

Co-Authored-By: Talha Caliskan <killerber4t@users.noreply.github.com>
This commit is contained in:
tomvahl
2020-03-20 14:00:41 +01:00
parent 71ea7eec40
commit 73f6798c2c
3 changed files with 11 additions and 5 deletions

View File

@ -247,6 +247,9 @@ public class Gruppen2Controller {
User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail());
controllerService.passIfLastAdmin(account, groupId); controllerService.passIfLastAdmin(account, groupId);
controllerService.deleteUser(user.getId(), groupId); controllerService.deleteUser(user.getId(), groupId);
if(userService.getGroupById(groupId).getMembers().size() == 0){
controllerService.deleteGroupEvent(user.getId(), groupId);
}
return "redirect:/gruppen2/"; return "redirect:/gruppen2/";
} }
@ -255,7 +258,7 @@ public class Gruppen2Controller {
public String pDeleteGroup(KeycloakAuthenticationToken token, @RequestParam("group_id") Long groupId){ public String pDeleteGroup(KeycloakAuthenticationToken token, @RequestParam("group_id") Long groupId){
Account account = keyCloakService.createAccountFromPrincipal(token); Account account = keyCloakService.createAccountFromPrincipal(token);
User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail());
controllerService.deleteGroupEvent(user, groupId); controllerService.deleteGroupEvent(user.getId(), groupId);
return "redirect:/gruppen2/"; return "redirect:/gruppen2/";
} }
@ -295,9 +298,12 @@ public class Gruppen2Controller {
@RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"})
@PostMapping("/details/members/deleteUser") @PostMapping("/details/members/deleteUser")
public String deleteUser(KeycloakAuthenticationToken token, @RequestParam("group_id") Long groupId, public String deleteUser(@RequestParam("group_id") Long groupId,
@RequestParam("user_id") String userId) throws EventException { @RequestParam("user_id") String userId) throws EventException {
controllerService.deleteUser(userId, groupId); controllerService.deleteUser(userId, groupId);
if(userService.getGroupById(groupId).getMembers().size() == 0){
controllerService.deleteGroupEvent(userId ,groupId);
}
return "redirect:/gruppen2/details/members/" + groupId; return "redirect:/gruppen2/details/members/" + groupId;
} }
} }

View File

@ -159,8 +159,8 @@ public class ControllerService {
eventService.saveEvent(deleteUserEvent); eventService.saveEvent(deleteUserEvent);
} }
public void deleteGroupEvent(User user, Long groupId) { public void deleteGroupEvent(String user_id, Long groupId) {
DeleteGroupEvent deleteGroupEvent = new DeleteGroupEvent(groupId, user.getId()); DeleteGroupEvent deleteGroupEvent = new DeleteGroupEvent(groupId, user_id);
eventService.saveEvent(deleteGroupEvent); eventService.saveEvent(deleteGroupEvent);
} }

View File

@ -99,7 +99,7 @@
type="hidden"> type="hidden">
<input th:name="user_id" th:value="${member.getId()}" <input th:name="user_id" th:value="${member.getId()}"
type="hidden"> type="hidden">
<button class="btn btn-danger btn-sm" style="margin: 5px">Mitglied entfernen</button> <button class="btn btn-danger btn-sm" style="margin: 5px" th:if='!${account.getName().equals(member.getId())}'>Mitglied entfernen</button>
</form> </form>
</div> </div>
</td> </td>