diff --git a/browser/common.py b/browser/common.py index e30af25..daa8ef1 100755 --- a/browser/common.py +++ b/browser/common.py @@ -459,6 +459,10 @@ class BaseView(GenericView, I18NView, SortableMixin): def description(self): return self.adapted.description + @Lazy + def tabTitle(self): + return u'Info' + @Lazy def additionalInfos(self): return [] diff --git a/browser/concept.py b/browser/concept.py index 9e54655..f1d65f9 100644 --- a/browser/concept.py +++ b/browser/concept.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2013 Helmut Merz helmutm@cy55.de +# Copyright (c) 2016 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -254,18 +254,35 @@ class ConceptView(BaseView): result.append(view) return result + def viewModes(self): + modes = Jeep() + current = self.request.form.get('loops.viewName') + parts = (self.options('view_tabs') or + self.typeOptions('view_tabs') or []) + if not parts: + return modes + activeMode = None + for p in parts: + view = component.queryMultiAdapter( + (self.adapted, self.request), name=p) + if view is None: + view = component.queryMultiAdapter( + (self.context, self.request), name=p) + if view is None: + continue + active = (activeMode is None and p == current) + if active: + activeMode = p + url = '%s?loops.viewName=%s' % (self.request.URL, p) + modes.append(ViewMode(p, view.tabTitle, url, active)) + if activeMode is None: + modes[0].active = True + return modes + @Lazy def adapted(self): return adapted(self.context, self.languageInfo) - @Lazy - def title(self): - return self.adapted.title or getName(self.context) - - @Lazy - def description(self): - return self.adapted.description - @Lazy def targetUrl(self): return self.nodeView.getUrlForTarget(self.context) diff --git a/browser/node_macros.pt b/browser/node_macros.pt index 139c81d..b350c24 100644 --- a/browser/node_macros.pt +++ b/browser/node_macros.pt @@ -267,17 +267,19 @@ - +
+ +
diff --git a/expert/browser/report.pt b/expert/browser/report.pt index 90ae0f2..2ffee9f 100755 --- a/expert/browser/report.pt +++ b/expert/browser/report.pt @@ -44,6 +44,11 @@ tal:condition="nothing" tal:attributes="name name; value params/?name" /> +