From b7578a56df6bf556759ac7715d29105355082996 Mon Sep 17 00:00:00 2001 From: jordi fita mas Date: Tue, 11 Jul 2023 15:26:23 +0200 Subject: [PATCH] Refactor getting the invoice status options in a single function --- pkg/invoices.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/invoices.go b/pkg/invoices.go index ffc7243..1f3679d 100644 --- a/pkg/invoices.go +++ b/pkg/invoices.go @@ -152,7 +152,7 @@ func newInvoiceFilterForm(ctx context.Context, conn *Conn, locale *Locale, compa Name: "invoice_status", Label: pgettext("input", "Invoice Status", locale), EmptyLabel: gettext("All status", locale), - Options: MustGetOptions(ctx, conn, "select invoice_status.invoice_status, isi18n.name from invoice_status join invoice_status_i18n isi18n using(invoice_status) where isi18n.lang_tag = $1 order by invoice_status", locale.Language.String()), + Options: mustGetInvoiceStatusOptions(ctx, conn, locale), }, InvoiceNumber: &InputField{ Name: "number", @@ -691,7 +691,7 @@ func newInvoiceForm(ctx context.Context, conn *Conn, locale *Locale, company *Co Required: true, Label: pgettext("input", "Invoice Status", locale), Selected: []string{"created"}, - Options: MustGetOptions(ctx, conn, "select invoice_status.invoice_status, isi18n.name from invoice_status join invoice_status_i18n isi18n using(invoice_status) where isi18n.lang_tag = $1 order by invoice_status", locale.Language.String()), + Options: mustGetInvoiceStatusOptions(ctx, conn, locale), }, Customer: &SelectField{ Name: "customer", @@ -724,6 +724,16 @@ func newInvoiceForm(ctx context.Context, conn *Conn, locale *Locale, company *Co } } +func mustGetInvoiceStatusOptions(ctx context.Context, conn *Conn, locale *Locale) []*SelectOption { + return MustGetOptions(ctx, conn, ` + select invoice_status.invoice_status + , isi18n.name + from invoice_status + join invoice_status_i18n isi18n using(invoice_status) + where isi18n.lang_tag = $1 + order by invoice_status`, locale.Language.String()) +} + func (form *invoiceForm) Parse(r *http.Request) error { if err := r.ParseForm(); err != nil { return err