87 for element in sorted(stats): |
87 for element in sorted(stats): |
88 w(u'<tr><th align="left">%s</th><td>%s %s</td></tr>' |
88 w(u'<tr><th align="left">%s</th><td>%s %s</td></tr>' |
89 % (element, xml_escape(unicode(stats[element])), |
89 % (element, xml_escape(unicode(stats[element])), |
90 element.endswith('percent') and '%' or '' )) |
90 element.endswith('percent') and '%' or '' )) |
91 w(u'</table>') |
91 w(u'</table>') |
92 if req.cnx._cnxtype == 'inmemory': |
92 if req.cnx._cnxtype == 'inmemory' and req.user.is_in_group('managers'): |
93 w(u'<h3>%s</h3>' % _('opened sessions')) |
93 w(u'<h3>%s</h3>' % _('opened sessions')) |
94 sessions = repo._sessions.values() |
94 sessions = repo._sessions.values() |
95 if sessions: |
95 if sessions: |
96 w(u'<ul>') |
96 w(u'<ul>') |
97 for session in sessions: |
97 for session in sessions: |
110 w(u'<tr><th align="left">%s</th><td>%s</td></tr>' % ( |
110 w(u'<tr><th align="left">%s</th><td>%s</td></tr>' % ( |
111 _('base url'), req.base_url())) |
111 _('base url'), req.base_url())) |
112 w(u'<tr><th align="left">%s</th><td>%s</td></tr>' % ( |
112 w(u'<tr><th align="left">%s</th><td>%s</td></tr>' % ( |
113 _('data directory url'), req.datadir_url)) |
113 _('data directory url'), req.datadir_url)) |
114 w(u'</table>') |
114 w(u'</table>') |
115 from cubicweb.web.application import SESSION_MANAGER |
115 if req.user.is_in_group('managers'): |
116 sessions = SESSION_MANAGER.current_sessions() |
116 from cubicweb.web.application import SESSION_MANAGER |
117 w(u'<h3>%s</h3>' % _('opened web sessions')) |
117 sessions = SESSION_MANAGER.current_sessions() |
118 if sessions: |
118 w(u'<h3>%s</h3>' % _('opened web sessions')) |
119 w(u'<ul>') |
119 if sessions: |
120 for session in sessions: |
120 w(u'<ul>') |
121 try: |
121 for session in sessions: |
122 last_usage_time = session.cnx.check() |
122 try: |
123 except BadConnectionId: |
123 last_usage_time = session.cnx.check() |
124 w(u'<li>%s (INVALID)</li>' % session.sessionid) |
124 except BadConnectionId: |
125 continue |
125 w(u'<li>%s (INVALID)</li>' % session.sessionid) |
126 w(u'<li>%s (%s: %s)<br/>' % ( |
126 continue |
127 session.sessionid, |
127 w(u'<li>%s (%s: %s)<br/>' % ( |
128 _('last usage'), |
128 session.sessionid, |
129 strftime(dtformat, localtime(last_usage_time)))) |
129 _('last usage'), |
130 dict_to_html(w, session.data) |
130 strftime(dtformat, localtime(last_usage_time)))) |
131 w(u'</li>') |
131 dict_to_html(w, session.data) |
132 w(u'</ul>') |
132 w(u'</li>') |
133 else: |
133 w(u'</ul>') |
134 w(u'<p>%s</p>' % _('no web sessions found')) |
134 else: |
|
135 w(u'<p>%s</p>' % _('no web sessions found')) |
135 |
136 |
136 |
137 |
137 |
138 |
138 class RegistryView(StartupView): |
139 class RegistryView(StartupView): |
139 """display vregistry content""" |
140 """display vregistry content""" |