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
-
-
-
-
-
-
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
+