99 pre_delete ,
1010 pre_save ,
1111)
12+ from django .urls import register_converter
13+ from django .urls .converters import get_converters
1214from django .utils .translation import gettext_lazy as _
1315from openwisp_notifications .types import (
1416 register_notification_type ,
2022from openwisp_utils .admin_theme .menu import register_menu_group
2123
2224from . import settings as app_settings
25+ from .converters import UUIDAnyConverter , UUIDAnyOrFKConverter
2326from .signals import (
2427 config_backend_changed ,
2528 config_deactivated ,
@@ -42,6 +45,7 @@ class ConfigConfig(AppConfig):
4245 default_auto_field = "django.db.models.AutoField"
4346
4447 def ready (self , * args , ** kwargs ):
48+ self .register_path_converters ()
4549 self .__setmodels__ ()
4650 self .connect_signals ()
4751 self .register_notification_types ()
@@ -51,6 +55,13 @@ def ready(self, *args, **kwargs):
5155 self .register_menu_groups ()
5256 self .notification_cache_update ()
5357
58+ def register_path_converters (self ):
59+ converters = get_converters ()
60+ if "uuid_any" not in converters :
61+ register_converter (UUIDAnyConverter , "uuid_any" )
62+ if "uuid_any_or_fk" not in converters :
63+ register_converter (UUIDAnyOrFKConverter , "uuid_any_or_fk" )
64+
5465 def __setmodels__ (self ):
5566 self .device_model = load_model ("config" , "Device" )
5667 self .template_model = load_model ("config" , "Template" )
0 commit comments