29 lines
783 B
Python
29 lines
783 B
Python
from django.http import JsonResponse
|
|
from django.template.loader import render_to_string
|
|
|
|
|
|
def render_modal_workflow(
|
|
request, html_template, js_template=None, template_vars=None, json_data=None
|
|
):
|
|
""" "
|
|
Render a response consisting of an HTML chunk and a JS onload chunk
|
|
in the format required by the modal-workflow framework.
|
|
"""
|
|
if js_template:
|
|
raise TypeError(
|
|
"Passing a js_template argument to render_modal_workflow is no longer supported"
|
|
)
|
|
|
|
# construct response as JSON
|
|
response = {}
|
|
|
|
if html_template:
|
|
response["html"] = render_to_string(
|
|
html_template, template_vars or {}, request=request
|
|
)
|
|
|
|
if json_data:
|
|
response.update(json_data)
|
|
|
|
return JsonResponse(response)
|