Beispiel #1
0
  public String deleteUser() {
    if (selectedUser != null) {
      if (!"admin".equals(selectedUser.getLoginName())) {
        List<Account> accountList = accountService.getAllByUser(selectedUser);
        for (Account account : accountList) {
          account.setDestroy(true);
          account.setUser(null);
          accountService.updateAccount(account);
        }
        List<Topic> topicList = messageService.findByUser(selectedUser);
        for (Topic topic : topicList) {
          List<Message> messageList = messageService.findByTopic(topic);
          topic.setLastMessage(null);
          messageService.editTopic(topic);
          for (Message message : messageList) {
            message.setSender(null);
            message.setTopic(null);
            messageService.removeMessage(message);
          }
          messageList.clear();
          messageService.removeTopic(topic);
        }

        topicList.clear();

        userService.removeUser(selectedUser);
        selectedUser = new User();
        return "listUser?faces-redirect=true";
      } else {
        FacesContext.getCurrentInstance()
            .addMessage(
                null,
                new FacesMessage(
                    FacesMessage.SEVERITY_INFO,
                    "Deleting error",
                    "This user has leaded projects or you tried to delete admin! >> nice try! "));
        return "listUser?faces-redirect=false";
      }
    } else {
      FacesContext.getCurrentInstance()
          .addMessage(
              null,
              new FacesMessage(
                  FacesMessage.SEVERITY_INFO,
                  "User has not selected",
                  "You did not select any user!"));
      return "listUser?faces-redirect=false";
    }
  }