diff --git a/pkg/core/permission.go b/pkg/core/permission.go index 93efd48..547cbc1 100644 --- a/pkg/core/permission.go +++ b/pkg/core/permission.go @@ -55,7 +55,7 @@ func WritePerm(username, section string, p *Page) bool { func writePerm(username string, p *Page) bool { switch p.Perm { case Public, Internal: - if p.Owner == "" { + if p.Owner == WikiSection { return username != "" } return username == p.Owner diff --git a/pkg/db/page.go b/pkg/db/page.go index eb46bde..ce1b708 100644 --- a/pkg/db/page.go +++ b/pkg/db/page.go @@ -60,9 +60,13 @@ func (db *DB) CreatePage(title, section, markdown, username string, p core.Permi err = errInvalidPermission return } - if section == core.WikiSection && p == core.Private { - err = errPrivateWikiPage - return + owner := username + if section == core.WikiSection { + owner = core.WikiSection + if p == core.Private { + err = errPrivateWikiPage + return + } } st := render.StoreTitle(section, title) if _, err = db.getPage(st, username); err != nil && err != store.ErrKeyNotFound { @@ -74,7 +78,7 @@ func (db *DB) CreatePage(title, section, markdown, username string, p core.Permi StoreTitle: st, Markdown: markdown, Created: created(username), - Owner: username, + Owner: owner, Perm: p, } //search := render.Render(page) diff --git a/pkg/server/templates.go b/pkg/server/templates.go index 66b8f3a..6decf95 100644 --- a/pkg/server/templates.go +++ b/pkg/server/templates.go @@ -18,23 +18,40 @@ const (

{{.BodyTitle}}

+{{if .Data}}
- +{{$idx0 := index .Data 0}} +{{$owner := $idx0.Owner}} +{{$owner}}
+
+ +
+
+{{$owner}} +
+
+ +
+{{end}} {{end}}` index = ` GoWiki | {{.Title}} - + -