Compare commits
3 Commits
e10448f1e3
...
2537235ce6
Author | SHA1 | Date | |
---|---|---|---|
2537235ce6 | |||
4deda8adf1 | |||
d910a722df |
@ -7,6 +7,7 @@ import (
|
|||||||
"html/template"
|
"html/template"
|
||||||
"image/png"
|
"image/png"
|
||||||
|
|
||||||
|
"git.odit.services/lfk/document-server/templates"
|
||||||
"github.com/boombuler/barcode"
|
"github.com/boombuler/barcode"
|
||||||
"github.com/boombuler/barcode/code128"
|
"github.com/boombuler/barcode/code128"
|
||||||
"github.com/boombuler/barcode/ean"
|
"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
|
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) {
|
func (t *DefaultTemplater) StringToTemplate(templateString string) (*template.Template, error) {
|
||||||
return template.New("template").Funcs(template.FuncMap{
|
return template.New("template").Funcs(template.FuncMap{
|
||||||
"barcode": t.GenerateBarcode,
|
"barcode": t.GenerateBarcode,
|
||||||
"sponsorLogo": func(id int) string { return "a" },
|
"sponsorLogo": t.SelectSponsorImage,
|
||||||
}).Parse(templateString)
|
}).Parse(templateString)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1
static/images/odit.base64
Normal file
1
static/images/odit.base64
Normal file
File diff suppressed because one or more lines are too long
1
static/images/sparkasse.base64
Normal file
1
static/images/sparkasse.base64
Normal file
File diff suppressed because one or more lines are too long
1
static/images/vrbank.base64
Normal file
1
static/images/vrbank.base64
Normal file
File diff suppressed because one or more lines are too long
1
templates/images/error.base64
Normal file
1
templates/images/error.base64
Normal file
File diff suppressed because one or more lines are too long
@ -3,6 +3,8 @@ package templates
|
|||||||
import (
|
import (
|
||||||
_ "embed"
|
_ "embed"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed card/en.html
|
//go:embed card/en.html
|
||||||
@ -20,6 +22,9 @@ var ContractTemplateDe string
|
|||||||
//go:embed images/sponsoringheader.base64
|
//go:embed images/sponsoringheader.base64
|
||||||
var ImageSponsoringHeaderBase64 string
|
var ImageSponsoringHeaderBase64 string
|
||||||
|
|
||||||
|
//go:embed images/error.base64
|
||||||
|
var ImageErrorBase64 string
|
||||||
|
|
||||||
func GetTemplate(locale, templateName string) (string, error) {
|
func GetTemplate(locale, templateName string) (string, error) {
|
||||||
switch templateName {
|
switch templateName {
|
||||||
case "card":
|
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)
|
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)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user