diff --git a/build.gradle b/build.gradle index de322fceebe23864820f63c414daeb1dcbe1c391..35e48fec6bee2b4ae45087f8df5749a71edb9edb 100644 --- a/build.gradle +++ b/build.gradle @@ -28,6 +28,9 @@ dependencies { developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' + implementation 'org.springframework.boot:spring-boot-starter-validation' +// implementation 'org.springframework.boot:spring-boot-starter-jdbc' +// implementation 'org.mariadb.jdbc:mariadb-java-client:2.1.2' } tasks.named('bootBuildImage') { diff --git a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java index 085892456e98281677479613cd42be3601852649..e6b284ffea817bb08b3e8836e37b4b8b352e530b 100644 --- a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java +++ b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java @@ -1,5 +1,8 @@ package Team5.SmartTowns.Landmarks; +import lombok.AllArgsConstructor; +import lombok.Data; +@Data public class Landmarks { private String landmarkName; private String landmarkDescription; @@ -7,12 +10,17 @@ public class Landmarks { private int trailID; + public Landmarks(){ + this.landmarkName =""; + this.landmarkDescription =""; + this.landmarkLocation =""; + this.trailID =0; + } + public Landmarks(String landmarkName, String landmarkDescription, String landmarkLocation, int trailID) { this.landmarkName = landmarkName; this.landmarkDescription = landmarkDescription; this.landmarkLocation = landmarkLocation; this.trailID = trailID; } - - } diff --git a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksArray.java b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksArray.java index 78fc43630a21cf52c79bb55470559504a3482015..0d246dda690ad432aef5aa50914a634455868e18 100644 --- a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksArray.java +++ b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksArray.java @@ -9,8 +9,22 @@ public class LandmarksArray { LandmarksArray() { landmarksList = new ArrayList<>(); //ArrayList is mutable + landmarksList.addAll( + List.of( + new Landmarks("park","desc","loc",2) + ) + ); } + +// public static UserArray getInstance() { +// if (singleton == null) { +// singleton = new UserArray(); +// +// } +// return singleton; +// } + } diff --git a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java index b5a56d820ee9111e5748c30bf7b17f8d44eff1e6..3148324b62f967ea1d7bde25e1a2185dfd95248b 100644 --- a/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java +++ b/src/main/java/Team5/SmartTowns/Landmarks/LandmarksController.java @@ -1,21 +1,52 @@ package Team5.SmartTowns.Landmarks; - import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.servlet.ModelAndView; +//import jakarta.validation.Valid; @Controller public class LandmarksController { + @GetMapping("/landmarkSubmission") public ModelAndView landmarkSubmission(){ - ModelAndView modelAndView = new ModelAndView("Landmarks/LandmarkFormTh.html"); - modelAndView.addAllObjects("Landmarks", new Landmarks()); - return modelAndView; - + ModelAndView modelAndView1 = new ModelAndView("LandmarkFormTh.html"); + modelAndView1.addObject("landmarkData", new Landmarks()); + return modelAndView1; + } + @PostMapping("/landmarkSub") + public ModelAndView landmarkSent( @ModelAttribute("landmarkData") Landmarks landmarks ) { + +// LandmarksArray userArray = LandmarksArray.getInstance(); +// Landmarks newUserSubmission = new Landmarks(landmarkData.getFormUsername(),userSubmission.getFormEmail(), +// userSubmission.getFormPark(), userSubmission.getFormDescription(),userSubmission.getFormCafe(), userSubmission.getFormToilets()); +// userArray.addUserSubmission(newUserSubmission); +// System.out.println(userArray.getFormItems()); +// + ModelAndView modelAndView = new ModelAndView("redirect:/test.html"); + return modelAndView; + + + + + + } + +// @PostMapping("/landmarkSubmission") +// public ModelAndView landmarkSubmission( Landmarks landmarks){ +// System.out.println(landmarks); +// ModelAndView modelAndView = new ModelAndView("redirect:/thankyou.html"); +// +// return modelAndView; +// +// } } diff --git a/src/main/resources/templates/LandmarkFormTh.html b/src/main/resources/templates/LandmarkFormTh.html new file mode 100644 index 0000000000000000000000000000000000000000..9a2bf495c2265d57ac1057dfb9323a042d6b5a1b --- /dev/null +++ b/src/main/resources/templates/LandmarkFormTh.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>Landmark Sign Up</title> +</head> +<body> +<main> + <form action="/landmarkSub" id="landmarkSubmission" name="landmarkSubmission" method="post" th:object="${landmarkData}"> + + + <label>Business Name: + <input type="text" th:field="*{landmarkName}"> + </label><br> + <label>Please Describe Your Business:<br> + <textarea th:field="*{landmarkDescription}" rows="6" cols="80"></textarea> + </label><br> + <label>Your town/city: + <input type="text" th:field="*{landmarkName}"> + </label><br> + <label>Trail: + <input type="text" th:field="*{trailID}"> + </label><br> + + <input type="submit"> + </form> + +</main> + +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/Landmarks/LandmarkFormTh.html b/src/main/resources/templates/Landmarks/LandmarkFormTh.html deleted file mode 100644 index 74e5194de51d4aec5deb8af84d20cffd3b40e8c5..0000000000000000000000000000000000000000 --- a/src/main/resources/templates/Landmarks/LandmarkFormTh.html +++ /dev/null @@ -1,20 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Landmark Sign Up</title> -</head> -<body> -<main> - <form action="/LandmarkSubmission" name="landmarkSubmission"> - - - - - - </form> - -</main> - -</body> -</html> \ No newline at end of file