diff options
Diffstat (limited to 'system/admin')
-rw-r--r-- | system/admin/filesystem.go | 21 | ||||
-rw-r--r-- | system/admin/handlers.go | 14 |
2 files changed, 20 insertions, 15 deletions
diff --git a/system/admin/filesystem.go b/system/admin/filesystem.go index 4e64a26..77c721e 100644 --- a/system/admin/filesystem.go +++ b/system/admin/filesystem.go @@ -1,13 +1,12 @@ package admin import ( - "net/http" + "net/http" "os" ) - func restrict(dir http.Dir) justFilesFilesystem { - return justFilesFilesystem{dir} + return justFilesFilesystem{dir} } // the code below removes the open directory listing when accessing a URL which @@ -16,21 +15,21 @@ func restrict(dir http.Dir) justFilesFilesystem { // credit: Brad Fitzpatrick (c) 2012 type justFilesFilesystem struct { - fs http.FileSystem + fs http.FileSystem } func (fs justFilesFilesystem) Open(name string) (http.File, error) { - f, err := fs.fs.Open(name) - if err != nil { - return nil, err - } - return neuteredReaddirFile{f}, nil + f, err := fs.fs.Open(name) + if err != nil { + return nil, err + } + return neuteredReaddirFile{f}, nil } type neuteredReaddirFile struct { - http.File + http.File } func (f neuteredReaddirFile) Readdir(count int) ([]os.FileInfo, error) { - return nil, nil + return nil, nil } diff --git a/system/admin/handlers.go b/system/admin/handlers.go index 38ce41d..7b8bfae 100644 --- a/system/admin/handlers.go +++ b/system/admin/handlers.go @@ -908,7 +908,7 @@ func postsHandler(res http.ResponseWriter, req *http.Request) { b.Write(post) } } - + html += `<ul class="posts row">` b.Write([]byte(`</ul></div></div>`)) @@ -947,7 +947,14 @@ func adminPostListItem(e editor.Editable, typeName, status string) []byte { s, ok := e.(editor.Sortable) if !ok { log.Println("Content type", typeName, "doesn't implement editor.Sortable") - post := `<li class="col s12">Error retreiving data. Your data type doesn't implement necessary interfaces.</li>` + post := `<li class="col s12">Error retreiving data. Your data type doesn't implement necessary interfaces. (editor.Sortable)</li>` + return []byte(post) + } + + i, ok := e.(content.Identifiable) + if !ok { + log.Println("Content type", typeName, "doesn't implement content.Identifiable") + post := `<li class="col s12">Error retreiving data. Your data type doesn't implement necessary interfaces. (content.Identifiable)</li>` return []byte(post) } @@ -957,7 +964,7 @@ func adminPostListItem(e editor.Editable, typeName, status string) []byte { updatedTime := upTime.Format("01/02/06 03:04 PM") publishTime := tsTime.Format("01/02/06") - cid := fmt.Sprintf("%d", s.ItemID()) + cid := fmt.Sprintf("%d", i.ItemID()) switch status { case "public", "": @@ -1200,7 +1207,6 @@ func editHandler(res http.ResponseWriter, req *http.Request) { return } s.SetItemID(-1) - } m, err := manager.Manage(post.(editor.Editable), t) |