--- a/__pkginfo__.py Wed Aug 12 18:05:19 2009 +0200
+++ b/__pkginfo__.py Wed Aug 12 18:06:23 2009 +0200
@@ -7,7 +7,7 @@
distname = "cubicweb"
modname = "cubicweb"
-numversion = (3, 4, 2)
+numversion = (3, 4, 3)
version = '.'.join(str(num) for num in numversion)
license = 'LGPL v2'
--- a/schema.py Wed Aug 12 18:05:19 2009 +0200
+++ b/schema.py Wed Aug 12 18:06:23 2009 +0200
@@ -874,6 +874,10 @@
from <directory>
"""
self.info('loading %s schemas', ', '.join(config.cubes()))
+ self.extrapath = {}
+ for cubesdir in config.cubes_search_path():
+ if cubesdir != config.CUBES_DIR:
+ self.extrapath[cubesdir] = 'cubes'
if config.apphome:
path = tuple(reversed([config.apphome] + config.cubes_path()))
else:
--- a/server/session.py Wed Aug 12 18:05:19 2009 +0200
+++ b/server/session.py Wed Aug 12 18:06:23 2009 +0200
@@ -114,8 +114,9 @@
if rcache is not None:
rset, entities = rcache
rset.rows.append([targeteid])
- if isinstance(rset.description, list): # else description not set
- rset.description.append([self.describe(targeteid)[0]])
+ if not isinstance(rset.description, list): # else description not set
+ rset.description = list(rset.description)
+ rset.description.append([self.describe(targeteid)[0]])
rset.rowcount += 1
targetentity = self.entity_from_eid(targeteid)
entities.append(targetentity)
--- a/web/test/unittest_urlrewrite.py Wed Aug 12 18:05:19 2009 +0200
+++ b/web/test/unittest_urlrewrite.py Wed Aug 12 18:06:23 2009 +0200
@@ -29,6 +29,8 @@
self.assertListEquals(rules, [
('foo' , dict(rql='Foo F')),
('/index' , dict(vid='index2')),
+ ('/_', dict(vid='manage')),
+ ('/_registry', dict(vid='registry')),
('/schema', dict(vid='schema')),
('/myprefs', dict(vid='propertiesform')),
('/siteconfig', dict(vid='systempropertiesform')),
--- a/web/test/unittest_viewselector.py Wed Aug 12 18:05:19 2009 +0200
+++ b/web/test/unittest_viewselector.py Wed Aug 12 18:06:23 2009 +0200
@@ -74,6 +74,7 @@
('manage', startup.ManageView),
('owl', owl.OWLView),
('propertiesform', cwproperties.CWPropertiesForm),
+ ('registry', startup.RegistryView),
('schema', schema.SchemaView),
('systempropertiesform', cwproperties.SystemCWPropertiesForm)])
--- a/web/views/autoform.py Wed Aug 12 18:05:19 2009 +0200
+++ b/web/views/autoform.py Wed Aug 12 18:06:23 2009 +0200
@@ -25,6 +25,8 @@
* rtags (rcategories, rfields, rwidgets, inlined, rpermissions)
* various standard form parameters
+ XXX s/rtags/uicfg/ ?
+
You can also easily customise it by adding/removing fields in
AutomaticEntityForm instances.
"""
--- a/web/views/startup.py Wed Aug 12 18:05:19 2009 +0200
+++ b/web/views/startup.py Wed Aug 12 18:06:23 2009 +0200
@@ -160,16 +160,21 @@
class RegistryView(StartupView):
id = 'registry'
title = _('registry')
- __select__ = match_user_groups('managers')
+ __select__ = StartupView.__select__ & match_user_groups('managers')
def call(self, **kwargs):
"""The default view representing the instance's management"""
self.w(u'<h1>%s</h1>' % _("Registry's content"))
keys = sorted(self.vreg)
- self.w(u'<p>%s</p>' % ' - '.join('<a href="/_registry#%s">%s</a>' % (key, key) for key in keys))
+ self.w(u'<p>%s</p>\n' % ' - '.join('<a href="/_registry#%s">%s</a>' % (key, key) for key in keys))
for key in keys:
- self.w(u'<a name="%s"><h2>%s</h2></a><table>' % (key,key))
- for key, value in sorted(self.vreg[key].items()):
- self.w(u'<tr><td>%s</td><td>%s</td></tr>' % (key, xml_escape(repr(value))))
- self.w(u'</table>')
+ self.w(u'<h2><a name="%s">%s</a></h2>' % (key,key))
+ items = self.vreg[key].items()
+ if items:
+ self.w(u'<table><tbody>')
+ for key, value in sorted(items):
+ self.w(u'<tr><td>%s</td><td>%s</td></tr>' % (key, xml_escape(repr(value))))
+ self.w(u'</tbody></table>\n')
+ else:
+ self.w(u'<p>Empty</p>\n')