From db863f8d46a554b8a84539bf81e11417dcbcf9d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Sun, 10 Jan 2016 21:13:14 +0100 Subject: [PATCH] manager: add an endpoint to have a single cell displayed (#9570) --- combo/manager/templates/combo/cell_preview.html | 12 ++++++++++++ combo/manager/urls.py | 2 ++ combo/manager/views.py | 24 ++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 combo/manager/templates/combo/cell_preview.html diff --git a/combo/manager/templates/combo/cell_preview.html b/combo/manager/templates/combo/cell_preview.html new file mode 100644 index 0000000..234e146 --- /dev/null +++ b/combo/manager/templates/combo/cell_preview.html @@ -0,0 +1,12 @@ +{% load combo gadjo %} + + + + + + {{media}} + + + {% placeholder "preview" %} + + diff --git a/combo/manager/urls.py b/combo/manager/urls.py index c9ff0f2..95f6d47 100644 --- a/combo/manager/urls.py +++ b/combo/manager/urls.py @@ -56,6 +56,8 @@ urlpatterns = patterns('combo.views', name='combo-manager-page-order'), url(r'^assets/$', views.assets, name='combo-manager-assets'), url(r'^assets/delete$', views.asset_delete, name='combo-manager-asset-delete'), + url(r'^preview/cell/(?P\w+)/(?P[\w_-]+)/', + views.cell_preview, name='combo-cell-preview'), (r'^ckeditor/', include('ckeditor.urls')), ) diff --git a/combo/manager/views.py b/combo/manager/views.py index afd7471..4361d71 100644 --- a/combo/manager/views.py +++ b/combo/manager/views.py @@ -340,3 +340,27 @@ def menu_json(request): break response.write(json_str) return response + + +class CellPreview(TemplateView): + template_name = 'combo/cell_preview.html' + + def get_context_data(self, **kwargs): + context = super(CellPreview, self).get_context_data(**kwargs) + page_pk = kwargs['page_pk'] + cell_reference = kwargs['cell_reference'] + try: + page = Page.objects.get(id=page_pk) + except Page.DoesNotExist: + raise Http404() + try: + cell = CellBase.get_cell(cell_reference, page_id=page_pk) + except ObjectDoesNotExist: + raise Http404() + cell.placeholder = 'preview' + context['page'] = page + context['page_cells'] = [cell] + context['media'] = getattr(cell, 'media', None) + return context + +cell_preview = CellPreview.as_view() -- 2.7.0.rc3