update cell additional label after cell has been saved

This commit is contained in:
Frédéric Péters 2015-03-15 16:35:05 +01:00
parent e24991ad2c
commit 240d2e992a
5 changed files with 19 additions and 4 deletions

View File

@ -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;
});

View File

@ -1,5 +1,5 @@
{% load i18n %}
<form action="{{ url }}" method="post">
<form action="{{ url }}" method="post" data-label-url="{% url 'combo-manager-page-get-additional-label' page_pk=page.id cell_reference=cell.get_reference %}">
{% csrf_token %}
{% if form %}
{{ form.as_p }}

View File

@ -76,9 +76,8 @@
<div class="cell" data-cell-reference="{{ cell.get_reference }}">
<h3>{{ cell.get_label }}
{% if cell.slug %} [{{cell.slug}}] {% endif %}
{% if cell.get_additional_label %}
<span class="additional-label">
<i>{{cell.get_additional_label}}</i></span>{% endif %}
<i>{{cell.get_additional_label|default_if_none:""}}</i></span>
</h3>
<div>{% cell_form cell %}</div>
</div>

View File

@ -47,6 +47,8 @@ urlpatterns = patterns('combo.views',
url(r'^pages/(?P<page_pk>\w+)/cell/(?P<cell_reference>[\w_-]+)/visibility$',
views.page_cell_visibility,
name='combo-manager-page-visibility-cell'),
url(r'^pages/(?P<page_pk>\w+)/cell/(?P<cell_reference>[\w_-]+)/label$',
views.page_get_additional_label, name='combo-manager-page-get-additional-label'),
url(r'^pages/(?P<page_pk>\w+)/order$', views.cell_order,
name='combo-manager-cell-order'),
url(r'^pages/order$', views.page_order,

View File

@ -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