diff --git a/controllers/tourController.js b/controllers/tourController.js index ec7dd93fd78f6a8b93cea3bb25b649450896e357..03f8f77631c2631ca19888e47d3460d2d4e04d8a 100644 --- a/controllers/tourController.js +++ b/controllers/tourController.js @@ -150,12 +150,9 @@ exports.createTour = async (req, res) => { } try { - // เก็บ userId ในฐานข้อมูลเมื่อสร้างทัวร์ใหม่ - await pool.query( - 'INSERT INTO tours (name, description, price, duration, id) VALUES (?, ?, ?, ?, ?)', - [name, description, price, duration, req.session.userId] // ใช้ req.session.userId เป็น owner - ); - res.redirect('/'); + // ส่ง userId ที่เก็บไว้ใน session ไปพร้อมกับข้อมูลทัวร์ + await Tour.createTour(name, description, price, duration, req.session.userId); + res.redirect('/'); // กลับไปหน้าแรกหลังจากสร้างทัวร์ } catch (error) { console.error('Error creating tour:', error); res.status(500).send('เกิดข้อผิดพลาดในการสร้างทัวร์'); @@ -163,19 +160,20 @@ exports.createTour = async (req, res) => { }; // ฟังก์ชั่นสำหรับสร้างทัวร์ exports.postCreateTour = async (req, res) => { - const { name, description, price, duration } = req.body; - - if (!name || !price || !duration) { - return res.render('createtour', { message: 'ข้อมูลไม่ครบถ้วน' }); - } + const { name, description, price, duration } = req.body; - try { - await Tour.createTour(name, description, price, duration); // สร้างทัวร์ - res.redirect('/'); // กลับไปหน้าแรกหลังจากสร้างเสร็จ - } catch (error) { - console.error(error); - res.render('createtour', { message: 'เกิดข้อผิดพลาดในการสร้างทัวร์' }); - } + if (!name || !price || !duration) { + return res.render('createtour', { message: 'ข้อมูลไม่ครบถ้วน' }); + } + + try { + // ใช้ฟังก์ชันจากโมเดลในการสร้างทัวร์ + await Tour.createTour(name, description, price, duration, req.session.userId); + res.redirect('/'); // กลับไปหน้าแรกหลังจากสร้างเสร็จ + } catch (error) { + console.error(error); + res.render('createtour', { message: 'เกิดข้อผิดพลาดในการสร้างทัวร์' }); + } }; exports.getEditTour = async (req, res) => { try { diff --git a/models/tourModel.js b/models/tourModel.js index c33e1a7dcfe43a222251a927c4fab0adf342c18a..e88fb991fce2911b25b303724c638de1e801e3fc 100644 --- a/models/tourModel.js +++ b/models/tourModel.js @@ -34,21 +34,23 @@ class Tour { } // สร้างทัวร์ - static async createTour(name, description, price, duration) { + static async createTour(name, description, price, duration, userId) { // ตรวจสอบข้อมูล if (!name || !price || !duration) { throw new Error('ข้อมูลไม่ครบถ้วน กรุณากรอกข้อมูลให้ครบถ้วน'); } - const query = 'INSERT INTO tours (name, description, price, duration) VALUES (?, ?, ?, ?)'; + const query = 'INSERT INTO tours (name, description, price, duration, userId) VALUES (?, ?, ?, ?, ?)'; try { - await pool.execute(query, [name, description, price, duration]); + // บันทึกทัวร์พร้อมกับ userId ที่สร้างทัวร์ + await pool.execute(query, [name, description, price, duration, userId]); } catch (error) { console.error('Error creating tour:', error); throw new Error('เกิดข้อผิดพลาดในการสร้างทัวร์'); } } + // อัปเดตทัวร์ static async updateTour(id, tourData) {