From 240d2e992a6d401e2891de23682dfa45ae966894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Sun, 15 Mar 2015 16:35:05 +0100 Subject: [PATCH] update cell additional label after cell has been saved --- combo/manager/static/js/combo.manager.js | 9 ++++++++- combo/manager/templates/combo/cell_form.html | 2 +- combo/manager/templates/combo/page_view.html | 3 +-- combo/manager/urls.py | 2 ++ combo/manager/views.py | 7 +++++++ 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/combo/manager/static/js/combo.manager.js b/combo/manager/static/js/combo.manager.js index f1433572..39d620d7 100644 --- a/combo/manager/static/js/combo.manager.js +++ b/combo/manager/static/js/combo.manager.js @@ -91,7 +91,14 @@ $(function() { data: $form.serialize(), type: 'POST', beforeSend: function() { $button.attr('disabled', 'disabled'); }, - success: function() { $button.attr('disabled', null); } + success: function() { + $button.attr('disabled', null); + $.getJSON($form.data('label-url'), + function(data) { + $form.parents('div.cell').find('.additional-label i').text(data['label']); + } + ); + } }); return false; }); diff --git a/combo/manager/templates/combo/cell_form.html b/combo/manager/templates/combo/cell_form.html index 37a30f62..3152d3e9 100644 --- a/combo/manager/templates/combo/cell_form.html +++ b/combo/manager/templates/combo/cell_form.html @@ -1,5 +1,5 @@ {% load i18n %} -
+ {% csrf_token %} {% if form %} {{ form.as_p }} diff --git a/combo/manager/templates/combo/page_view.html b/combo/manager/templates/combo/page_view.html index ea1c0037..59a3a0be 100644 --- a/combo/manager/templates/combo/page_view.html +++ b/combo/manager/templates/combo/page_view.html @@ -76,9 +76,8 @@

{{ cell.get_label }} {% if cell.slug %} [{{cell.slug}}] {% endif %} - {% if cell.get_additional_label %} - {{cell.get_additional_label}}{% endif %} + {{cell.get_additional_label|default_if_none:""}}

{% cell_form cell %}
diff --git a/combo/manager/urls.py b/combo/manager/urls.py index 2e683b82..37f58cc1 100644 --- a/combo/manager/urls.py +++ b/combo/manager/urls.py @@ -47,6 +47,8 @@ urlpatterns = patterns('combo.views', url(r'^pages/(?P\w+)/cell/(?P[\w_-]+)/visibility$', views.page_cell_visibility, name='combo-manager-page-visibility-cell'), + url(r'^pages/(?P\w+)/cell/(?P[\w_-]+)/label$', + views.page_get_additional_label, name='combo-manager-page-get-additional-label'), url(r'^pages/(?P\w+)/order$', views.cell_order, name='combo-manager-cell-order'), url(r'^pages/order$', views.page_order, diff --git a/combo/manager/views.py b/combo/manager/views.py index 94045074..321b190b 100644 --- a/combo/manager/views.py +++ b/combo/manager/views.py @@ -259,3 +259,10 @@ def page_order(request): page.order = new_order.index(page.id)+1 page.save() return redirect(reverse('combo-manager-homepage')) + + +def page_get_additional_label(request, page_pk, cell_reference): + cell = CellBase.get_cell(cell_reference, page_id=page_pk) + response = HttpResponse(content_type='application/json') + json.dump({'label': cell.get_additional_label()}, response) + return response