0001-misc-put-page-template-name-in-exported-skeleton-con.patch
combo/public/views.py | ||
---|---|---|
32 | 32 |
from django.template import engines |
33 | 33 |
from django.template.loader import get_template, TemplateDoesNotExist |
34 | 34 |
from django.utils import lorem_ipsum, timezone |
35 |
from django.utils.encoding import force_text |
|
35 |
from django.utils.encoding import force_bytes, force_text
|
|
36 | 36 |
from django.utils.six.moves.urllib import parse as urlparse |
37 | 37 |
from django.utils.six.moves.urllib import parse as urllib |
38 | 38 |
from django.views.decorators.csrf import csrf_exempt |
... | ... | |
316 | 316 | |
317 | 317 |
template_name = combo_template['template'] |
318 | 318 |
response = render(request, template_name, ctx) |
319 |
response.content = b'{%% with page_template_name="%s" %%}%s{%% endwith %%}' % ( |
|
320 |
force_bytes(selected_page.template_name), |
|
321 |
force_bytes(response.content)) |
|
319 | 322 |
response['X-Combo-Page-Id'] = str(selected_page.id) |
320 | 323 |
response['X-Combo-Skeleton-Pages'] = json.dumps( |
321 | 324 |
dict([(x.id, utils.get_templated_url(x.redirect_url)) for x in same_domain_pages])) |
tests/test_public.py | ||
---|---|---|
251 | 251 |
resp = app.get('/__skeleton__/?source=%s' % quote('http://example.net/foo/bar')) |
252 | 252 |
assert '{% block placeholder-content %}{% block content %}{% endblock %}{% endblock %}' in resp.text |
253 | 253 |
assert '{% block placeholder-footer %}{% block footer %}{% endblock %}{% endblock %}' in resp.text |
254 |
assert resp.text.startswith('{% with page_template_name="standard" %}') |
|
254 | 255 | |
255 | 256 |
# url netloc match |
256 | 257 |
resp = app.get('/__skeleton__/?source=%s' % quote('http://example.net')) |
257 |
- |