Implement account editing and autocomplete

This commit is contained in:
Jan Bader 2022-04-22 21:33:52 +00:00 committed by Gitea
parent 75a1839456
commit d22816dfd1
4 changed files with 32 additions and 0 deletions

View File

@ -9,6 +9,28 @@ import (
"github.com/google/uuid"
)
func (h *Handler) autocompleteAccounts(c *gin.Context) {
budgetID := c.Param("budgetid")
budgetUUID, err := uuid.Parse(budgetID)
if err != nil {
c.AbortWithStatusJSON(http.StatusBadRequest, ErrorResponse{"budgetid missing from URL"})
return
}
query := c.Request.URL.Query().Get("s")
searchParams := postgres.SearchAccountsParams{
BudgetID: budgetUUID,
Search: "%" + query + "%",
}
categories, err := h.Service.SearchAccounts(c.Request.Context(), searchParams)
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return
}
c.JSON(http.StatusOK, categories)
}
func (h *Handler) autocompleteCategories(c *gin.Context) {
budgetID := c.Param("budgetid")
budgetUUID, err := uuid.Parse(budgetID)

View File

@ -65,6 +65,7 @@ func (h *Handler) LoadRoutes(router *gin.Engine) {
budget.GET("/:budgetid/:year/:month", h.budgetingForMonth)
budget.POST("/:budgetid/category/:categoryid/:year/:month", h.setCategoryAssignment)
budget.GET("/:budgetid/autocomplete/payees", h.autocompletePayee)
budget.GET("/:budgetid/autocomplete/accounts", h.autocompleteAccounts)
budget.GET("/:budgetid/autocomplete/categories", h.autocompleteCategories)
budget.GET("/:budgetid/problematic-transactions", h.problematicTransactions)
budget.DELETE("/:budgetid", h.deleteBudget)

View File

@ -9,6 +9,7 @@ import Button from "./SimpleButton.vue";
const props = defineProps<{
transactionid: string
withAccount: bool
}>()
const emit = defineEmits(["save"]);
@ -45,6 +46,13 @@ function saveTransaction(e: MouseEvent) {
class="border-b-2 border-black"
/>
</td>
<td v-if="withAccount">
<Autocomplete
v-model:text="TX.Account"
v-model:id="TX.AccountID"
model="accounts"
/>
</td>
<td>
<Autocomplete
v-model:text="TX.Payee"

View File

@ -75,6 +75,7 @@ function getStatusSymbol() {
<TransactionEditRow
v-if="edit"
:transactionid="TX.ID"
:withAccount="withAccount"
@save="edit = false"
/>
</template>