Пример #1
0
  /**
   * This Method used to save the newly created user
   *
   * @param user
   * @param result
   * @param model
   * @param session
   * @param locale
   * @return
   */
  @RequestMapping(value = "/saveNewUser", method = RequestMethod.POST)
  public String saveUser(
      @ModelAttribute("user") Users user,
      BindingResult result,
      ModelMap model,
      HttpSession session,
      Locale locale) {

    UserSessionInfo userSessionInfo =
        (UserSessionInfo) session.getAttribute(ApplicationConstants.USER_SESSION_KEY);
    List<Roles> roleInfoList = null;
    try {
      createUserValidator.userValidate(user, result, userSessionInfo);

      if (!result.hasErrors()) {
        // Save
        int UserId = userService.saveUser(user);

        if (UserId == 0) {
          log.info("User " + user.getUserName() + " save failed.");
          model.addAttribute(
              "Error",
              messageSource.getMessage(
                  "user.save.failure", new String[] {user.getUserName()}, locale));
          model.addAttribute("user", user);
          model.addAttribute("roleInfoList", roleInfoList);
          model.addAttribute("headers", "Create User");
          if (user.getUserId() != 0) {
            model.addAttribute("Save", "Modify");
          } else {
            model.addAttribute("Save", "Save");
          }

          return "createUserPage";

        } else {
          log.info("User " + user.getUserName() + " saved successfully.");
          model.addAttribute("response", "User \"" + user.getUserName() + "\" saved successfully");
          model.addAttribute("errorresponse", "");
          model.addAttribute("searchUserName", "");
          model.addAttribute("headers", "Users");
          return "usersList";
        }

      } else {

        roleInfoList = userService.getRoleInfo();
        model.addAttribute("roleInfoList", roleInfoList);
        model.addAttribute("headers", "Create User");
        if (user.getUserId() != 0) {
          model.addAttribute("Save", "Modify");
        } else {
          model.addAttribute("Save", "Save");
        }
        return "createUserPage";
      }

    } catch (Exception e) {
      model.addAttribute("user", user);
      model.addAttribute("response", "");
      model.addAttribute("errorresponse", "Failed to save user!");
      model.addAttribute("roleInfoList", roleInfoList);
      model.addAttribute("headers", "Create User");
      model.addAttribute("Save", "Save");
      log.error("Exception in saveUser::" + ExceptionUtils.getStackTrace(e));
    }
    model.addAttribute(
        "Error",
        messageSource.getMessage("user.save.failure", new String[] {user.getUserName()}, locale));
    return "createUserPage";
  }