From 9db0046fadcd703d9903c7abd4159ded0730bf3a Mon Sep 17 00:00:00 2001 From: Steve Manuel Date: Thu, 3 Nov 2016 00:54:13 -0700 Subject: simplifying Editable interface by adding Sluggable and Identifiable interfaces, moving relevant interface methods to be implemented by other types and updating caller code to assert the new interface types as needed --- management/manager/manager.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'management/manager') diff --git a/management/manager/manager.go b/management/manager/manager.go index c0c5519..2830ba4 100644 --- a/management/manager/manager.go +++ b/management/manager/manager.go @@ -112,11 +112,16 @@ type manager struct { func Manage(e editor.Editable, typeName string) ([]byte, error) { v, err := e.MarshalEditor() if err != nil { - return nil, fmt.Errorf("Couldn't marshal editor for content %T. %s", e, err.Error()) + return nil, fmt.Errorf("Couldn't marshal editor for content %s. %s", typeName, err.Error()) + } + + s, ok := e.(editor.Sortable) + if !ok { + return nil, fmt.Errorf("Content type %s does not implement content.Identifiable.", typeName) } m := manager{ - ID: e.ContentID(), + ID: s.ItemID(), Kind: typeName, Editor: template.HTML(v), } -- cgit v1.2.3