From fc4c269ddc8330338d733efa6fa1138789911737 Mon Sep 17 00:00:00 2001 From: Wancat Date: Thu, 17 Nov 2022 17:03:40 +0800 Subject: [PATCH] Define tx templates in user dir --- models.go | 12 +++++++++--- route.go | 13 ++++++------- templates/success.html | 2 +- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/models.go b/models.go index 276c8ee..4a40bdd 100644 --- a/models.go +++ b/models.go @@ -10,6 +10,7 @@ import ( "os/exec" "path" "strings" + "text/template" "time" ) @@ -140,9 +141,14 @@ type TxData struct { Source string `form:"src"` } -func newTx(data TxData) (result string, err error) { +func (u *User) newTx(data TxData) (result string, err error) { data.Date = time.Now().Format("2006/01/02") var buf bytes.Buffer - err = ledgerTpl.ExecuteTemplate(&buf, data.Action, data) - return buf.String(), nil + tpl, err := template.ParseFiles(u.FilePath(data.Action)) + if err != nil { + return + } + err = tpl.ExecuteTemplate(&buf, data.Action, data) + result = buf.String() + return } diff --git a/route.go b/route.go index 20da0a8..b9c4465 100644 --- a/route.go +++ b/route.go @@ -51,15 +51,16 @@ func router() *gin.Engine { c.AbortWithError(400, err) return } - tx, err := newTx(data) + user := getUser(c) + tx, err := user.newTx(data) if err != nil { c.AbortWithError(400, err) log.Println(err, c.Request.Form) return } - HTML(c, 200, "new.html", struct { - Tx string - }{tx}) + HTML(c, 200, "new.html", gin.H{ + "Tx": tx, + }) }) authZone.POST("/submit", func(c *gin.Context) { user := getUser(c) @@ -69,9 +70,7 @@ func router() *gin.Engine { return } - HTML(c, 200, "success.html", struct { - Tx string - }{tx}) + c.Redirect(303, "/dashboard") }) authZone.GET("/edit", func(c *gin.Context) { diff --git a/templates/success.html b/templates/success.html index 97c0a8c..09a770e 100644 --- a/templates/success.html +++ b/templates/success.html @@ -1,6 +1,6 @@ {{ define "title" }}Success{{ end }} {{ define "main" }}

Success

-

繼續編輯

+{{ with .FileName }}

繼續編輯

{{ end }}
{{ .Tx }}
{{ end }}