diff --git a/handlers/contract.go b/handlers/contract.go index 717c5ab..f4e861e 100644 --- a/handlers/contract.go +++ b/handlers/contract.go @@ -31,14 +31,7 @@ func GenerateContract(c *fiber.Ctx) error { }) } - var duplicates int = 2 - var duplicatedRunners []models.Runner - for _, runner := range contract.Runners { - for i := 0; i < duplicates; i++ { - duplicatedRunners = append(duplicatedRunners, runner) - } - } - contract.Runners = duplicatedRunners + contract.Runners = repeatRunnerArrayItems(contract.Runners, 2) generator := services.DefaultTemplater{} templateString, err := templates.GetTemplate(contract.Locale, "contract") @@ -55,7 +48,7 @@ func GenerateContract(c *fiber.Ctx) error { }) } - result, err := generator.Execute(template, &models.ContractTemplateOptions{ + genConfig := &models.ContractTemplateOptions{ Runners: contract.Runners, CurrencySymbol: "€", Disclaimer: "This is a disclaimer", @@ -64,7 +57,9 @@ func GenerateContract(c *fiber.Ctx) error { SponsoringHeader: templates.ImageSponsoringHeaderBase64, BarcodeFormat: "ean13", BarcodePrefix: "1", - }) + } + + result, err := generator.Execute(template) if err != nil { return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ "error": err.Error(), @@ -82,3 +77,13 @@ func GenerateContract(c *fiber.Ctx) error { c.Set(fiber.HeaderContentType, "application/pdf") return c.Send(pdf) } + +func repeatRunnerArrayItems(runners []Runner, duplicates int) []Runner { + var duplicatedRunners []models.Runner + for _, runner := range contract.Runners { + for i := 0; i < duplicates; i++ { + duplicatedRunners = append(duplicatedRunners, runner) + } + } + return duplicatedRunners +}