aboutsummaryrefslogtreecommitdiffstats
path: root/tests/__init__.py
blob: 3bf8994c287fb6cf3294ae9c9abb97c0098c1143 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Refresh the debug toolbar's configuration when overriding settings.

from debug_toolbar.toolbar import DebugToolbar
from debug_toolbar.utils import settings as dt_settings

from django.dispatch import receiver
from django.test.signals import setting_changed


@receiver(setting_changed)
def update_toolbar_config(**kwargs):
    if kwargs['setting'] == 'DEBUG_TOOLBAR_CONFIG':
        dt_settings.CONFIG = {}
        dt_settings.CONFIG.update(dt_settings.CONFIG_DEFAULTS)
        dt_settings.CONFIG.update(kwargs['value'] or {})


@receiver(setting_changed)
def update_toolbar_panels(**kwargs):
    if kwargs['setting'] == 'DEBUG_TOOLBAR_PANELS':
        dt_settings.PANELS = kwargs['value'] or dt_settings.PANELS_DEFAULTS
        DebugToolbar._panel_classes = None
        # Not implemented: invalidate debug_toolbar.urls