Skip to content

Commit b860b75

Browse files
xoaryaastktyagi
authored andcommitted
[Fix] Add basic formatting #682
Added custom uuid converter and converter-based URL patterns. Fixes #682
1 parent 22b354f commit b860b75

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

openwisp_controller/config/apps.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
pre_delete,
1010
pre_save,
1111
)
12+
from django.urls import register_converter
13+
from django.urls.converters import get_converters
1214
from django.utils.translation import gettext_lazy as _
1315
from openwisp_notifications.types import (
1416
register_notification_type,
@@ -20,6 +22,7 @@
2022
from openwisp_utils.admin_theme.menu import register_menu_group
2123

2224
from . import settings as app_settings
25+
from .converters import UUIDAnyConverter, UUIDAnyOrFKConverter
2326
from .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")

openwisp_controller/config/urls.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1-
from django.urls import path
1+
from django.urls import path, register_converter
22

3+
from .converters import UUIDAnyConverter, UUIDAnyOrFKConverter
34
from .views import schema
45

6+
register_converter(UUIDAnyConverter, "uuid_any")
7+
register_converter(UUIDAnyOrFKConverter, "uuid_or_fk")
8+
59
app_name = "openwisp_controller"
610
urlpatterns = [path("config/schema.json", schema, name="schema")]

0 commit comments

Comments
 (0)