go #49
No files matched your search
+1
-2
@@ -6,7 +6,6 @@ import (
|
||||
|
||||
"git.odit.services/lfk/document-server/models"
|
||||
"git.odit.services/lfk/document-server/services"
|
||||
"git.odit.services/lfk/document-server/templates"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
@@ -32,7 +31,7 @@ func GenerateCard(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
generator := services.DefaultTemplater{}
|
||||
templateString, err := templates.GetTemplate(cardRequest.Locale, "card")
|
||||
templateString, err := services.GetTemplate(cardRequest.Locale, "card")
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
|
||||
"git.odit.services/lfk/document-server/models"
|
||||
"git.odit.services/lfk/document-server/services"
|
||||
"git.odit.services/lfk/document-server/templates"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
@@ -32,7 +31,7 @@ func GenerateCertificate(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
generator := services.DefaultTemplater{}
|
||||
templateString, err := templates.GetTemplate(certificateRequest.Locale, "certificate")
|
||||
templateString, err := services.GetTemplate(certificateRequest.Locale, "certificate")
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
|
||||
"git.odit.services/lfk/document-server/models"
|
||||
"git.odit.services/lfk/document-server/services"
|
||||
"git.odit.services/lfk/document-server/templates"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
|
||||
@@ -34,7 +33,7 @@ func GenerateContract(c *fiber.Ctx) error {
|
||||
contract.Runners = repeatRunnerArrayItems(contract.Runners, 2)
|
||||
|
||||
generator := services.DefaultTemplater{}
|
||||
templateString, err := templates.GetTemplate(contract.Locale, "contract")
|
||||
templateString, err := services.GetTemplate(contract.Locale, "contract")
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
||||
@@ -48,13 +47,15 @@ func GenerateContract(c *fiber.Ctx) error {
|
||||
})
|
||||
}
|
||||
|
||||
sponsoringHeader := services.GetImage("sponsoringheader")
|
||||
|
||||
genConfig := &models.ContractTemplateOptions{
|
||||
Runners: contract.Runners,
|
||||
CurrencySymbol: "€",
|
||||
Disclaimer: "This is a disclaimer",
|
||||
ReceiptMinimumAmount: 10,
|
||||
EventName: "Event name",
|
||||
SponsoringHeader: templates.ImageSponsoringHeaderBase64,
|
||||
SponsoringHeader: sponsoringHeader,
|
||||
BarcodeFormat: "ean13",
|
||||
BarcodePrefix: "1",
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ import (
|
||||
"image/png"
|
||||
"strings"
|
||||
|
||||
"git.odit.services/lfk/document-server/templates"
|
||||
"github.com/boombuler/barcode"
|
||||
"github.com/boombuler/barcode/code128"
|
||||
"github.com/boombuler/barcode/ean"
|
||||
@@ -88,7 +87,7 @@ func (t *DefaultTemplater) SelectSponsorImage(id int) (string, error) {
|
||||
"odit",
|
||||
"sparkasse",
|
||||
}
|
||||
return templates.GetImage(sponsors[id%len(sponsors)]), nil
|
||||
return GetImage(sponsors[id%len(sponsors)]), nil
|
||||
}
|
||||
|
||||
func FormatUnit(unit string, locale string, amount int) (string, error) {
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
_ "embed"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
func GetTemplate(locale, templateName string) (string, error) {
|
||||
content, err := os.ReadFile(fmt.Sprintf("static/templates/%s/%s.html", templateName, locale))
|
||||
if content == nil || err != nil {
|
||||
log.Printf("error reading template %s with locale %s: %v", templateName, locale, err)
|
||||
return "", err
|
||||
}
|
||||
return string(content), nil
|
||||
}
|
||||
|
||||
func GetImage(imageName string) string {
|
||||
content, err := os.ReadFile("static/images/" + imageName + ".base64")
|
||||
if content == nil || err != nil {
|
||||
log.Printf("error reading image %s: %v", imageName, err)
|
||||
return ImageErrorBase64
|
||||
}
|
||||
return string(content)
|
||||
}
|
||||
|
||||
const ImageErrorBase64 string = "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 truncated
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 225 KiB |
@@ -1,68 +0,0 @@
|
||||
package templates
|
||||
|
||||
import (
|
||||
_ "embed"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
//go:embed card/en.html
|
||||
var CardTemplateEn string
|
||||
|
||||
//go:embed card/de.html
|
||||
var CardTemplateDe string
|
||||
|
||||
//go:embed contract/en.html
|
||||
var ContractTemplateEn string
|
||||
|
||||
//go:embed contract/de.html
|
||||
var ContractTemplateDe string
|
||||
|
||||
//go:embed certificate/de.html
|
||||
var CertificateTemplateDe string
|
||||
|
||||
//go:embed certificate/en.html
|
||||
var CertificateTemplateEn string
|
||||
|
||||
//go:embed images/sponsoringheader.base64
|
||||
var ImageSponsoringHeaderBase64 string
|
||||
|
||||
//go:embed images/error.base64
|
||||
var ImageErrorBase64 string
|
||||
|
||||
func GetTemplate(locale, templateName string) (string, error) {
|
||||
switch templateName {
|
||||
case "card":
|
||||
switch locale {
|
||||
case "en":
|
||||
return CardTemplateEn, nil
|
||||
case "de":
|
||||
return CardTemplateDe, nil
|
||||
}
|
||||
case "contract":
|
||||
switch locale {
|
||||
case "en":
|
||||
return ContractTemplateEn, nil
|
||||
case "de":
|
||||
return ContractTemplateDe, nil
|
||||
}
|
||||
case "certificate":
|
||||
switch locale {
|
||||
case "en":
|
||||
return CertificateTemplateEn, nil
|
||||
case "de":
|
||||
return CertificateTemplateDe, nil
|
||||
}
|
||||
}
|
||||
return "", fmt.Errorf("template not found with name %s and locale %s", templateName, locale)
|
||||
}
|
||||
|
||||
func GetImage(imageName string) string {
|
||||
content, err := os.ReadFile("static/images/" + imageName + ".base64")
|
||||
if content == nil || err != nil {
|
||||
log.Printf("error reading image %s: %v", imageName, err)
|
||||
return ImageErrorBase64
|
||||
}
|
||||
return string(content)
|
||||
}
|
||||
Reference in new issue
Block a user