fix #7 Order is empty bug
This commit is contained in:
@@ -170,7 +170,7 @@ func (rc *cartItemController) NewOrderFromForm(ctx *gin.Context) (models.Order,
|
||||
return models.Order{}, err
|
||||
}
|
||||
|
||||
cartItem := models.Order{
|
||||
order := models.Order{
|
||||
SessionId: sessionId,
|
||||
Status: status,
|
||||
Token: token,
|
||||
@@ -186,7 +186,7 @@ func (rc *cartItemController) NewOrderFromForm(ctx *gin.Context) (models.Order,
|
||||
CartItems: cartItems,
|
||||
}
|
||||
|
||||
return cartItem, nil
|
||||
return order, nil
|
||||
}
|
||||
|
||||
func (rc *cartItemController) Create(c *gin.Context) {
|
||||
@@ -360,21 +360,31 @@ func (rc *cartItemController) CheckoutHandler(c *gin.Context) {
|
||||
existingOrder, err := repositories.Orders.GetBySession(order.SessionId)
|
||||
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
_, err = repositories.Orders.Create(order)
|
||||
fmt.Println("Creating Order")
|
||||
createdOrder, err := repositories.Orders.Create(order)
|
||||
|
||||
if err != nil {
|
||||
data := CreateSessionData(c, gin.H{
|
||||
"error": err,
|
||||
"success": "",
|
||||
})
|
||||
|
||||
c.HTML(http.StatusOK, "error.html", data)
|
||||
return
|
||||
}
|
||||
|
||||
for _, cartItem := range order.CartItems {
|
||||
cartItem.OrderID = createdOrder.ID
|
||||
repositories.CartItems.Update(cartItem)
|
||||
}
|
||||
} else if err == nil {
|
||||
fmt.Println("Updating Order")
|
||||
order.ID = existingOrder.ID
|
||||
order.CreatedAt = existingOrder.CreatedAt
|
||||
repositories.Orders.Update(order)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
data := CreateSessionData(c, gin.H{
|
||||
"error": err,
|
||||
"success": "",
|
||||
})
|
||||
|
||||
c.HTML(http.StatusOK, "cart.html", data)
|
||||
return
|
||||
_, err := repositories.Orders.Update(order)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
}
|
||||
|
||||
shipping, err := models.GetShippingMethod(order.Shipping)
|
||||
@@ -384,7 +394,7 @@ func (rc *cartItemController) CheckoutHandler(c *gin.Context) {
|
||||
"success": "",
|
||||
})
|
||||
|
||||
c.HTML(http.StatusOK, "cart.html", data)
|
||||
c.HTML(http.StatusOK, "error.html", data)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -395,7 +405,7 @@ func (rc *cartItemController) CheckoutHandler(c *gin.Context) {
|
||||
"success": "",
|
||||
})
|
||||
|
||||
c.HTML(http.StatusOK, "cart.html", data)
|
||||
c.HTML(http.StatusOK, "error.html", data)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user