158 |
158 |
159 |
159 |
160 class RegistryView(StartupView): |
160 class RegistryView(StartupView): |
161 id = 'registry' |
161 id = 'registry' |
162 title = _('registry') |
162 title = _('registry') |
163 __select__ = match_user_groups('managers') |
163 __select__ = StartupView.__select__ & match_user_groups('managers') |
164 |
164 |
165 def call(self, **kwargs): |
165 def call(self, **kwargs): |
166 """The default view representing the instance's management""" |
166 """The default view representing the instance's management""" |
167 self.w(u'<h1>%s</h1>' % _("Registry's content")) |
167 self.w(u'<h1>%s</h1>' % _("Registry's content")) |
168 keys = sorted(self.vreg) |
168 keys = sorted(self.vreg) |
169 self.w(u'<p>%s</p>' % ' - '.join('<a href="/_registry#%s">%s</a>' % (key, key) for key in keys)) |
169 self.w(u'<p>%s</p>\n' % ' - '.join('<a href="/_registry#%s">%s</a>' % (key, key) for key in keys)) |
170 for key in keys: |
170 for key in keys: |
171 self.w(u'<h2><a name="%s">%s</a></h2><table>' % (key,key)) |
171 self.w(u'<h2><a name="%s">%s</a></h2>' % (key,key)) |
172 for key, value in sorted(self.vreg[key].items()): |
172 items = self.vreg[key].items() |
173 self.w(u'<tr><td>%s</td><td>%s</td></tr>' % (key, xml_escape(repr(value)))) |
173 if items: |
174 self.w(u'</table>') |
174 self.w(u'<table><tbody>') |
|
175 for key, value in sorted(items): |
|
176 self.w(u'<tr><td>%s</td><td>%s</td></tr>' % (key, xml_escape(repr(value)))) |
|
177 self.w(u'</tbody></table>\n') |
|
178 else: |
|
179 self.w(u'<p>Empty</p>\n') |
175 |
180 |