/** * * Adminsitration User edit page * * @param userId * @param request * @param response * @param model * @return */ @RequestMapping(value = "/administration/users/edit/{userId}", method = RequestMethod.GET) public ModelAndView EditUser( @PathVariable Integer userId, @ModelAttribute("viewModel") AdministrationUserEditViewModel viewModel, Model model) { ModelAndView result = new ModelAndView("administration_user_edit"); viewModel.setUserId(userId); User user = _accountService.getUserByID(userId); Userhandle userHandle = _accountService.GetUsrHandleByID(userId); if (userHandle != null) { viewModel.setFirstName(userHandle.getFirstName()); viewModel.setLastName(userHandle.getLastName()); viewModel.setHeight(String.valueOf(userHandle.getHeightIn())); viewModel.setGender(userHandle.getGenderName()); Calendar dob = Calendar.getInstance(); dob.setTime(userHandle.getDob()); Calendar today = Calendar.getInstance(); int age = today.get(Calendar.YEAR) - dob.get(Calendar.YEAR); viewModel.setAge(age); viewModel.setHandedness("Right Handed"); } viewModel.setEmail(user.getEmail()); viewModel.setPassword(user.getUserpassword()); viewModel.setAdmin(user.getIsAdmin()); // if(hand == 1) // viewModel.setHandedness("Right"); // else viewModel.setHandedness("Left"); model.addAttribute("model", viewModel); return result; }
/** * Post request to update user. Update email, first, last, password and handId. Does not update * birthday or gender. Gender does not exist as a field in the DB and for sake of time Birthday * was not completed. * * @param userId * @param request * @param response * @return */ @RequestMapping(value = "/adminsitration/users/update-user", method = RequestMethod.POST) public ModelAndView UpdateUser( @ModelAttribute("viewModel") AdministrationUserEditViewModel viewModel, Model model, RedirectAttributes redirectAttributes) { ModelAndView result = new ModelAndView("redirect:/administration/users"); int userID = viewModel.getUserId(); if (viewModel.getEmail() != null) _accountService.updateUserEmail(userID, viewModel.getEmail()); if (viewModel.getFirstName() != null) _accountService.updateUserHandleFirstName(userID, viewModel.getFirstName()); if (viewModel.getLastName() != null) _accountService.updateUserHandleLastName(userID, viewModel.getLastName()); if (viewModel.getPassword() != null) _accountService.updateUserPassword(userID, viewModel.getPassword()); if (viewModel.getHandedness() != null) _accountService.updateUserHandId(userID, viewModel.getHandedness()); model.addAttribute("model", viewModel); return result; }
/** Lists all of the current users in the system */ @RequestMapping(value = "/administration/users", method = RequestMethod.GET) public ModelAndView ListUsers( @ModelAttribute("viewModel") AdministrationUsersViewModel viewModel, Model model) { ModelAndView result = new ModelAndView("administration_users"); // Bad name for AdmistrationUserListViewModel.... // creates a List of AdmiistrationUserListViewModel objects with custom user fields. List<AdministrationUserListViewModel> usersList = new ArrayList<AdministrationUserListViewModel>(); // grabs all users. List<User> allUsers = _accountService.GetAllUsers(); for (User u : allUsers) { AdministrationUserListViewModel alvm = new AdministrationUserListViewModel(); alvm.setEmail(u.getEmail()); alvm.setIsAdmin(u.getIsAdmin()); alvm.setLastLogin(new Date()); alvm.setName(""); alvm.setUserId(u.getUserId()); usersList.add(alvm); } /*for(User U : allUsers){ AdministrationUserListViewModel temp = new AdministrationUserListViewModel(); Userhandle handle = _accountService.GetUsrHandleByID(U.getUserId()); temp.setEmail(U.getEmail()); temp.setIsAdmin(U.getIsAdmin()); temp.setUserId(U.getUserId()); //SET THE USER's LAST LOGINDATE temp.setLastLogin(new Date()); //might have to edit this out... String firstName, lastName; if(handle.getFirstName() == null){firstName = " ";} else firstName = handle.getFirstName(); if(handle.getLastName() == null){lastName = " ";} else lastName = handle.getLastName(); temp.setName(firstName + " " + lastName); usersList.add(temp); }*/ // pushing all this shit into a userList... // view viewModel.setUserList(usersList); viewModel.setLastAccess(new Date()); model.addAttribute("model", viewModel); return result; }
/** Take Test */ @RequestMapping(value = "/home/take-test/{testId}", method = RequestMethod.GET) public ModelAndView TakeTest( @ModelAttribute("viewModel") UserDashboardViewModel viewModel, Model model) { ModelAndView result = new ModelAndView("user_dashboard"); // get the testID int testID = viewModel.getTestId(); Test test = this._testService.GetTestById(testID); viewModel.setTest(test); // get the words List<Attemptword> words = this._attemptWordService.GetAttemptWordsByTestID(testID); viewModel.setWords(words); // get the userID int userId = _accountService.GetUserIDFromCookie(); viewModel.setUserId(userId); model.addAttribute("model", viewModel); return result; }