web/views/debug.py
changeset 6020 6f3b4f20ee9f
parent 6012 d56fd78006cd
parent 6016 0eabedcfb0a9
child 6141 b8287e54b528
equal deleted inserted replaced
6015:ee76e8e72776 6020:6f3b4f20ee9f
    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"""