diff --git a/internal/server/handle_payments.go b/internal/server/handle_payments.go
index e234ab8..90576a0 100644
--- a/internal/server/handle_payments.go
+++ b/internal/server/handle_payments.go
@@ -27,7 +27,9 @@ func handleCreatePayment(bs *booking.Service) echo.HandlerFunc {
}
np := new(CreatePaymentInput)
- c.Bind(np)
+ if err := c.Bind(np); err != nil {
+ return err
+ }
b := bs.One(id)
@@ -38,26 +40,15 @@ func handleCreatePayment(bs *booking.Service) echo.HandlerFunc {
nb := bs.One(id)
- return renderTempl(c, http.StatusOK, view.ItemList(view.ItemListViewModel{
- Items: u.Map(nb.Items, func(i booking.Item) view.ItemViewModel {
- return view.ItemViewModel{
- Id: strconv.Itoa(i.Id),
- Item: i.Item,
- Quantity: strconv.Itoa(i.Quantity),
- Price: strconv.FormatFloat(i.Price, 'f', 2, 64),
- SubTotal: strconv.FormatFloat(i.Price*float64(i.Quantity), 'f', 2, 64),
- PaymentStatus: i.PaymentStatus,
- ItemUrl: fmt.Sprintf("%s/%d", constant.RouteItem, i.Id),
- }
- }),
- Payments: u.Map(nb.Payments, func(p booking.Payment) view.PaymentViewModel {
- return view.PaymentViewModel{
+ return renderTempl(c, http.StatusOK, view.PaymentList(
+ u.Map(nb.Payments, func(p booking.Payment) *view.PaymentViewModel {
+ return &view.PaymentViewModel{
Amount: strconv.FormatFloat(p.Amount, 'f', 2, 64),
PaymentMethod: p.PaymentMethod,
PaymentUrl: fmt.Sprintf("%s/%d", constant.RoutePayment, p.ID),
}
}),
- }))
+ ))
}
}
diff --git a/internal/view/booking_by_id.templ b/internal/view/booking_by_id.templ
index ea8148d..2644263 100644
--- a/internal/view/booking_by_id.templ
+++ b/internal/view/booking_by_id.templ
@@ -135,7 +135,7 @@ templ PaymentModal(paymentUrl string) {
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\" hx-target=\"#payment-lines\" hx-swap=\"outerHTML\" hx-on::after-request=\"if(event.detail.successful) payment_modal.close()\">
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/internal/view/item_list.templ b/internal/view/item_list.templ
index 239dd9e..5d08fb0 100644
--- a/internal/view/item_list.templ
+++ b/internal/view/item_list.templ
@@ -16,19 +16,10 @@ templ ItemList(itemList ItemListViewModel) {
|
-
+
if len(itemList.Payments) >0 {
for _,payment := range itemList.Payments {
-
- |
- |
- - { payment.Amount } |
- { payment.PaymentMethod } |
- |
-
-
- |
-
+ @PaymentLine(&payment)
}
}
diff --git a/internal/view/item_list_templ.go b/internal/view/item_list_templ.go
index d9841f1..93dd29d 100644
--- a/internal/view/item_list_templ.go
+++ b/internal/view/item_list_templ.go
@@ -39,58 +39,19 @@ func ItemList(itemList ItemListViewModel) templ.Component {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, " | | Price (€) | Payment Method | Sub-total (€) | |
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, " | | Price (€) | Payment Method | Sub-total (€) | |
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len(itemList.Payments) > 0 {
for _, payment := range itemList.Payments {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, " | | - ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var2 string
- templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(payment.Amount)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/item_list.templ`, Line: 25, Col: 27}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, " | ")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var3 string
- templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(payment.PaymentMethod)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/item_list.templ`, Line: 26, Col: 32}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, " | | |
")
+ templ_7745c5c3_Err = PaymentLine(&payment).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/internal/view/payment.templ b/internal/view/payment.templ
index f431fbc..593e89a 100644
--- a/internal/view/payment.templ
+++ b/internal/view/payment.templ
@@ -8,7 +8,12 @@ templ PaymentLine(payment *PaymentViewModel) {
{ payment.PaymentMethod } |
|
-
+
|
}
@@ -19,21 +24,21 @@ templ PaymentForm(payment *PaymentViewModel) {
|
|
-
|
-
|
@@ -43,4 +48,14 @@ templ PaymentForm(payment *PaymentViewModel) {
-}
\ No newline at end of file
+}
+
+templ PaymentList(payments []*PaymentViewModel) {
+
+ if len(payments) >0 {
+ for _,payment := range payments {
+ @PaymentLine(payment)
+ }
+ }
+
+}
diff --git a/internal/view/payment_templ.go b/internal/view/payment_templ.go
index cd577ff..21c6cbd 100644
--- a/internal/view/payment_templ.go
+++ b/internal/view/payment_templ.go
@@ -62,7 +62,7 @@ func PaymentLine(payment *PaymentViewModel) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(payment.PaymentUrl)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/payment.templ`, Line: 11, Col: 69}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/payment.templ`, Line: 13, Col: 31}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@@ -104,7 +104,7 @@ func PaymentForm(payment *PaymentViewModel) templ.Component {
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(payment.PaymentUrl)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/payment.templ`, Line: 18, Col: 35}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/payment.templ`, Line: 23, Col: 35}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil {
@@ -117,7 +117,7 @@ func PaymentForm(payment *PaymentViewModel) templ.Component {
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(payment.Amount)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/payment.templ`, Line: 27, Col: 27}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/payment.templ`, Line: 32, Col: 27}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
@@ -130,7 +130,7 @@ func PaymentForm(payment *PaymentViewModel) templ.Component {
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(payment.PaymentMethod)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/payment.templ`, Line: 35, Col: 34}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/view/payment.templ`, Line: 40, Col: 34}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
@@ -144,4 +144,45 @@ func PaymentForm(payment *PaymentViewModel) templ.Component {
})
}
+func PaymentList(payments []*PaymentViewModel) templ.Component {
+ return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
+ if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
+ return templ_7745c5c3_CtxErr
+ }
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
+ if !templ_7745c5c3_IsBuffer {
+ defer func() {
+ templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err == nil {
+ templ_7745c5c3_Err = templ_7745c5c3_BufErr
+ }
+ }()
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var9 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var9 == nil {
+ templ_7745c5c3_Var9 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ if len(payments) > 0 {
+ for _, payment := range payments {
+ templ_7745c5c3_Err = PaymentLine(payment).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ }
+ }
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ return nil
+ })
+}
+
var _ = templruntime.GeneratedTemplate