diff options
| author | Aymeric Augustin | 2013-10-31 13:28:03 +0100 | 
|---|---|---|
| committer | Aymeric Augustin | 2013-11-01 13:50:38 +0100 | 
| commit | d4e5ef9e969b3cae675de2a602372ae7a639d0a2 (patch) | |
| tree | f9f2aee35483545a3fa8a0a386bffcfd5007de44 /debug_toolbar/middleware.py | |
| parent | 30180ec9a3d82752e309f5d0f9c685dec097e40d (diff) | |
| download | django-debug-toolbar-d4e5ef9e969b3cae675de2a602372ae7a639d0a2.tar.bz2 | |
Add a checkbox to toggle panels from the frontend.
Fix #35.
Diffstat (limited to 'debug_toolbar/middleware.py')
| -rw-r--r-- | debug_toolbar/middleware.py | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 76402bd..7988fd5 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -92,6 +92,10 @@ class DebugToolbarMiddleware(object):              toolbar = DebugToolbar(request)              for panel in toolbar.panels: +                panel.disabled = panel.dom_id() in request.COOKIES +                panel.enabled = not panel.disabled +                if panel.disabled: +                    continue                  panel.process_request(request)              self.__class__.debug_toolbars[threading.current_thread().ident] = toolbar @@ -102,6 +106,8 @@ class DebugToolbarMiddleware(object):              return          result = None          for panel in toolbar.panels: +            if panel.disabled: +                continue              response = panel.process_view(request, view_func, view_args, view_kwargs)              if response:                  result = response @@ -128,6 +134,8 @@ class DebugToolbarMiddleware(object):          if ('gzip' not in response.get('Content-Encoding', '') and                  response.get('Content-Type', '').split(';')[0] in _HTML_TYPES):              for panel in toolbar.panels: +                if panel.disabled: +                    continue                  panel.process_response(request, response)              response.content = replace_insensitive(                  force_text(response.content, encoding=settings.DEFAULT_CHARSET), | 
