@RequestMapping(value = "/student/edit/{id}", method = RequestMethod.GET) public String editStudent( @PathVariable Long id, Model model, @RequestParam Optional<String> success) { Student student = schoolService.getStudent(id); model.addAttribute("student", student); model.addAttribute("courses", schoolService.getCourses()); if (success.isPresent()) { model.addAttribute("success", true); } return "student"; }
@RequestMapping(value = "/student/delete/{id}", method = RequestMethod.GET) public String deleteStudent(@PathVariable Long id) { schoolService.deleteStudent(id); return "redirect:/students"; }
@RequestMapping(value = "/students", method = RequestMethod.GET) public String getStudents(Model model) { model.addAttribute("students", schoolService.getStudents()); return "students"; }
@RequestMapping(value = "/course/delete/{id}", method = RequestMethod.GET) public String deleteCourse(@PathVariable Long id) { schoolService.deleteCourse(id); return "redirect:/courses"; }
@RequestMapping(value = "/course/edit/{id}", method = RequestMethod.GET) public String editCourse(@PathVariable Long id, Model model) { model.addAttribute("course", schoolService.getCourse(id)); return "course"; }
@RequestMapping(value = "/course/save", method = RequestMethod.POST) public String addCourse(@ModelAttribute Course course) { schoolService.saveCourse(course); return "redirect:/courses"; }
@RequestMapping(value = "/courses", method = RequestMethod.GET) public String getCourses(Model model) { model.addAttribute("courses", schoolService.getCourses()); return "courses"; }
@RequestMapping(value = "/student/password", method = RequestMethod.POST) public String changePassword(@AuthenticationPrincipal User user, @RequestParam String password) { schoolService.changeStudentPassword(user, password); return "redirect:/?success=true"; }
@RequestMapping(value = "/student/{studentId}/drop/{courseId}", method = RequestMethod.GET) public String dropCourse(@PathVariable Long studentId, @PathVariable Long courseId) { schoolService.dropCourse(studentId, courseId); return "redirect:/student/edit/" + studentId; }
@RequestMapping(value = "/student/save", method = RequestMethod.POST) public String saveStudent( @ModelAttribute Student student, @RequestParam Optional<String> password) { schoolService.saveStudent(student, password); return "redirect:/student/edit/" + student.getId() + "?success=true"; }