# HG changeset patch # User Nicolas Chauvat # Date 1250008899 -7200 # Node ID 493f527aed1effaee52012f51ec9d73d7837c62d # Parent 1ba89b590d0c0d2c9539cbe686a6734378b237b4# Parent 4e1ad9d6a3e7be54aa11f270f30d76319afb93b9 backport stable branch diff -r 1ba89b590d0c -r 493f527aed1e server/session.py --- a/server/session.py Tue Aug 11 17:28:18 2009 +0200 +++ b/server/session.py Tue Aug 11 18:41:39 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 1ba89b590d0c -r 493f527aed1e web/test/unittest_urlrewrite.py --- a/web/test/unittest_urlrewrite.py Tue Aug 11 17:28:18 2009 +0200 +++ b/web/test/unittest_urlrewrite.py Tue Aug 11 18:41:39 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 1ba89b590d0c -r 493f527aed1e web/test/unittest_viewselector.py --- a/web/test/unittest_viewselector.py Tue Aug 11 17:28:18 2009 +0200 +++ b/web/test/unittest_viewselector.py Tue Aug 11 18:41:39 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 1ba89b590d0c -r 493f527aed1e web/views/autoform.py --- a/web/views/autoform.py Tue Aug 11 17:28:18 2009 +0200 +++ b/web/views/autoform.py Tue Aug 11 18:41:39 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 1ba89b590d0c -r 493f527aed1e web/views/startup.py --- a/web/views/startup.py Tue Aug 11 17:28:18 2009 +0200 +++ b/web/views/startup.py Tue Aug 11 18:41:39 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')