From f30e17914a9bf14c26e511cc8146a0551f602ebc Mon Sep 17 00:00:00 2001
From: Ardanisa <ardanisarachma@gmail.com>
Date: Tue, 15 Feb 2022 20:15:04 +0700
Subject: [PATCH] fix course implementation

---
 .../id/ac/ui/tutorial0/controller/CourseController.java     | 6 +++---
 src/main/java/id/ac/ui/tutorial0/model/Course.java          | 2 +-
 src/main/java/id/ac/ui/tutorial0/service/CourseService.java | 2 +-
 .../java/id/ac/ui/tutorial0/service/CourseServiceImpl.java  | 3 ++-
 src/main/resources/templates/createCourse.html              | 6 +-----
 5 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/main/java/id/ac/ui/tutorial0/controller/CourseController.java b/src/main/java/id/ac/ui/tutorial0/controller/CourseController.java
index a5777e5..8ce9d11 100644
--- a/src/main/java/id/ac/ui/tutorial0/controller/CourseController.java
+++ b/src/main/java/id/ac/ui/tutorial0/controller/CourseController.java
@@ -31,8 +31,8 @@ public class CourseController {
     }
 
     @PostMapping("/create")
-    public String createCoursePost(@ModelAttribute Course course, Model model) {
-        service.create(course);
-        return "redirect::list";
+    public String createCoursePost(@ModelAttribute Course course, Model model, boolean vacancyStatus) {
+        service.create(course, vacancyStatus);
+        return "redirect:list";
     }
 }
diff --git a/src/main/java/id/ac/ui/tutorial0/model/Course.java b/src/main/java/id/ac/ui/tutorial0/model/Course.java
index 4518f78..1f449e2 100644
--- a/src/main/java/id/ac/ui/tutorial0/model/Course.java
+++ b/src/main/java/id/ac/ui/tutorial0/model/Course.java
@@ -7,5 +7,5 @@ import lombok.Setter;
 public class Course {
     private String courseId;
     private String courseName;
-    private boolean vacancyStatus;
+    private boolean vacancyStatus = true;
 }
diff --git a/src/main/java/id/ac/ui/tutorial0/service/CourseService.java b/src/main/java/id/ac/ui/tutorial0/service/CourseService.java
index 9dd92ee..9b5b08f 100644
--- a/src/main/java/id/ac/ui/tutorial0/service/CourseService.java
+++ b/src/main/java/id/ac/ui/tutorial0/service/CourseService.java
@@ -6,6 +6,6 @@ import java.util.List;
 
 public interface CourseService {
 
-    public Course create(Course course);
+    public Course create(Course course, boolean vacancyStatus);
     public List<Course> findAll();
 }
diff --git a/src/main/java/id/ac/ui/tutorial0/service/CourseServiceImpl.java b/src/main/java/id/ac/ui/tutorial0/service/CourseServiceImpl.java
index b0f7d71..7aa2ca4 100644
--- a/src/main/java/id/ac/ui/tutorial0/service/CourseServiceImpl.java
+++ b/src/main/java/id/ac/ui/tutorial0/service/CourseServiceImpl.java
@@ -16,8 +16,9 @@ public class CourseServiceImpl implements CourseService {
     private CourseRepository courseRepository;
 
     @Override
-    public Course create(Course course) {
+    public Course create(Course course, boolean vacancyStatus) {
         generateCourseId(course);
+        course.setVacancyStatus(vacancyStatus);
         courseRepository.create(course);
         return course;
     }
diff --git a/src/main/resources/templates/createCourse.html b/src/main/resources/templates/createCourse.html
index 0a1aef1..3929665 100644
--- a/src/main/resources/templates/createCourse.html
+++ b/src/main/resources/templates/createCourse.html
@@ -9,10 +9,6 @@
 <h3>Create new Course</h3>
 
 <form th:action="@{/course/create}" th:object="${course}" method="post">
-    <div class="form-group">
-        <label for="idInput">Course Id</label>
-        <input th:field="*{courseId}" type="text" class="form-control" id="idInput" aria-describedby="idHelp" placeholder="Enter course' id">
-    </div>
     <div class="form-group">
         <label for="nameInput">Course Name</label>
         <input th:field="*{courseName}" type="text" class="form-control" id="nameInput" aria-describedby="nameHelp" placeholder="Enter course' name">
@@ -20,7 +16,7 @@
     <div class="form-group">
         <label for="vacancyStatus">Vacancy Status</label>
         <br>
-        <select id="vacancyStatus" name="Vacancy Status">
+        <select th:field="*{vacancyStatus}" id="vacancyStatus" name="Vacancy Status">
             <option value="True">True</option>
             <option value="False">False</option>
         </select>
-- 
GitLab