From 948991514384536c972fe71172884dd4c2b74ea2 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Sun, 19 Jan 2025 15:32:17 +0100 Subject: [PATCH] stash: payments per line item --- internal/server/handle_bookings.go | 1 + internal/server/handle_payments.go | 6 +- internal/server/routes.go | 2 +- internal/view/item_viewmodel.go | 1 + internal/view/line_item.templ | 2 +- internal/view/line_item_templ.go | 127 +++++++++++++++------------ internal/view/payment_modal.templ | 17 ---- internal/view/payment_modal_templ.go | 40 --------- 8 files changed, 76 insertions(+), 120 deletions(-) delete mode 100644 internal/view/payment_modal.templ delete mode 100644 internal/view/payment_modal_templ.go diff --git a/internal/server/handle_bookings.go b/internal/server/handle_bookings.go index 7598eda..22fa346 100644 --- a/internal/server/handle_bookings.go +++ b/internal/server/handle_bookings.go @@ -147,6 +147,7 @@ func handleBookingPage(bs *booking.Service, hc *config.Host) echo.HandlerFunc { SubTotal: strconv.FormatFloat(i.Price*float64(i.Quantity), 'f', 2, 64), PaymentStatus: i.PaymentStatus, ItemUrl: fmt.Sprintf("%s/%d", constant.RouteItem, i.Id), + PaymentUrl: fmt.Sprintf("%s/%d", constant.RoutePayment, b.Id), Payments: []view.Payment{ { Amount: "12.00", diff --git a/internal/server/handle_payments.go b/internal/server/handle_payments.go index 4c3d1a2..0d6e0ca 100644 --- a/internal/server/handle_payments.go +++ b/internal/server/handle_payments.go @@ -2,16 +2,14 @@ package server import ( "log" - "net/http" "strconv" "github.com/labstack/echo/v4" "github.com/rjNemo/rentease/internal/service/booking" - "github.com/rjNemo/rentease/internal/view" ) -func handleCreatePaymentModal(bs *booking.Service) echo.HandlerFunc { +func handleCreatePayment(bs *booking.Service) echo.HandlerFunc { return func(c echo.Context) error { idStr := c.Param("id") id, err := strconv.Atoi(idStr) @@ -22,6 +20,6 @@ func handleCreatePaymentModal(bs *booking.Service) echo.HandlerFunc { b := bs.One(id) log.Println(b) - return renderTempl(c, http.StatusOK, view.PaymentModal(b.Id)) + return nil } } diff --git a/internal/server/routes.go b/internal/server/routes.go index e03fced..45a96c3 100644 --- a/internal/server/routes.go +++ b/internal/server/routes.go @@ -40,5 +40,5 @@ func (s Server) MountHandlers() { private.GET("/reports/do", handleReportCompute(s.bs, s.hc)) private.GET("/reports/pdf", handlePdfCreateReport(s.bs)) - private.GET("/payments/modal/:id", handleCreatePaymentModal(s.bs)) + private.POST("/payments/:id", handleCreatePayment(s.bs)) } diff --git a/internal/view/item_viewmodel.go b/internal/view/item_viewmodel.go index 92e72d7..2baf2bd 100644 --- a/internal/view/item_viewmodel.go +++ b/internal/view/item_viewmodel.go @@ -8,6 +8,7 @@ type ItemViewModel struct { Price string SubTotal string PaymentStatus string + PaymentUrl string ItemUrl string Payments []Payment } diff --git a/internal/view/line_item.templ b/internal/view/line_item.templ index 05abc7f..a8b65cd 100644 --- a/internal/view/line_item.templ +++ b/internal/view/line_item.templ @@ -14,7 +14,7 @@ templ LineItem(item *ItemViewModel) {