Compare commits

...
3 Commits
Author SHA1 Message Date
niggl 2537235ce6 feat(static): Added more sponsor logos 2024-12-03 20:00:42 +01:00
niggl 4deda8adf1 feat(templates): Get static mounted images 2024-12-03 19:56:57 +01:00
niggl d910a722df feat(templates): Fallback image 2024-12-03 19:48:08 +01:00
6 changed files with 29 additions and 1 deletions
+11 -1
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
+14
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)
}