Compare commits

..

3 Commits

6 changed files with 29 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import (
"html/template"
"image/png"
"git.odit.services/lfk/document-server/templates"
"github.com/boombuler/barcode"
"github.com/boombuler/barcode/code128"
"github.com/boombuler/barcode/ean"
@ -79,10 +80,19 @@ func (t *DefaultTemplater) GenerateBarcode(code string, format string, prefix st
return base64.StdEncoding.EncodeToString(buf.Bytes()), nil
}
func (t *DefaultTemplater) SelectSponsorImage(id int) (string, error) {
sponsors := []string{
"vrbank",
"odit",
"sparkasse",
}
return templates.GetImage(sponsors[id%len(sponsors)]), nil
}
func (t *DefaultTemplater) StringToTemplate(templateString string) (*template.Template, error) {
return template.New("template").Funcs(template.FuncMap{
"barcode": t.GenerateBarcode,
"sponsorLogo": func(id int) string { return "a" },
"sponsorLogo": t.SelectSponsorImage,
}).Parse(templateString)
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -3,6 +3,8 @@ package templates
import (
_ "embed"
"fmt"
"log"
"os"
)
//go:embed card/en.html
@ -20,6 +22,9 @@ var ContractTemplateDe 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":
@ -39,3 +44,12 @@ func GetTemplate(locale, templateName string) (string, error) {
}
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)
}