Skip to content

Commit 8272818

Browse files
committed
Update schema.
1 parent 8218b39 commit 8272818

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

json_editor/admin.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22
import copy
33

4+
import collections
45
from django import forms
56
from django.utils.safestring import mark_safe
67
from django.template.loader import render_to_string
@@ -21,6 +22,8 @@ def render(self, name, value, attrs=None):
2122
else:
2223
schema = copy.copy(self._schema)
2324

25+
self.schema_updater(schema)
26+
2427
schema['title'] = ' '
2528
schema['options'] = {'collapsed': int(self._collapsed)}
2629

@@ -31,6 +34,16 @@ def render(self, name, value, attrs=None):
3134
}
3235
return mark_safe(render_to_string(self.template_name, context))
3336

37+
@classmethod
38+
def schema_updater(cls, nested):
39+
"""Updates schema to format allowed by JS"""
40+
for key, value in nested.items():
41+
if isinstance(value, collections.Mapping):
42+
cls.schema_updater(value)
43+
else:
44+
# Replace bool values with integers
45+
nested[key] = int(value) if isinstance(value, bool) else value
46+
3447
class Media:
3548
css = {'all': (
3649
'django_json_editor/bootstrap/css/bootstrap.min.css',

0 commit comments

Comments
 (0)