add order/:token/print
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
||||
type PrintController interface {
|
||||
PrintVariantView(*gin.Context)
|
||||
PrintCartView(*gin.Context)
|
||||
PrintOrderView(*gin.Context)
|
||||
PrintHandler(*gin.Context)
|
||||
}
|
||||
|
||||
@@ -79,6 +80,33 @@ func (rc *printController) PrintCartView(c *gin.Context) {
|
||||
c.HTML(http.StatusOK, "printvariant.html", data)
|
||||
}
|
||||
|
||||
func (rc *printController) PrintOrderView(c *gin.Context) {
|
||||
order, err := repositories.Orders.GetByToken(c.Param("token"))
|
||||
|
||||
if err != nil {
|
||||
c.HTML(http.StatusBadRequest, "error.html", gin.H{"data": gin.H{"error": err}})
|
||||
return
|
||||
}
|
||||
|
||||
cartItems := order.CartItems
|
||||
|
||||
type ShopItemVariantPair struct {
|
||||
ShopItem models.ShopItem
|
||||
ItemVariant models.ItemVariant
|
||||
}
|
||||
|
||||
var items []ShopItemVariantPair
|
||||
for _, cartItem := range cartItems {
|
||||
items = append(items, ShopItemVariantPair{ShopItem: cartItem.ShopItem, ItemVariant: cartItem.ItemVariant})
|
||||
}
|
||||
|
||||
data := CreateSessionData(c, gin.H{
|
||||
"itemVariants": items,
|
||||
})
|
||||
|
||||
c.HTML(http.StatusOK, "printvariant.html", data)
|
||||
}
|
||||
|
||||
func (rc *printController) PrintHandler(c *gin.Context) {
|
||||
variantIds := c.PostFormArray("variant-id[]")
|
||||
variantAmounts := c.PostFormArray("variant-amount[]")
|
||||
|
||||
Reference in New Issue
Block a user