diff --git a/browser/concept_macros.pt b/browser/concept_macros.pt index d648679..76083e0 100644 --- a/browser/concept_macros.pt +++ b/browser/concept_macros.pt @@ -201,7 +201,10 @@ item.editable and 'dojo.dnd.Source' or ''"> + description related/description; + predicate related/predicateTitle; + info python: ' | '.join( + t for t in (description, predicate) if t)"> + title info">
Resource Title
diff --git a/browser/lobo/standard.pt b/browser/lobo/standard.pt index bb655dc..40a8061 100644 --- a/browser/lobo/standard.pt +++ b/browser/lobo/standard.pt @@ -17,7 +17,7 @@ title cell/description">

- +
@@ -36,7 +36,7 @@
- +
diff --git a/browser/lobo/standard.py b/browser/lobo/standard.py index b70d4eb..5b80e36 100644 --- a/browser/lobo/standard.py +++ b/browser/lobo/standard.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2011 Helmut Merz helmutm@cy55.de +# Copyright (c) 2012 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 @@ -18,8 +18,6 @@ """ View classes for lobo (blueprint-based) layouts. - -$Id$ """ from cgi import parse_qs @@ -66,8 +64,20 @@ class ConceptView(BaseConceptView): @Lazy def resources(self): + return self.getResources() + + @Lazy + def representingResources(self): + pred = self.representationPredicate + if pred is None: + return {} + return self.getResources([pred]) + + def getResources(self, predicates=None): result = dict(texts=[], images=[], files=[]) - for r in self.context.getResources([self.defaultPredicate]): + if predicates is None: + predicates = [self.defaultPredicate] + for r in self.context.getResources(predicates): if r.contentType.startswith('text/'): result['texts'].append(r) if r.contentType.startswith('image/'): @@ -81,6 +91,10 @@ class ConceptView(BaseConceptView): for r in self.resources['images']: yield r + @Lazy + def representationPredicate(self): + return self.conceptManager.get('represents') + # properties from base class: title, description, renderedDescription @Lazy @@ -99,6 +113,12 @@ class ConceptView(BaseConceptView): return u'' return self.renderDescription(self.textDescription) + @Lazy + def textRepresentation(self): + for r in self.representingResources.get('texts', []): + return self.renderText(r.data, r.contentType) + return self.renderedDescription + @Lazy def targetUrl(self): return self.nodeView.getUrlForTarget(self.context)