Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package nl.saxion.budgetblackboard.controllers;
- import nl.saxion.budgetblackboard.dataProvider.DataProvider;
- import nl.saxion.budgetblackboard.models.Course;
- import nl.saxion.budgetblackboard.models.Subject;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.*;
- import java.util.ArrayList;
- @Controller
- @RequestMapping(path = "/courses/subjects")
- public class SubjectController {
- private DataProvider data = DataProvider.getInstance();
- private Course course;
- private ArrayList<Subject> subjects;
- private static boolean firstInvocation;
- @GetMapping(path = "/{ID}")
- public String getSubjects(@PathVariable int ID, Model model) {
- this.course = this.data.findCourseByID(ID);
- if (!firstInvocation) {
- this.subjects = this.course.getSubjects();
- }
- else {
- this.course.setSubjects(subjects);
- }
- model.addAttribute("subjects", this.course.getSubjects());
- return "indexSubject";
- }
- @GetMapping(path = "/add")
- public String add() {
- return "addSubject";
- }
- @PostMapping(path = "/add")
- public String addSubject(Subject subject, Model model) {
- this.course.addSubject(subject);
- model.addAttribute("subjects", this.course.getSubjects());
- return "redirect:/courses/subjects/" + this.course.getID();
- }
- @GetMapping(path = "/edit/{id}")
- public String edit(@PathVariable int id, Model model) {
- Subject subject = this.data.getSubjectByID(this.course, id);
- model.addAttribute("subject", subject);
- return "editSubject";
- }
- @PostMapping(path = "/edit/{id}")
- public String editSubject(Subject editedSubject, @PathVariable int id, Model model) {
- Subject uneditedSubject = this.data.getSubjectByID(this.course, id);
- ArrayList<Subject> updatedSubjects = this.data.updateSubject(this.course, uneditedSubject, editedSubject, id);
- model.addAttribute("subjects", updatedSubjects);
- return "redirect:/courses/subjects/" + this.course.getID();
- }
- @GetMapping(path = "/delete/{id}")
- public String deleteSubject(@PathVariable int id, Model model) {
- System.out.println("deleting subject");
- this.subjects = this.data.deleteSubjectInCourse(this.course, id);
- this.course.setSubjects(this.subjects);
- model.addAttribute("subjects", this.subjects);
- firstInvocation = true;
- return "redirect:/courses/subjects/" + this.course.getID();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement