summaryrefslogtreecommitdiff
path: root/internal/router/template.go
diff options
context:
space:
mode:
authorLibravatar Forest Johnson <forest.n.johnson@gmail.com>2022-02-07 11:04:31 +0000
committerLibravatar GitHub <noreply@github.com>2022-02-07 12:04:31 +0100
commit6ed368cbebcae087aec1f31ee8d69ac6c47ead9f (patch)
treeab3cd855aea308e2db719f2ac67a8e38cd6c920c /internal/router/template.go
parentdon't bother negotiating Accept for webfinger (#381) (diff)
downloadgotosocial-6ed368cbebcae087aec1f31ee8d69ac6c47ead9f.tar.xz
[feature] add authorization to the already-existing authentication (#365)
* add ensureUserIsAuthorizedOrRedirect to /oauth/authorize * adding authorization (email confirm, account approve, etc) to TokenCheck * revert un-needed changes to signin.go * oops what happened here * error css * add account.SuspendedAt check * remove redundant checks from oauth util Authed function * wip tests * tests passing * stop stripping useful information from ErrAlreadyExists * that feeling of scraping the dryer LINT off the screen * oops I didn't mean to get rid of this NewTestRouter function * make tests work with recorder * re-add ConfigureTemplatesWithGin to handle template path err Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
Diffstat (limited to 'internal/router/template.go')
-rw-r--r--internal/router/template.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/internal/router/template.go b/internal/router/template.go
index 4cc9fde1d..1a0186d6d 100644
--- a/internal/router/template.go
+++ b/internal/router/template.go
@@ -31,7 +31,7 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/config"
)
-// loadTemplates loads html templates for use by the given engine
+// LoadTemplates loads html templates for use by the given engine
func loadTemplates(engine *gin.Engine) error {
cwd, err := os.Getwd()
if err != nil {
@@ -39,8 +39,13 @@ func loadTemplates(engine *gin.Engine) error {
}
templateBaseDir := viper.GetString(config.Keys.WebTemplateBaseDir)
- tmPath := filepath.Join(cwd, fmt.Sprintf("%s*", templateBaseDir))
+ _, 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)
+ }
+
+ tmPath := filepath.Join(cwd, fmt.Sprintf("%s*", templateBaseDir))
engine.LoadHTMLGlob(tmPath)
return nil
}
@@ -87,7 +92,7 @@ func visibilityIcon(visibility model.Visibility) template.HTML {
return template.HTML(fmt.Sprintf(`<i aria-label="Visibility: %v" class="fa fa-%v"></i>`, icon.label, icon.faIcon))
}
-func loadTemplateFunctions(engine *gin.Engine) {
+func LoadTemplateFunctions(engine *gin.Engine) {
engine.SetFuncMap(template.FuncMap{
"noescape": noescape,
"oddOrEven": oddOrEven,