diff --git a/compound/blog/browser.py b/compound/blog/browser.py index 20402f3..1168bab 100755 --- a/compound/blog/browser.py +++ b/compound/blog/browser.py @@ -87,13 +87,15 @@ class BlogView(ConceptView): return view_macros.macros['blog'] def getActions(self, category='object', page=None, target=None): + acts = list(super(BlogView, self).getActions(category, page, target)) blogOwnerId = self.blogOwnerId if blogOwnerId: principal = self.request.principal if principal and principal.id != blogOwnerId: - return [] - return actions.get(category, ['createBlogPost'], - view=self, page=page, target=target) + return acts + blogActions = list(actions.get(category, ['createBlogPost'], + view=self, page=page, target=target)) + return blogActions + acts @Lazy def blogOwnerId(self): diff --git a/knowledge/browser.py b/knowledge/browser.py index 2d6fa15..ea06e5c 100644 --- a/knowledge/browser.py +++ b/knowledge/browser.py @@ -30,14 +30,35 @@ from zope.cachedescriptors.property import Lazy #from zope.formlib.namedtemplate import NamedTemplate from zope.i18nmessageid import MessageFactory +from cybertools.browser.action import actions from cybertools.typology.interfaces import IType +from loops.browser.action import DialogAction from loops.browser.common import BaseView +from loops.browser.concept import ConceptView from loops.knowledge.interfaces import IPerson, ITask from loops.organize.party import getPersonForUser _ = MessageFactory('zope') +actions.register('createTopic', 'portlet', DialogAction, + title=_(u'Create Topic...'), + description=_(u'Create a new topic.'), + viewName='create_concept.html', + dialogName='createTopic', + typeToken='.loops/concepts/topic', + fixedType=True, + innerForm='inner_concept_form.html', +) + +actions.register('editTopic', 'portlet', DialogAction, + title=_(u'Edit Topic...'), + description=_(u'Modify topic.'), + viewName='edit_concept.html', + dialogName='editTopic', +) + + class MyKnowledge(BaseView): #template = NamedTemplate('loops.knowledge_macros')