wip: recurring transactions
Some checks failed
Build Docker Image / Build-Docker-Image (push) Has been cancelled
Some checks failed
Build Docker Image / Build-Docker-Image (push) Has been cancelled
This commit is contained in:
@@ -17,14 +17,12 @@ type TransactionRecurring interface {
|
|||||||
|
|
||||||
type TransactionRecurringImpl struct {
|
type TransactionRecurringImpl struct {
|
||||||
s service.TransactionRecurring
|
s service.TransactionRecurring
|
||||||
a service.Auth
|
|
||||||
r *Render
|
r *Render
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewTransactionRecurring(s service.TransactionRecurring, a service.Auth, r *Render) TransactionRecurring {
|
func NewTransactionRecurring(s service.TransactionRecurring, r *Render) TransactionRecurring {
|
||||||
return TransactionRecurringImpl{
|
return TransactionRecurringImpl{
|
||||||
s: s,
|
s: s,
|
||||||
a: a,
|
|
||||||
r: r,
|
r: r,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2
main.go
2
main.go
@@ -124,12 +124,14 @@ func createHandler(d *sqlx.DB, serverSettings *types.Settings) http.Handler {
|
|||||||
accountHandler := handler.NewAccount(accountService, render)
|
accountHandler := handler.NewAccount(accountService, render)
|
||||||
treasureChestHandler := handler.NewTreasureChest(treasureChestService, transactionRecurringService, render)
|
treasureChestHandler := handler.NewTreasureChest(treasureChestService, transactionRecurringService, render)
|
||||||
transactionHandler := handler.NewTransaction(transactionService, accountService, treasureChestService, render)
|
transactionHandler := handler.NewTransaction(transactionService, accountService, treasureChestService, render)
|
||||||
|
transactionRecurringHandler := handler.NewTransactionRecurring(transactionRecurringService, render)
|
||||||
|
|
||||||
indexHandler.Handle(router)
|
indexHandler.Handle(router)
|
||||||
accountHandler.Handle(router)
|
accountHandler.Handle(router)
|
||||||
treasureChestHandler.Handle(router)
|
treasureChestHandler.Handle(router)
|
||||||
authHandler.Handle(router)
|
authHandler.Handle(router)
|
||||||
transactionHandler.Handle(router)
|
transactionHandler.Handle(router)
|
||||||
|
transactionRecurringHandler.Handle(router)
|
||||||
|
|
||||||
// Serve static files (CSS, JS and images)
|
// Serve static files (CSS, JS and images)
|
||||||
router.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static/"))))
|
router.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./static/"))))
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ templ TransactionRecurringItem(transactionRecurring *types.TransactionRecurring)
|
|||||||
<p class="mr-8 w-22 text-right text-green-700">{ displayBalance(transactionRecurring.Value)+" €" }</p>
|
<p class="mr-8 w-22 text-right text-green-700">{ displayBalance(transactionRecurring.Value)+" €" }</p>
|
||||||
}
|
}
|
||||||
<button
|
<button
|
||||||
hx-get={ "/transaction/" + transactionRecurring.Id.String() + "?edit=true" }
|
hx-get={ "/transaction-recurring/" + transactionRecurring.Id.String() + "?edit=true" }
|
||||||
hx-target="closest #transaction"
|
hx-target="closest #transaction"
|
||||||
hx-swap="outerHTML"
|
hx-swap="outerHTML"
|
||||||
class="button button-neglect px-1 flex items-center gap-2"
|
class="button button-neglect px-1 flex items-center gap-2"
|
||||||
@@ -45,7 +45,7 @@ templ TransactionRecurringItem(transactionRecurring *types.TransactionRecurring)
|
|||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
hx-delete={ "/transaction/" + transactionRecurring.Id.String() }
|
hx-delete={ "/transaction-recurring/" + transactionRecurring.Id.String() }
|
||||||
hx-target="closest #transaction"
|
hx-target="closest #transaction"
|
||||||
hx-swap="outerHTML"
|
hx-swap="outerHTML"
|
||||||
hx-confirm="Are you sure you want to delete this transaction?"
|
hx-confirm="Are you sure you want to delete this transaction?"
|
||||||
@@ -77,12 +77,12 @@ templ EditTransactionRecurring(transactionRecurring *types.TransactionRecurring,
|
|||||||
value = displayBalance(transactionRecurring.Value)
|
value = displayBalance(transactionRecurring.Value)
|
||||||
|
|
||||||
id = transactionRecurring.Id.String()
|
id = transactionRecurring.Id.String()
|
||||||
cancelUrl = "/transaction/" + id
|
cancelUrl = "/transaction-recurring/" + id
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
<div id="transaction" class="border-1 border-gray-300 w-full my-4 p-4 bg-gray-50 rounded-lg">
|
<div id="transaction" class="border-1 border-gray-300 w-full my-4 p-4 bg-gray-50 rounded-lg">
|
||||||
<form
|
<form
|
||||||
hx-post={ "/transaction/" + id }
|
hx-post={ "/transaction-recurring/" + id }
|
||||||
hx-target="closest #transaction"
|
hx-target="closest #transaction"
|
||||||
hx-swap="outerHTML"
|
hx-swap="outerHTML"
|
||||||
class="text-xl flex justify-end gap-4 items-center"
|
class="text-xl flex justify-end gap-4 items-center"
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ templ EditTreasureChest(treasureChest *types.TreasureChest, parents []*types.Tre
|
|||||||
<div class="flex">
|
<div class="flex">
|
||||||
<h3 class="text-sm text-gray-500">Monthly Transactions</h3>
|
<h3 class="text-sm text-gray-500">Monthly Transactions</h3>
|
||||||
<button
|
<button
|
||||||
hx-get="/transaction-rucurring/new"
|
hx-get="/transaction-recurring/new"
|
||||||
hx-target="#transaction-recurring-items"
|
hx-target="#transaction-recurring-items"
|
||||||
hx-swap="afterbegin"
|
hx-swap="afterbegin"
|
||||||
class="button button-primary ml-auto px-2 flex items-center gap-2"
|
class="button button-primary ml-auto px-2 flex items-center gap-2"
|
||||||
|
|||||||
Reference in New Issue
Block a user