mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-20 04:51:55 +00:00
Drone will now check that
from __future__ absolute_import, unicode_literals
is part of every Python source file, to ensure a consistent experience
across all versions of Python.
See #2392 for an instance where missing `unicode_literals` was causing
problems.
Add missing absolute_import, unicode_literals to all files
Explicitly ensure strings are of the correct types
Now that unicode_literals is in every file, some things that used to
be py2 `str`s were now `unicode` instead. This caused issues with
generated class / function names, which must be `str` in all versions of
Python. This means bytes in py2, and unicode in py3. A test also checked
for the incorrect type of SafeString. HTML content should always be
unicode, so this has been fixed.
26 lines
878 B
Python
26 lines
878 B
Python
from __future__ import absolute_import, unicode_literals
|
|
|
|
import json
|
|
|
|
from django.http import HttpResponse
|
|
from django.template.loader import render_to_string
|
|
|
|
|
|
def render_modal_workflow(request, html_template, js_template, template_vars=None):
|
|
""""
|
|
Render a response consisting of an HTML chunk and a JS onload chunk
|
|
in the format required by the modal-workflow framework.
|
|
"""
|
|
response_keyvars = []
|
|
|
|
if html_template:
|
|
html = render_to_string(html_template, template_vars or {}, request=request)
|
|
response_keyvars.append("'html': %s" % json.dumps(html))
|
|
|
|
if js_template:
|
|
js = render_to_string(js_template, template_vars or {}, request=request)
|
|
response_keyvars.append("'onload': %s" % js)
|
|
|
|
response_text = "{%s}" % ','.join(response_keyvars)
|
|
|
|
return HttpResponse(response_text, content_type="text/javascript")
|