From d180116ea06919250bbc3fefdb85946c057faa60 Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Mon, 17 Aug 2015 00:57:25 +0200 Subject: [PATCH 1/4] Refactor page permission formset on group edit page to not rely on edit-handler logic --- .../wagtailadmin/js/expanding_formset.js | 11 ++++++++--- .../templates/wagtailusers/groups/edit.html | 14 +++++++++++++- .../groups/includes/page_permissions_form.html | 8 +++----- .../groups/includes/page_permissions_formset.html | 4 ++-- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/wagtail/wagtailadmin/static_src/wagtailadmin/js/expanding_formset.js b/wagtail/wagtailadmin/static_src/wagtailadmin/js/expanding_formset.js index 906984e90..8bf57af0f 100644 --- a/wagtail/wagtailadmin/static_src/wagtailadmin/js/expanding_formset.js +++ b/wagtail/wagtailadmin/static_src/wagtailadmin/js/expanding_formset.js @@ -8,6 +8,12 @@ function buildExpandingFormset(prefix, opts) { var totalFormsInput = $('#' + prefix + '-TOTAL_FORMS'); var formCount = parseInt(totalFormsInput.val(), 10); + if (opts.onInit) { + for (var i = 0; i < formCount; i++) { + opts.onInit(i); + } + } + var emptyFormTemplate = document.getElementById(prefix + '-EMPTY_FORM_TEMPLATE'); if (emptyFormTemplate.innerText) { emptyFormTemplate = emptyFormTemplate.innerText; @@ -20,9 +26,8 @@ function buildExpandingFormset(prefix, opts) { .replace(/__prefix__/g, formCount) .replace(/<-(-*)\/script>/g, '<$1/script>'); formContainer.append(newFormHtml); - if (opts.onAdd) { - opts.onAdd(formCount); - } + if (opts.onAdd) opts.onAdd(formCount); + if (opts.onInit) opts.onInit(formCount); formCount++; totalFormsInput.val(formCount); diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html b/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html index 55886f6ad..5c9eb2414 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html @@ -44,6 +44,18 @@ {% include "wagtailadmin/pages/_editor_js.html" %} {% endblock %} diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_form.html b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_form.html index f6f56414d..f113231c8 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_form.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_form.html @@ -1,17 +1,15 @@ {% load i18n %} - {% include "wagtailadmin/edit_handlers/field_panel_field.html" with field=form.page only %} + {% include "wagtailadmin/shared/field.html" with field=form.page only %} - {% include "wagtailadmin/edit_handlers/field_panel_field.html" with field=form.permission_type only %} + {% include "wagtailadmin/shared/field.html" with field=form.permission_type only %} {{ form.id }} - {{ form.ORDER }} {{ form.DELETE }} - + - diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.html b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.html index 57eb59ace..7839da07b 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.html @@ -1,7 +1,7 @@ {% load i18n wagtailadmin_tags %}

{% trans "Page permissions" %}

-{{ formset.management_form }}{# what is this? #} +{{ formset.management_form }} @@ -32,7 +32,7 @@ {% endblock %} diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.js b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.js deleted file mode 100644 index afcf1718d..000000000 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/page_permissions_formset.js +++ /dev/null @@ -1,12 +0,0 @@ -$(function() { - var panel = InlinePanel({ - formsetPrefix: "id_{{ formset.prefix }}", - emptyChildFormPrefix: "{{ formset.empty_form.prefix }}" - }); - - {% for form in formset.forms %} - panel.initChildControls('{{ formset.prefix }}-{{ forloop.counter0 }}'); - {% endfor %} - - panel.updateMoveButtonDisabledStates(); -}); From 7768d57d2fad015982c15bf184beca7af52c4901 Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Mon, 17 Aug 2015 13:31:49 +0200 Subject: [PATCH 3/4] Move JS code shared between add group/delete group views into an include --- .../static_src/wagtailusers/js/group-form.js | 13 +++++++++++++ .../templates/wagtailusers/groups/create.html | 18 +----------------- .../templates/wagtailusers/groups/edit.html | 18 +----------------- .../groups/includes/group_form_js.html | 13 +++++++++++++ 4 files changed, 28 insertions(+), 34 deletions(-) create mode 100644 wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js create mode 100644 wagtail/wagtailusers/templates/wagtailusers/groups/includes/group_form_js.html diff --git a/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js b/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js new file mode 100644 index 000000000..e2773d66b --- /dev/null +++ b/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js @@ -0,0 +1,13 @@ +$(function() { + buildExpandingFormset('id_page_permissions', { + 'onInit': function(index) { + var deleteInputId = 'id_page_permissions-' + index + '-DELETE'; + var childId = 'inline_child_page_permissions-' + index; + $('#' + deleteInputId + '-button').click(function() { + /* set 'deleted' form field to true */ + $('#' + deleteInputId).val('1'); + $('#' + childId).fadeOut(); + }); + } + }); +}); diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/create.html b/wagtail/wagtailusers/templates/wagtailusers/groups/create.html index 9dc553834..b5712e589 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/create.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/create.html @@ -33,21 +33,5 @@ {% endblock %} {% block extra_js %} - {% include "wagtailadmin/pages/_editor_js.html" %} - - + {% include "wagtailusers/groups/includes/group_form_js.html" %} {% endblock %} diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html b/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html index 5c9eb2414..ddf76625a 100644 --- a/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/edit.html @@ -41,21 +41,5 @@ {% endblock %} {% block extra_js %} - {% include "wagtailadmin/pages/_editor_js.html" %} - - + {% include "wagtailusers/groups/includes/group_form_js.html" %} {% endblock %} diff --git a/wagtail/wagtailusers/templates/wagtailusers/groups/includes/group_form_js.html b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/group_form_js.html new file mode 100644 index 000000000..d494ce946 --- /dev/null +++ b/wagtail/wagtailusers/templates/wagtailusers/groups/includes/group_form_js.html @@ -0,0 +1,13 @@ +{% load static compress %} + + +{% compress js %} + + + + +{% endcompress %} From 755f9916278547fcd8915e5999984b79db140cc6 Mon Sep 17 00:00:00 2001 From: Matt Westcott Date: Wed, 9 Sep 2015 15:00:05 +0100 Subject: [PATCH 4/4] fix jscs warning --- wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js b/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js index e2773d66b..ee1ccd411 100644 --- a/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js +++ b/wagtail/wagtailusers/static_src/wagtailusers/js/group-form.js @@ -1,6 +1,6 @@ $(function() { buildExpandingFormset('id_page_permissions', { - 'onInit': function(index) { + onInit: function(index) { var deleteInputId = 'id_page_permissions-' + index + '-DELETE'; var childId = 'inline_child_page_permissions-' + index; $('#' + deleteInputId + '-button').click(function() {