Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion debug_toolbar/panels/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

from django.template.loader import render_to_string

from debug_toolbar import settings as dt_settings
from debug_toolbar.utils import get_name_from_obj


class Panel(object):
"""
Expand All @@ -20,7 +23,13 @@ def panel_id(self):

@property
def enabled(self):
return self.toolbar.request.COOKIES.get('djdt' + self.panel_id, 'on') == 'on'
# Check to see if settings has a default value for it
if get_name_from_obj(self) in dt_settings.CONFIG['DEFAULT_DISABLED_PANELS']:
default = 'off'
else:
default = 'on'
# The user's cookies should override the default value
return self.toolbar.request.COOKIES.get('djdt' + self.panel_id, default) == 'on'

# Titles and content

Expand Down
5 changes: 0 additions & 5 deletions debug_toolbar/panels/redirects.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ class RedirectsPanel(Panel):
Panel that intercepts redirects and displays a page with debug info.
"""

@property
def enabled(self):
default = 'on' if self.toolbar.config['INTERCEPT_REDIRECTS'] else 'off'
return self.toolbar.request.COOKIES.get('djdt' + self.panel_id, default) == 'on'

has_content = False

nav_title = _("Intercept redirects")
Expand Down
26 changes: 25 additions & 1 deletion debug_toolbar/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

CONFIG_DEFAULTS = {
# Toolbar options
'DEFAULT_DISABLED_PANELS': set(['debug_toolbar.panels.redirects.RedirectsPanel']),
'INSERT_BEFORE': '</body>',
'RENDER_PANELS': None,
'RESULTS_STORE_SIZE': 10,
Expand All @@ -32,7 +33,6 @@
'debug_toolbar',
'django',
),
'INTERCEPT_REDIRECTS': False,
'SHOW_TEMPLATE_CONTEXT': True,
'SQL_WARNING_THRESHOLD': 500, # milliseconds
}
Expand Down Expand Up @@ -125,6 +125,30 @@
PANELS[index] = new_panel


if 'INTERCEPT_REDIRECTS' in USER_CONFIG:
warnings.warn(
"INTERCEPT_REDIRECTS is deprecated. Please use the "
"DEFAULT_DISABLED_PANELS config in the"
"DEBUG_TOOLBAR_CONFIG setting.", DeprecationWarning)
if USER_CONFIG['INTERCEPT_REDIRECTS']:
if 'debug_toolbar.panels.redirects.RedirectsPanel' \
in CONFIG['DEFAULT_DISABLED_PANELS']:
# RedirectsPanel should be enabled
try:
CONFIG['DEFAULT_DISABLED_PANELS'].remove(
'debug_toolbar.panels.redirects.RedirectsPanel'
)
except KeyError:
# We wanted to remove it, but it didn't exist. This is fine
pass
elif not 'debug_toolbar.panels.redirects.RedirectsPanel' \
in CONFIG['DEFAULT_DISABLED_PANELS']:
# RedirectsPanel should be disabled
CONFIG['DEFAULT_DISABLED_PANELS'].add(
'debug_toolbar.panels.redirects.RedirectsPanel'
)


PATCH_SETTINGS = getattr(settings, 'DEBUG_TOOLBAR_PATCH_SETTINGS', settings.DEBUG)


Expand Down
7 changes: 7 additions & 0 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ toolbar itself, others are specific to some panels.
Toolbar options
~~~~~~~~~~~~~~~

* ``DEFAULT_DISABLED_PANELS``

Default: ``set(['debug_toolbar.panels.redirects.RedirectsPanel'])``

This setting is a set of the full Python paths to each panel that you
want disabled (but still displayed) by default.

* ``INSERT_BEFORE``

Default: ``'</body>'``
Expand Down