fix json escaping in templates

This commit is contained in:
bkfox
2022-12-16 11:04:25 +01:00
parent b0eaf0c531
commit 8bd11f363b
12 changed files with 13057 additions and 83 deletions

View File

@ -4,7 +4,6 @@ import json
from django import template
from django.contrib.admin.templatetags.admin_urls import admin_urlname
from django.urls import reverse
from django.utils.safestring import mark_safe
from aircox.models import Diffusion, Log
@ -51,7 +50,7 @@ def do_json(obj, fields=""):
if fields:
obj = {k: getattr(obj, k, None)
for k in ','.split(fields)}
return mark_safe(json.dumps(obj))
return json.dumps(obj)
@register.simple_tag(name='nav_items', takes_context=True)

View File

@ -1,14 +1,12 @@
import json
from django import template
from django.contrib import admin
from django.utils.safestring import mark_safe
from django.utils.translation import gettext_lazy as _
from aircox.serializers.admin import UserSettingsSerializer
__all__ = ('register', 'do_get_admin_tools', 'do_track_inline_data',
'do_track_inline_column_labels')
__all__ = ('register', 'do_get_admin_tools', 'do_track_inline_data')
register = template.Library()
@ -20,7 +18,7 @@ def do_get_admin_tools():
@register.simple_tag(name='track_inline_data', takes_context=True)
def do_track_inline_data(context, formset, safe_string=False):
def do_track_inline_data(context, formset):
"""
Return initial data for playlist editor as dict. Keys are:
- ``items``: list of items. Extra keys:
@ -44,7 +42,7 @@ def do_track_inline_data(context, formset, safe_string=False):
settings = getattr(user, 'aircox_settings', None)
data['settings'] = settings and UserSettingsSerializer(settings).data
source = json.dumps(data)
return safe_string and mark_safe(source) or source
return source
track_inline_labels_ = {