diff --git a/browser/configure.zcml b/browser/configure.zcml index 3806284..ad1711d 100644 --- a/browser/configure.zcml +++ b/browser/configure.zcml @@ -5,6 +5,12 @@ xmlns="http://namespaces.zope.org/browser" i18n_domain="zope"> + + @@ -62,6 +68,7 @@ name="AddLoopsContainer.html" schema="loops.interfaces.ILoops" content_factory="loops.Loops" + template="add.pt" permission="zope.ManageContent" /> @@ -95,6 +102,7 @@ name="AddLoopsConceptManager.html" schema="loops.interfaces.IConceptManager" content_factory="loops.concept.ConceptManager" + template="add.pt" permission="zope.ManageContent" /> @@ -120,6 +128,7 @@ schema="loops.interfaces.IConcept" content_factory="loops.concept.Concept" fields="title" + template="add.pt" permission="zope.ManageContent" /> @@ -201,6 +210,7 @@ name="AddLoopsResourceManager.html" schema="loops.interfaces.IResourceManager" content_factory="loops.resource.ResourceManager" + template="add.pt" permission="zope.ManageContent" /> @@ -248,6 +258,7 @@ schema="loops.interfaces.IDocumentSchema" fields="title data contentType" content_factory="loops.resource.Document" + template="add.pt" permission="zope.ManageContent" /> @@ -342,6 +354,7 @@ name="AddLoopsViewManager.html" schema="loops.interfaces.IViewManager" content_factory="loops.view.ViewManager" + template="add.pt" permission="zope.ManageContent" /> @@ -383,6 +396,12 @@ + + diff --git a/browser/edit.pt b/browser/edit.pt index a8078ab..71f51ae 100644 --- a/browser/edit.pt +++ b/browser/edit.pt @@ -21,7 +21,7 @@ diff --git a/browser/loops_icon.gif b/browser/loops_icon.gif new file mode 100644 index 0000000..ea86c94 Binary files /dev/null and b/browser/loops_icon.gif differ diff --git a/browser/node.py b/browser/node.py index 8b5bb4a..54ee818 100644 --- a/browser/node.py +++ b/browser/node.py @@ -37,7 +37,7 @@ from zope.security import canAccess, canWrite from zope.security.proxy import removeSecurityProxy from cybertools.typology.interfaces import ITypeManager -from loops.interfaces import IConcept, IResource, IDocument, IMediaAsset +from loops.interfaces import IConcept, IResource, IDocument, IMediaAsset, INode from loops.resource import MediaAsset from loops import util from loops.browser.common import BaseView @@ -135,6 +135,19 @@ class NodeView(BaseView): menu = self.menuObject return menu is not None and NodeView(menu, self.request) or None + @Lazy + def topMenu(self): + menu = self.menuObject + parentMenu = None + while menu is not None: + parent = zapi.getParent(menu) + if INode.providedBy(parent): + parentMenu = parent.getMenu() + if parentMenu is None or parentMenu is menu: + return NodeView(menu, self.request) + menu = parentMenu + return menu is not None and NodeView(menu, self.request) or None + @Lazy def headTitle(self): menuObject = self.menuObject @@ -290,9 +303,9 @@ class NodeAdding(ContentAdding): def addingInfo(self): info = super(NodeAdding, self).addingInfo() - info.append({'title': 'Document', - 'action': 'AddLoopsNodeDocument.html', - 'selected': '', - 'has_custom_add_view': True, - 'description': 'This creates a node with an associated document'}) + #info.append({'title': 'Document', + # 'action': 'AddLoopsNodeDocument.html', + # 'selected': '', + # 'has_custom_add_view': True, + # 'description': 'This creates a node with an associated document'}) return info diff --git a/browser/node_icon.gif b/browser/node_icon.gif new file mode 100644 index 0000000..ea86c94 Binary files /dev/null and b/browser/node_icon.gif differ