summaryrefslogtreecommitdiff
path: root/internal/email/util.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2022-04-29 02:00:25 -0700
committerLibravatar GitHub <noreply@github.com>2022-04-29 11:00:25 +0200
commitf9b351438b9c48dd0ddd527846babd1ef57140b6 (patch)
treeb59fcfe3d59c50f9aefcee0e9909fcafb43ca372 /internal/email/util.go
parent[documentaton] Fix port number in Reverse proxy section (#506) (diff)
downloadgotosocial-f9b351438b9c48dd0ddd527846babd1ef57140b6.tar.xz
[feature] allow absolute path to templates (#507)
Only attempt to join the `WebTemplateBaseDir` with the current working directory if the user has not configured an absolute path to the template directory. This changeset also makes a similar change to the testrig, allowing tests to configure an alternative location for the templates directory. Fixes #411 Signed-off-by: Terin Stock <terinjokes@gmail.com>
Diffstat (limited to 'internal/email/util.go')
-rw-r--r--internal/email/util.go12
1 files changed, 7 insertions, 5 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