diff --git a/README.txt b/README.txt index 5e7c678..409fb20 100755 --- a/README.txt +++ b/README.txt @@ -597,7 +597,7 @@ Actions >>> actions = view.getActions('portlet') >>> len(actions) - 1 + 2 Clean-up: diff --git a/browser/action_macros.pt b/browser/action_macros.pt index 2fb2e38..10e4313 100644 --- a/browser/action_macros.pt +++ b/browser/action_macros.pt @@ -14,8 +14,7 @@ alt action/description" />Action Title - + tal:content="action/title">Action Title - -
- - Create Resource... - -
-
- - Edit Resource... - -
-
- - diff --git a/browser/resource.py b/browser/resource.py index 3244f24..914220b 100644 --- a/browser/resource.py +++ b/browser/resource.py @@ -182,6 +182,18 @@ class ResourceView(BaseView): ct = self.context.contentType return ct.startswith('image/') or ct == 'application/pdf' + # actions + + def getPortletActions(self, page=None): + actions = [] + actions.append(Action(self, title='Edit Resource...', + description='Modify resource object.', + url='edit_object.html', + onClick="objectDialog('edit', '%s/edit_object.html'); " + "return false;" % page.virtualTargetUrl, + innerHtmlId='dialog.edit')) + return actions + def getObjectActions(self, page=None): actions = [] if page is None: @@ -192,6 +204,10 @@ class ResourceView(BaseView): # actions.append(factory(self, page=view,)) return actions + actions = dict(portlet=getPortletActions, object=getObjectActions) + + # relations + def concepts(self): for r in self.context.getConceptRelations(): yield ConceptRelationView(r, self.request) diff --git a/knowledge/glossary/browser.py b/knowledge/glossary/browser.py index 60629d7..78f7603 100755 --- a/knowledge/glossary/browser.py +++ b/knowledge/glossary/browser.py @@ -26,6 +26,7 @@ $Id$ from zope.cachedescriptors.property import Lazy from zope.app.pagetemplate import ViewPageTemplateFile +from loops.browser.action import Action from loops.browser.concept import ConceptView from loops.common import adapted from loops import util @@ -40,6 +41,17 @@ class GlossaryView(ConceptView): def macro(self): return template.macros['glossary'] + def getActions(self, category='object', page=None): + actions = [] + if category == 'portlet': + actions.append(Action(self, title='Create Glossary Item...', + description='Create a new glossary item.', + url='create_glossaryitem.html', + onClick="objectDialog('create', '%s/create_object.html'); " + "return false;" % self.virtualTargetUrl, + innerHtmlId='dialog.create')) + return actions + class GlossaryItemView(ConceptView): @@ -47,3 +59,14 @@ class GlossaryItemView(ConceptView): def macro(self): return template.macros['glossaryitem'] + def getActions(self, category='object', page=None): + actions = [] + if category == 'portlet': + actions.append(Action(self, title='Create Glossary Item...', + description='Create a new glossary item.', + url='create_glossaryitem.html')) + actions.append(Action(self, title='Edit Glossary Item...', + description='Modify glossary item.', + url='edit_glossaryitem.html')) + return actions +