From 6c0440f06d1af2d7b53523e9ed52c17decf99b87 Mon Sep 17 00:00:00 2001 From: kalipso Date: Wed, 2 Jul 2025 00:28:13 +0200 Subject: [PATCH] add coverpage to price calculation --- models/printer.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/models/printer.go b/models/printer.go index 9de3af4..d8cd2ee 100644 --- a/models/printer.go +++ b/models/printer.go @@ -133,6 +133,11 @@ func (p *PrintJob) Execute() error { func (p *PrintJob) CalculatePrintCosts() (float64, error) { pageCount := utils.CountPagesAtPath(p.ShopItem.Pdf) + + if pageCount == 0 { + return 0, fmt.Errorf("Cant calculate price, pdf seems to be empty") + } + printMode := GetPrintMode(p.ShopItem.PrintMode) //Get actual pagecount depending on printmode @@ -154,7 +159,15 @@ func (p *PrintJob) CalculatePrintCosts() (float64, error) { if p.IsColored() { partCost = 0.0478 } - printingCosts := float64(actualPageCount) * p.PaperType.Price + + printingCosts := float64(actualPageCount-1) * p.PaperType.Price + + if p.CoverPaperType != nil { + printingCosts += p.CoverPaperType.Price + } else { + printingCosts += p.PaperType.Price + } + printingCosts += float64(actualPageCount/2) * PPC printingCosts += partCost * float64(actualPageCount)