# HG changeset patch # User Sylvain Thénault # Date 1250093183 -7200 # Node ID 971d7c545505ba084a2c311dcf922712b8fe40a4 # Parent 34dfdbefcfd14fb71a9b5d2959d2adb860e0d0a8# Parent f395115070c11c75f79c3f4cb6fe3832a036d61b merge diff -r f395115070c1 -r 971d7c545505 __pkginfo__.py --- 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' diff -r f395115070c1 -r 971d7c545505 schema.py --- 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 """ 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: diff -r f395115070c1 -r 971d7c545505 server/session.py --- 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) diff -r f395115070c1 -r 971d7c545505 web/test/unittest_urlrewrite.py --- 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')), diff -r f395115070c1 -r 971d7c545505 web/test/unittest_viewselector.py --- 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)]) diff -r f395115070c1 -r 971d7c545505 web/views/autoform.py --- 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. """ diff -r f395115070c1 -r 971d7c545505 web/views/startup.py --- 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'

%s

' % _("Registry's content")) keys = sorted(self.vreg) - self.w(u'

%s

' % ' - '.join('%s' % (key, key) for key in keys)) + self.w(u'

%s

\n' % ' - '.join('%s' % (key, key) for key in keys)) for key in keys: - self.w(u'

%s

' % (key,key)) - for key, value in sorted(self.vreg[key].items()): - self.w(u'' % (key, xml_escape(repr(value)))) - self.w(u'
%s%s
') + self.w(u'

%s

' % (key,key)) + items = self.vreg[key].items() + if items: + self.w(u'') + for key, value in sorted(items): + self.w(u'' % (key, xml_escape(repr(value)))) + self.w(u'
%s%s
\n') + else: + self.w(u'

Empty

\n')