From 00af249ff228e33677f6aa1542f2ce319198fb6b Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 11 Jan 2024 12:02:16 -0500 Subject: [PATCH] generic set template --- emails.go | 4 ---- main.go | 2 +- templates.go | 42 ++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 41 insertions(+), 7 deletions(-) diff --git a/emails.go b/emails.go index 2892bf1..d228083 100644 --- a/emails.go +++ b/emails.go @@ -9,7 +9,6 @@ import ( "time" ) -// func SendRegistrationEmail(recipient, username, password string) bool { data := struct { SiteName string @@ -65,7 +64,6 @@ func SendAlertEmail(username, recipient, message string) bool { return true } - func SendRecoveryEmail(recipient, username, code string) bool { data := struct { SiteName string @@ -93,7 +91,6 @@ func SendRecoveryEmail(recipient, username, code string) bool { return true } -// func Send2faEmail(recipient, fullname, code string) error { data := struct { SiteName string @@ -156,7 +153,6 @@ func SendMail(addr, from, subject, body string, to string) error { return c.Quit() } -// func SendAlert(u int64, subject, body string) error { if c.Testing { return nil diff --git a/main.go b/main.go index b6d49dc..d94dae5 100644 --- a/main.go +++ b/main.go @@ -50,7 +50,7 @@ func Init(dbin *sqlx.DB, tp, sitename, fromaddr, smtpserver string, testing bool c.SiteName = sitename c.FromEmail = fromaddr c.SMTPServer = smtpserver - c.Testing=testing + c.Testing = testing SetRegistrationTemplate("") SetAlertTemplate("") diff --git a/templates.go b/templates.go index 0482784..310a8cd 100644 --- a/templates.go +++ b/templates.go @@ -9,9 +9,47 @@ import ( //go:embed templates/*.html var FS embed.FS +func SetTemplate(name, t string) bool { + if len(t) != 0 { + r, err := template.New(name).Parse(t) + if err != nil { + log.Printf("scsusers.SetTemplate: Template %s failed to compile: %s\n", name, err.Error()) + return true + } + switch name { + case "registration": + c.Templates.Registration = r + case "alert": + c.Templates.Alert = r + case "recovery": + c.Templates.Recovery = r + case "2fa": + c.Templates.TwoFA = r + } + return false + } + + r, err := template.New(name).Parse(t) + if err != nil { + log.Printf("scsusers.SetTemplate: Default %s template MUST compile. Error: %s\n", name, err.Error()) + return false + } + switch name { + case "registration": + c.Templates.Registration = r + case "alert": + c.Templates.Alert = r + case "recovery": + c.Templates.Recovery = r + case "2fa": + c.Templates.TwoFA = r + } + return false +} + func SetRegistrationTemplate(t string) bool { if len(t) != 0 { - r, err := template.New("reg").Parse(t) + r, err := template.New("registration").Parse(t) if err != nil { c.Templates.Registration = r return true @@ -22,7 +60,7 @@ func SetRegistrationTemplate(t string) bool { log.Fatal("Missing recovery template") } - r, err := template.New("reg").Parse(string(df)) + r, err := template.New("registration").Parse(string(df)) if err != nil { log.Fatal("scsusers.SetRegistrationTemplate: Default registration template MUST compile. Error: " + err.Error()) }