cybertools.reporter basically working
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1759 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
4ac0a16080
commit
5c1a1a3544
4 changed files with 12 additions and 8 deletions
|
@ -42,12 +42,14 @@ empty.
|
|||
>>> list(r1.cells)
|
||||
[]
|
||||
|
||||
So let's assign a schema to the result set.
|
||||
|
||||
>>> from cybertools.composer.schema.schema import Schema
|
||||
>>> from cybertools.composer.schema.field import Field
|
||||
>>> rset.schema = Schema(Field(u'firstName'), Field(u'lastName'), Field(u'birthDate'))
|
||||
>>> r1 = rset.rows.next()
|
||||
>>> [c.text for c in r1.cells]
|
||||
['Smith', 'John', '1956-08-01']
|
||||
[u'Smith', u'John', u'1956-08-01']
|
||||
|
||||
For the browser presentation we can also use a browser view providing
|
||||
the result set with extended attributes:
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<h2 tal:content="item/title">Something</h2><br />
|
||||
<table class="listing">
|
||||
<tr>
|
||||
<th tal:repeat="field result/schema"
|
||||
<th tal:repeat="field result/schema/fields"
|
||||
tal:content="field/title"
|
||||
i18n:translate="">Fieldname</th>
|
||||
</tr>
|
||||
|
@ -25,7 +25,7 @@
|
|||
<tal:item define="class python: repeat['row'].odd() and 'even' or 'odd'">
|
||||
<tr tal:attributes="class class">
|
||||
<td valign="top"
|
||||
repeat="cell row/cells">
|
||||
tal:repeat="cell row/cells">
|
||||
<a href="#"
|
||||
tal:omit-tag="not:cell/url"
|
||||
tal:attributes="href cell/url;
|
||||
|
|
|
@ -26,6 +26,7 @@ from zope import interface, component
|
|||
from zope.app.pagetemplate import ViewPageTemplateFile
|
||||
from zope.cachedescriptors.property import Lazy
|
||||
|
||||
from cybertools.reporter.resultset import ResultSet
|
||||
from loops.browser.common import BaseView
|
||||
|
||||
|
||||
|
@ -38,7 +39,7 @@ class DetailView(BaseView):
|
|||
|
||||
@Lazy
|
||||
def macro(self):
|
||||
return self.template.macros('detail')
|
||||
return self.template.macros['detail']
|
||||
|
||||
@Lazy
|
||||
def resultSet(self):
|
||||
|
@ -56,10 +57,9 @@ class ListingView(BaseView):
|
|||
|
||||
@Lazy
|
||||
def macro(self):
|
||||
return self.template.macros('listing')
|
||||
return self.template.macros['listing']
|
||||
|
||||
@Lazy
|
||||
def resultSet(self):
|
||||
result = ResultSet()
|
||||
return result
|
||||
return ResultSet(self.context)
|
||||
|
||||
|
|
|
@ -44,7 +44,9 @@ class Cell(object):
|
|||
|
||||
@property
|
||||
def text(self):
|
||||
return str(self.value)
|
||||
if isinstance(self.value, unicode):
|
||||
return self.value
|
||||
return unicode(str(self.value))
|
||||
|
||||
@property
|
||||
def token(self):
|
||||
|
|
Loading…
Add table
Reference in a new issue