--- a/web/views/startup.py Tue Aug 11 17:19:05 2009 +0200
+++ b/web/views/startup.py Tue Aug 11 17:51:48 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'<h2><a name="%s">%s</a></h2><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')