From 268885a7c39d21f37e851c98bc26f5ccfb5b3372 Mon Sep 17 00:00:00 2001 From: 65160270 <65160270@go.buu.ac.th> Date: Sun, 23 Mar 2025 00:10:00 +0700 Subject: [PATCH] update-address --- shop-routes/order.js | 32 +++++++++++++++++++++++++++++--- views/confirmation.ejs | 19 +++++++++++++------ views/order-details.ejs | 6 ++++++ 3 files changed, 48 insertions(+), 9 deletions(-) diff --git a/shop-routes/order.js b/shop-routes/order.js index d934947..acea568 100644 --- a/shop-routes/order.js +++ b/shop-routes/order.js @@ -200,8 +200,34 @@ router.post('/create', isAuthenticated, async (req, res) => { } }); -router.get('/confirmation', (req, res) => { - res.render('confirmation'); -}); + router.get('/confirmation', async (req, res) => { + try { + if (!req.session.user || !req.session.user.id) { + return res.status(400).send("กรุณา Login ก่อน"); + } + + console.log("🔹 Fetching last order for User ID:", req.session.user.id); + + const [orderResults] = await pool.query( + `SELECT id, shipping_address + FROM orders + WHERE user_id = ? + ORDER BY created_at DESC + LIMIT 1`, + [req.session.user.id] + ); + + if (orderResults.length === 0) { + console.log("ไม่พบคำสั่งซื้อ"); + return res.status(404).send("ไม่พบคำสั่งซื้อ"); + } + + console.log("Order found:", orderResults[0]); + res.render('confirmation', { order: orderResults[0] }); // ✅ ส่ง `order` ไปที่ View + } catch (error) { + console.error("Error fetching order confirmation:", error); + res.status(500).send("เกิดข้อผิดพลาด"); + } + }); module.exports = router; \ No newline at end of file diff --git a/views/confirmation.ejs b/views/confirmation.ejs index a491ad2..551a701 100644 --- a/views/confirmation.ejs +++ b/views/confirmation.ejs @@ -15,27 +15,34 @@ <button id="save-btn" style="display:none;">บันทึก</button> </div> <script> + // Debug Log: ตรวจสอบว่า order ถูกส่งมาหรือไม่ + console.log("Order ID:", "<%= order ? order.id : 'Not Found' %>"); + console.log("Shipping Address:", "<%= order ? order.shipping_address : 'Not Found' %>"); + + const orderId = "<%= order ? order.id : '' %>"; + if (!orderId) { + alert("เกิดข้อผิดพลาด: ไม่พบหมายเลขคำสั่งซื้อ"); + } + document.getElementById("edit-btn").addEventListener("click", function() { document.getElementById("new-address").style.display = "inline"; document.getElementById("save-btn").style.display = "inline"; document.getElementById("edit-btn").style.display = "none"; // ซ่อนปุ่มแก้ไข }); - + document.getElementById("save-btn").addEventListener("click", async function() { const newAddress = document.getElementById("new-address").value.trim(); if (!newAddress) { alert("กรุณากรอกที่อยู่ใหม่"); return; } - - const orderId = "<%= order.id %>"; - + const response = await fetch(`/order/detail/${orderId}`, { // แก้ให้ตรง API method: "PUT", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ shipping_address: newAddress }) }); - + if (response.ok) { document.getElementById("shipping-address").innerText = newAddress; document.getElementById("new-address").style.display = "none"; @@ -46,5 +53,5 @@ alert("เกิดข้อผิดพลาด!"); } }); - </script> +</script> <%- include('partials/footer') %> \ No newline at end of file diff --git a/views/order-details.ejs b/views/order-details.ejs index 45cf64f..e1cbbd4 100644 --- a/views/order-details.ejs +++ b/views/order-details.ejs @@ -42,4 +42,10 @@ <a href="/" class="continue-shopping">Continue Shopping</a> </div> </div> +<script> + const orderId = "<%= order ? order.id : '' %>"; + if (!orderId) { + alert("เกิดข้อผิดพลาด: ไม่พบหมายเลขคำสั่งซื้อ"); + } +</script> <%- include('partials/footer') %> \ No newline at end of file -- GitLab