From 7cb14280465135b1db84b84b4253436eac798a9f Mon Sep 17 00:00:00 2001
From: Atiwit Pattanapukdee <65160394@go.buu.ac.th>
Date: Tue, 18 Mar 2025 12:35:17 +0700
Subject: [PATCH] Project Round 3

---
 controllers/tourController.js | 33 ++++++++++++++++++---------------
 views/createtour.ejs          | 10 +++++-----
 2 files changed, 23 insertions(+), 20 deletions(-)

diff --git a/controllers/tourController.js b/controllers/tourController.js
index cb73abc..5bffada 100644
--- a/controllers/tourController.js
+++ b/controllers/tourController.js
@@ -83,21 +83,24 @@ exports.Logout = (req, res) => {
 //CRUD
 // ฟังก์ชั่นสำหรับแสดงฟอร์มสร้างทัวร์
 exports.getCreateTour = (req, res) => {
-    res.render('createtour', { message: null }); // แสดงฟอร์มสร้างทัวร์
-  };
-  
-  exports.createTour = async (req, res) => {
+    res.render('createtour', { message: null }); // ไม่ต้องดึงข้อมูลทัวร์ใด ๆ
+};
+
+exports.createTour = async (req, res) => {
     const { name, description, price, duration } = req.body;
-  
+
     try {
-      // สร้างทัวร์ใหม่ในฐานข้อมูล
-      await Tour.createTour({ name, description, price, duration });
-      res.redirect('/'); // ไปยังหน้าหลักหลังจากสร้างทัวร์เสร็จ
+        if (!name || !description || !price || !duration) {
+            return res.render('createtour', { message: 'All fields are required!' });
+        }
+
+        await Tour.createTour({ name, description, price, duration }); // เพิ่มข้อมูลทัวร์
+        res.redirect('/'); // หลังจากสร้างเสร็จให้กลับไปที่หน้าแรก
     } catch (error) {
-      console.error(error);
-      res.render('createtour', { message: error.message }); // แสดงข้อความข้อผิดพลาด
+        console.error('Error creating tour:', error);
+        res.render('createtour', { message: 'Error creating tour' });
     }
-  };
+};
 // ฟังก์ชั่นสำหรับสร้างทัวร์
 exports.postCreateTour = async (req, res) => {
     const { name, description, price, duration } = req.body;
@@ -113,7 +116,7 @@ exports.postCreateTour = async (req, res) => {
       console.error(error);
       res.render('createtour', { message: 'เกิดข้อผิดพลาดในการสร้างทัวร์' });
     }
-  };
+};
   exports.getEditTour = async (req, res) => {
     try {
       const tour = await Tour.getTourById(req.params.id);
@@ -122,7 +125,7 @@ exports.postCreateTour = async (req, res) => {
     } catch (error) {
       res.status(500).send('เกิดข้อผิดพลาด');
     }
-  };
+};
   
   exports.postEditTour = async (req, res) => {
     const { name, description, price, duration } = req.body;
@@ -134,7 +137,7 @@ exports.postCreateTour = async (req, res) => {
     } catch (error) {
       res.status(500).send('เกิดข้อผิดพลาดในการแก้ไขทัวร์');
     }
-  };
+};
   exports.deleteTour = async (req, res) => {
     try {
       await Tour.deleteTour(req.params.id); // คำสั่งในการลบทัวร์
@@ -142,5 +145,5 @@ exports.postCreateTour = async (req, res) => {
     } catch (error) {
       res.status(500).send('เกิดข้อผิดพลาดในการลบทัวร์');
     }
-  };
+};
     
diff --git a/views/createtour.ejs b/views/createtour.ejs
index 95ebcfe..3adfe0c 100644
--- a/views/createtour.ejs
+++ b/views/createtour.ejs
@@ -15,19 +15,19 @@
         <form action="/tour/create" method="POST">
             <div>
                 <label for="tourName">Tour Name:</label>
-                <input type="text" id="tourName" name="tourName" required>
+                <input type="text" id="tourName" name="name" required>
             </div>
             <div>
                 <label for="tourDescription">Description:</label>
-                <textarea id="tourDescription" name="tourDescription" required></textarea>
+                <textarea id="tourDescription" name="description" required></textarea>
             </div>
             <div>
                 <label for="tourPrice">Price:</label>
-                <input type="number" id="tourPrice" name="tourPrice" required>
+                <input type="number" id="tourPrice" name="price" required>
             </div>
             <div>
-                <label for="tourDate">Date:</label>
-                <input type="date" id="tourDate" name="tourDate" required>
+                <label for="tourDuration">Duration (days):</label>
+                <input type="number" id="tourDuration" name="duration" required>
             </div>
             <button type="submit">Create Tour</button>
         </form>
-- 
GitLab