diff --git a/browser/common.py b/browser/common.py
index 7da8da5..dbf00c4 100644
--- a/browser/common.py
+++ b/browser/common.py
@@ -130,6 +130,7 @@ class EditForm(form.EditForm):
class BaseView(GenericView, I18NView):
actions = {}
+ portlet_actions = []
icon = None
modeName = 'view'
isToplevel = False
diff --git a/browser/concept.py b/browser/concept.py
index 0c1fe97..e795ade 100644
--- a/browser/concept.py
+++ b/browser/concept.py
@@ -243,9 +243,13 @@ class ConceptView(BaseView):
if self.breadcrumbsParent is not None:
data.extend(self.breadcrumbsParent.breadcrumbs())
if self.context != self.nodeView.targetObject:
- data.append(dict(label=self.title, url=self.targetUrl))
+ data.append(dict(label=self.breadcrumbsTitle, url=self.targetUrl))
return data
+ @Lazy
+ def breadcrumbsTitle(self):
+ return self.title
+
@Lazy
def breadcrumbsParent(self):
return None
@@ -503,6 +507,12 @@ class ConceptView(BaseView):
acts.extend(self.actions[category](self, page, target))
return acts
+ def getPortletActions(self, page=None, target=None):
+ if self.portlet_actions:
+ return actions.get('portlet', self.portlet_actions,
+ view=self, page=page, target=target)
+ return []
+
def getObjectActions(self, page=None, target=None):
acts = ['info']
if self.globalOptions('organize.allowSendEmail'):
@@ -510,7 +520,7 @@ class ConceptView(BaseView):
acts.extend('state.' + st.statesDefinition for st in self.states)
return actions.get('object', acts, view=self, page=page, target=target)
- actions = dict(object=getObjectActions)
+ actions = dict(object=getObjectActions, portlet=getPortletActions)
def checkAction(self, name, category, target):
if name in (self.typeOptions('hide_action.' + category) or []):
diff --git a/browser/concept_macros.pt b/browser/concept_macros.pt
index 3734d46..1424dd4 100644
--- a/browser/concept_macros.pt
+++ b/browser/concept_macros.pt
@@ -27,10 +27,19 @@
You are here: | +
+
+
+
+ |
+
You are here: | -
-
-
-
- |
-