--- a/view.py Mon Jan 24 19:09:42 2011 +0100
+++ b/view.py Tue Feb 01 11:52:10 2011 +0100
@@ -164,6 +164,7 @@
the whole result set (which may be None in this case), `call` is
called
"""
+ # XXX use .cw_row/.cw_col
row = context.get('row')
if row is not None:
context.setdefault('col', 0)
@@ -210,12 +211,21 @@
if rset is None:
raise NotImplementedError, (self, "an rset is required")
wrap = self.templatable and len(rset) > 1 and self.add_div_section
- # XXX propagate self.extra_kwargs?
- for i in xrange(len(rset)):
+ # avoid re-selection if rset of size 1, we already have the most
+ # specific view
+ if rset.rowcount != 1:
+ kwargs.setdefault('initargs', self.cw_extra_kwargs)
+ for i in xrange(len(rset)):
+ if wrap:
+ self.w(u'<div class="section">')
+ self.wview(self.__regid__, rset, row=i, **kwargs)
+ if wrap:
+ self.w(u"</div>")
+ else:
if wrap:
self.w(u'<div class="section">')
- self.cw_row = i
- self.wview(self.__regid__, rset, row=i, **kwargs)
+ kwargs.setdefault('col', 0)
+ self.cell_call(row=0, **kwargs)
if wrap:
self.w(u"</div>")
@@ -345,7 +355,7 @@
if table:
w(u'<th>%s</th>' % label)
else:
- w(u'<span>%s</span> ' % label)
+ w(u'<span class="label">%s</span> ' % label)
if table:
if not (show_label and label):
w(u'<td colspan="2">%s</td></tr>' % value)
@@ -375,6 +385,7 @@
def entity_call(self, entity, **kwargs):
raise NotImplementedError()
+
class StartupView(View):
"""base class for views which doesn't need a particular result set to be
displayed (so they can always be displayed !)