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