wip cart handling
This commit is contained in:
@@ -2,6 +2,7 @@ package controllers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"net/http"
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
@@ -17,8 +18,8 @@ type CartItemController interface {
|
||||
//CRUDController
|
||||
CartItemView(*gin.Context)
|
||||
AddItemHandler(*gin.Context)
|
||||
//EditCartItemHandler(*gin.Context)
|
||||
//DeleteCartItemHandler(*gin.Context)
|
||||
DeleteItemHandler(*gin.Context)
|
||||
EditItemHandler(*gin.Context)
|
||||
}
|
||||
|
||||
type cartItemController struct {}
|
||||
@@ -49,10 +50,16 @@ func GetSessionId(ctx *gin.Context) string {
|
||||
|
||||
func (rc *cartItemController) NewCartItemFromForm(ctx *gin.Context) (models.CartItem, error) {
|
||||
sessionId := GetSessionId(ctx)
|
||||
shopItemId := ctx.PostForm("ShopItemId")
|
||||
shopItemIdStr := ctx.PostForm("ShopItemId")
|
||||
shopItemId, err := strconv.Atoi(shopItemIdStr)
|
||||
|
||||
if err != nil {
|
||||
return models.CartItem{}, err
|
||||
}
|
||||
|
||||
quantity := 1
|
||||
|
||||
shopItem, err := repositories.ShopItems.GetById(shopItemId)
|
||||
shopItem, err := repositories.ShopItems.GetById(shopItemIdStr)
|
||||
|
||||
if err != nil {
|
||||
return models.CartItem{}, err
|
||||
@@ -60,6 +67,7 @@ func (rc *cartItemController) NewCartItemFromForm(ctx *gin.Context) (models.Cart
|
||||
|
||||
cartItem := models.CartItem{
|
||||
SessionId: sessionId,
|
||||
ShopItemId: uint(shopItemId),
|
||||
ShopItem: shopItem,
|
||||
Quantity: quantity,
|
||||
}
|
||||
@@ -117,9 +125,10 @@ func (rc *cartItemController) Update(c *gin.Context) {
|
||||
//}
|
||||
|
||||
func (rc *cartItemController) CartItemView(c *gin.Context) {
|
||||
sessionId := GetSessionId(c)
|
||||
//sessionId := GetSessionId(c)
|
||||
|
||||
cartItems, err := repositories.CartItems.GetAllBySession(sessionId)
|
||||
//cartItems, err := repositories.CartItems.GetAllBySession(sessionId)
|
||||
cartItems, err := repositories.CartItems.GetAll()
|
||||
|
||||
if err != nil {
|
||||
c.HTML(http.StatusBadRequest, "cart.html", gin.H{ "data": gin.H{ "error": err } })
|
||||
@@ -157,77 +166,53 @@ func (rc *cartItemController) AddItemHandler(c *gin.Context) {
|
||||
rc.CartItemView(c)
|
||||
}
|
||||
|
||||
func (rc *cartItemController) DeleteItemHandler(c *gin.Context) {
|
||||
err := repositories.CartItems.DeleteById(c.PostForm("id"))
|
||||
|
||||
//func (rc *cartItemController) EditItemHandler(c *gin.Context) {
|
||||
// cartItem, err := rc.NewCartItemFromForm(c)
|
||||
//
|
||||
// if err != nil {
|
||||
// c.HTML(http.StatusBadRequest, "edititem.html", gin.H{ "error": err })
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// newCartItem, err := repositories.ShopItems.GetById(c.Param("id"))
|
||||
//
|
||||
// if err != nil {
|
||||
// c.HTML(http.StatusBadRequest, "edititem.html", gin.H{ "error": err })
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// newCartItem.Name = cartItem.Name
|
||||
// newCartItem.Abstract = cartItem.Abstract
|
||||
// newCartItem.Description = cartItem.Description
|
||||
// newCartItem.Price = cartItem.Price
|
||||
// newCartItem.IsPublic = cartItem.IsPublic
|
||||
// newCartItem.Tags = cartItem.Tags
|
||||
//
|
||||
// tags, err := repositories.Tags.GetAll()
|
||||
// if err != nil {
|
||||
// c.HTML(http.StatusBadRequest, "edititem.html", gin.H{ "error": err })
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// _, err = repositories.CartItems.Update(newShopItem)
|
||||
// if err != nil {
|
||||
// data := CreateSessionData(c, gin.H{
|
||||
// "error": err,
|
||||
// "success": "",
|
||||
// "tags": tags,
|
||||
// })
|
||||
//
|
||||
// c.HTML(http.StatusOK, "edititem.html", data)
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// data := CreateSessionData(c, gin.H{
|
||||
// "error": "",
|
||||
// "success": fmt.Sprintf("Item '%s' Updated", newCartItem.Name),
|
||||
// "tags": tags,
|
||||
// })
|
||||
//
|
||||
// c.HTML(http.StatusOK, "edititem.html", data)
|
||||
//}
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
data := CreateSessionData(c, gin.H{
|
||||
"error": err,
|
||||
"success": "",
|
||||
})
|
||||
|
||||
//func (rc *cartItemController) DeleteItemHandler(c *gin.Context) {
|
||||
// err := repositories.CartItems.DeleteById(c.Param("id"))
|
||||
//
|
||||
// if err != nil {
|
||||
// data := CreateSessionData(c, gin.H{
|
||||
// "error": err,
|
||||
// "success": "",
|
||||
// })
|
||||
//
|
||||
// c.HTML(http.StatusOK, "deleteitem.html", data)
|
||||
// }
|
||||
//
|
||||
// cartItems, _ := repositories.CartItems.GetAll()
|
||||
// fmt.Println(len(cartItems))
|
||||
//
|
||||
// data := CreateSessionData(c, gin.H{
|
||||
// "title": "cartItem Page",
|
||||
// "cartItems": shopItems,
|
||||
// })
|
||||
//
|
||||
// fmt.Println(data)
|
||||
//
|
||||
// c.HTML(http.StatusOK, "index.html", data)
|
||||
//}
|
||||
c.HTML(http.StatusOK, "index.html", data)
|
||||
}
|
||||
|
||||
rc.CartItemView(c)
|
||||
}
|
||||
|
||||
func (rc *cartItemController) EditItemHandler(c *gin.Context) {
|
||||
cartItemId := c.PostForm("id")
|
||||
cartItem, err := repositories.CartItems.GetById(cartItemId)
|
||||
|
||||
if err != nil {
|
||||
fmt.Println("BLAA")
|
||||
fmt.Println(err)
|
||||
rc.CartItemView(c)
|
||||
return
|
||||
}
|
||||
|
||||
action := c.PostForm("action")
|
||||
|
||||
if action == "increase" {
|
||||
cartItem.Quantity += 1
|
||||
}
|
||||
|
||||
if action == "decrease" {
|
||||
cartItem.Quantity -= 1
|
||||
|
||||
if cartItem.Quantity == 0 {
|
||||
cartItem.Quantity = 1
|
||||
}
|
||||
}
|
||||
|
||||
_, err = repositories.CartItems.Update(cartItem)
|
||||
|
||||
if err != nil {
|
||||
fmt.Println("BLUB")
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
rc.CartItemView(c)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user