Browse Source

Fixes #2443: Enforce JSON object format when creating config contexts

Jeremy Stretch 7 năm trước cách đây
mục cha
commit
9df33cef8b
2 tập tin đã thay đổi với 9 bổ sung0 xóa
  1. 1 0
      CHANGELOG.md
  2. 8 0
      netbox/extras/models.py

+ 1 - 0
CHANGELOG.md

@@ -8,6 +8,7 @@ v2.4.5 (FUTURE)
 ## Bug Fixes
 ## Bug Fixes
 
 
 * [#2406](https://github.com/digitalocean/netbox/issues/2406) - Remove hard-coded limit of 1000 objects from API-populated form fields
 * [#2406](https://github.com/digitalocean/netbox/issues/2406) - Remove hard-coded limit of 1000 objects from API-populated form fields
+* [#2443](https://github.com/digitalocean/netbox/issues/2443) - Enforce JSON object format when creating config contexts
 
 
 ---
 ---
 
 

+ 8 - 0
netbox/extras/models.py

@@ -700,6 +700,14 @@ class ConfigContext(models.Model):
     def get_absolute_url(self):
     def get_absolute_url(self):
         return reverse('extras:configcontext', kwargs={'pk': self.pk})
         return reverse('extras:configcontext', kwargs={'pk': self.pk})
 
 
+    def clean(self):
+
+        # Verify that JSON data is provided as an object
+        if type(self.data) is not dict:
+            raise ValidationError(
+                {'data': 'JSON data must be in object form. Example: {"foo": 123}'}
+            )
+
 
 
 class ConfigContextModel(models.Model):
 class ConfigContextModel(models.Model):