summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/email/util.go12
-rw-r--r--internal/router/template.go22
2 files changed, 19 insertions, 15 deletions
diff --git a/internal/email/util.go b/internal/email/util.go
index 52290dbe4..c543db755 100644
--- a/internal/email/util.go
+++ b/internal/email/util.go
@@ -28,14 +28,16 @@ import (
)
func loadTemplates(templateBaseDir string) (*template.Template, error) {
- cwd, err := os.Getwd()
- if err != nil {
- return nil, fmt.Errorf("error getting current working directory: %s", err)
+ if !filepath.IsAbs(templateBaseDir) {
+ cwd, err := os.Getwd()
+ if err != nil {
+ return nil, fmt.Errorf("error getting current working directory: %s", err)
+ }
+ templateBaseDir = filepath.Join(cwd, templateBaseDir)
}
// look for all templates that start with 'email_'
- tmPath := filepath.Join(cwd, fmt.Sprintf("%semail_*", templateBaseDir))
- return template.ParseGlob(tmPath)
+ return template.ParseGlob(filepath.Join(templateBaseDir, "email_*"))
}
// https://datatracker.ietf.org/doc/html/rfc2822
diff --git a/internal/router/template.go b/internal/router/template.go
index 50d5f1a82..7cc9850e0 100644
--- a/internal/router/template.go
+++ b/internal/router/template.go
@@ -33,20 +33,22 @@ import (
// LoadTemplates loads html templates for use by the given engine
func loadTemplates(engine *gin.Engine) error {
- cwd, err := os.Getwd()
- if err != nil {
- return fmt.Errorf("error getting current working directory: %s", err)
- }
-
templateBaseDir := viper.GetString(config.Keys.WebTemplateBaseDir)
- _, err = os.Stat(filepath.Join(cwd, templateBaseDir, "index.tmpl"))
- if err != nil {
- return fmt.Errorf("%s doesn't seem to contain the templates; index.tmpl is missing: %s", filepath.Join(cwd, templateBaseDir), err)
+ if !filepath.IsAbs(templateBaseDir) {
+ cwd, err := os.Getwd()
+ if err != nil {
+ return fmt.Errorf("error getting current working directory: %w", err)
+ }
+
+ templateBaseDir = filepath.Join(cwd, viper.GetString(config.Keys.WebTemplateBaseDir))
+ }
+
+ if _, err := os.Stat(filepath.Join(templateBaseDir, "index.tmpl")); err != nil {
+ return fmt.Errorf("%s doesn't seem to contain the templates; index.tmpl is missing: %w", templateBaseDir, err)
}
- tmPath := filepath.Join(cwd, fmt.Sprintf("%s*", templateBaseDir))
- engine.LoadHTMLGlob(tmPath)
+ engine.LoadHTMLGlob(fmt.Sprintf("%s*", templateBaseDir))
return nil
}