From 249cccd24068437d25ef620f5fce9077ae7cd282 Mon Sep 17 00:00:00 2001 From: kalipso Date: Wed, 2 Jul 2025 11:09:33 +0200 Subject: [PATCH] show newest invoice first, show datetime --- controllers/configController.go | 2 +- repositories/InvoiceRepository.go | 20 +++++++++++++++++++- views/invoiceview.html | 4 ++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/controllers/configController.go b/controllers/configController.go index 6af35b9..2b3e7fa 100644 --- a/controllers/configController.go +++ b/controllers/configController.go @@ -212,7 +212,7 @@ func (rc *configController) GetAllPaper(c *gin.Context) { ////////////////////////////////////////////////////////////////////// func (rc *configController) InvoiceView(c *gin.Context) { - invoices, err := repositories.Invoices.GetAll() + invoices, err := repositories.Invoices.GetAllNewestFirst() if err != nil { c.HTML(http.StatusBadRequest, "invoiceview.html", gin.H{"data": gin.H{"error": err}}) diff --git a/repositories/InvoiceRepository.go b/repositories/InvoiceRepository.go index d073c93..843882c 100644 --- a/repositories/InvoiceRepository.go +++ b/repositories/InvoiceRepository.go @@ -11,8 +11,11 @@ import ( type InvoiceRepository interface { Create(models.Invoice) (models.Invoice, error) GetAll() ([]models.Invoice, error) + GetAllSorted(string) ([]models.Invoice, error) + GetAllNewestFirst() ([]models.Invoice, error) + GetAllNewestLast() ([]models.Invoice, error) GetById(string) (models.Invoice, error) - //GetByShopItemId(string) (models.Invoice, error) + //GetByInvoiceId(string) (models.Invoice, error) Update(models.Invoice) (models.Invoice, error) DeleteById(string) error } @@ -44,6 +47,21 @@ func (t *GORMInvoiceRepository) GetAll() ([]models.Invoice, error) { return invoice, result.Error } +func (t *GORMInvoiceRepository) GetAllSorted(sortString string) ([]models.Invoice, error) { + var invoices []models.Invoice + result := t.DB.Preload("PrintJobs.ShopItem").Preload("PrintJobs.Variant").Preload("PrintJobs.PaperType").Preload("PrintJobs.CoverPaperType").Preload("PrintJobs").Order(sortString).Find(&invoices) + + return invoices, result.Error +} + +func (r *GORMInvoiceRepository) GetAllNewestFirst() ([]models.Invoice, error) { + return r.GetAllSorted("created_at desc") +} + +func (r *GORMInvoiceRepository) GetAllNewestLast() ([]models.Invoice, error) { + return r.GetAllSorted("created_at asc") +} + func (t *GORMInvoiceRepository) GetById(id string) (models.Invoice, error) { invoiceId, err := strconv.Atoi(id) diff --git a/views/invoiceview.html b/views/invoiceview.html index adaddb8..acc5a25 100644 --- a/views/invoiceview.html +++ b/views/invoiceview.html @@ -8,10 +8,10 @@ {{ range .data.invoices }} -
+
- Invoice #{{ .ID }} + Invoice #{{ .ID }} - {{ .CreatedAt }}