🎨 Shallow clone the corresponding database when the template contains database blocks https://github.com/siyuan-note/siyuan/issues/9494

This commit is contained in:
Daniel 2023-10-24 09:38:33 +08:00
parent 7145460c18
commit 8ad15c4d23
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
3 changed files with 14 additions and 7 deletions

View file

@ -80,7 +80,12 @@ func renderTemplate(c *gin.Context) {
return
}
content, err := model.RenderTemplate(p, id)
preview := false
if previewArg := arg["preview"]; nil != previewArg {
preview = previewArg.(bool)
}
content, err := model.RenderTemplate(p, id, preview)
if nil != err {
ret.Code = -1
ret.Msg = util.EscapeHTML(err.Error())

View file

@ -1448,7 +1448,7 @@ func CreateDailyNote(boxID string) (p string, existed bool, err error) {
if !gulu.File.IsExist(tplPath) {
logging.LogWarnf("not found daily note template [%s]", tplPath)
} else {
dom, err = renderTemplate(tplPath, id)
dom, err = renderTemplate(tplPath, id, false)
if nil != err {
logging.LogWarnf("render daily note template [%s] failed: %s", boxConf.DailyNoteTemplatePath, err)
}

View file

@ -164,11 +164,11 @@ func DocSaveAsTemplate(id, name string, overwrite bool) (code int, err error) {
return
}
func RenderTemplate(p, id string) (string, error) {
return renderTemplate(p, id)
func RenderTemplate(p, id string, preview bool) (string, error) {
return renderTemplate(p, id, preview)
}
func renderTemplate(p, id string) (string, error) {
func renderTemplate(p, id string, preview bool) (string, error) {
tree, err := loadTreeByBlockID(id)
if nil != err {
return "", err
@ -288,8 +288,10 @@ func renderTemplate(p, id string) (string, error) {
cloned := av.CloneAttributeView(attrView)
if nil != cloned {
n.AttributeViewID = cloned.ID
if saveErr := av.SaveAttributeView(cloned); nil != saveErr {
logging.LogErrorf("save attribute view [%s] failed: %s", cloned.ID, saveErr)
if !preview {
if saveErr := av.SaveAttributeView(cloned); nil != saveErr {
logging.LogErrorf("save attribute view [%s] failed: %s", cloned.ID, saveErr)
}
}
}
}