Merge branch 'master' of ssh://git.cy55.de/home/git/loops into bbmaster

This commit is contained in:
hplattner 2012-03-07 16:14:32 +01:00
commit b536f8540d
3 changed files with 31 additions and 8 deletions

View file

@ -201,7 +201,10 @@
item.editable and 'dojo.dnd.Source' or ''"> item.editable and 'dojo.dnd.Source' or ''">
<tal:items repeat="related resources"> <tal:items repeat="related resources">
<tal:item define="class python: repeat['related'].odd() and 'even' or 'odd'; <tal:item define="class python: repeat['related'].odd() and 'even' or 'odd';
description related/description"> description related/description;
predicate related/predicateTitle;
info python: ' | '.join(
t for t in (description, predicate) if t)">
<tr tal:attributes="class string:$class dojoDndItem dojoDndHandle; <tr tal:attributes="class string:$class dojoDndItem dojoDndHandle;
id related/uniqueId"> id related/uniqueId">
<td tal:condition="item/showCheckboxes|nothing" <td tal:condition="item/showCheckboxes|nothing"
@ -218,7 +221,7 @@
<img tal:attributes="src icon/src" /> <img tal:attributes="src icon/src" />
</a> </a>
<a tal:attributes="href python: view.getUrlForTarget(related); <a tal:attributes="href python: view.getUrlForTarget(related);
title description"> title info">
<div tal:content="related/title">Resource Title</div> <div tal:content="related/title">Resource Title</div>
</a> </a>
</td> </td>

View file

@ -17,7 +17,7 @@
title cell/description"> title cell/description">
<div class="legend"> <div class="legend">
<b tal:content="cell/title" /><br /> <b tal:content="cell/title" /><br />
<i tal:content="structure cell/renderedDescription" /> <i tal:content="structure cell/textRepresentation" />
</div> </div>
</a> </a>
</div> </div>
@ -36,7 +36,7 @@
<a tal:attributes="href cell/targetUrl"> <a tal:attributes="href cell/targetUrl">
<b tal:content="cell/title" /></a><br /> <b tal:content="cell/title" /></a><br />
<tal:desc condition="cell/description"> <tal:desc condition="cell/description">
<span tal:content="structure cell/renderedDescription" /></tal:desc> <span tal:content="structure cell/textRepresentation" /></tal:desc>
<br /> <br />
</div> </div>
</tal:cell> </tal:cell>

View file

@ -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 # 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 # it under the terms of the GNU General Public License as published by
@ -18,8 +18,6 @@
""" """
View classes for lobo (blueprint-based) layouts. View classes for lobo (blueprint-based) layouts.
$Id$
""" """
from cgi import parse_qs from cgi import parse_qs
@ -66,8 +64,20 @@ class ConceptView(BaseConceptView):
@Lazy @Lazy
def resources(self): 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=[]) 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/'): if r.contentType.startswith('text/'):
result['texts'].append(r) result['texts'].append(r)
if r.contentType.startswith('image/'): if r.contentType.startswith('image/'):
@ -81,6 +91,10 @@ class ConceptView(BaseConceptView):
for r in self.resources['images']: for r in self.resources['images']:
yield r yield r
@Lazy
def representationPredicate(self):
return self.conceptManager.get('represents')
# properties from base class: title, description, renderedDescription # properties from base class: title, description, renderedDescription
@Lazy @Lazy
@ -99,6 +113,12 @@ class ConceptView(BaseConceptView):
return u'' return u''
return self.renderDescription(self.textDescription) 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 @Lazy
def targetUrl(self): def targetUrl(self):
return self.nodeView.getUrlForTarget(self.context) return self.nodeView.getUrlForTarget(self.context)