diff options
author | Marc Alexander <admin@m-a-styles.de> | 2016-11-26 23:10:47 +0100 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2016-11-27 00:14:22 +0100 |
commit | 48d6abcf0a28d33363c8da596570bfe8637d246c (patch) | |
tree | b9102cce8ceb510931927f3a99fd7645b53985fd /phpBB/adm/style/ajax.js | |
parent | 4fce18609ffd479a24580341aad275e5b24f0c65 (diff) | |
download | forums-48d6abcf0a28d33363c8da596570bfe8637d246c.tar forums-48d6abcf0a28d33363c8da596570bfe8637d246c.tar.gz forums-48d6abcf0a28d33363c8da596570bfe8637d246c.tar.bz2 forums-48d6abcf0a28d33363c8da596570bfe8637d246c.tar.xz forums-48d6abcf0a28d33363c8da596570bfe8637d246c.zip |
[ticket/9590] Update permissions with correct permission role
PHPBB3-9590
Diffstat (limited to 'phpBB/adm/style/ajax.js')
-rw-r--r-- | phpBB/adm/style/ajax.js | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/phpBB/adm/style/ajax.js b/phpBB/adm/style/ajax.js index 7ddd2d3742..3c1c57505b 100644 --- a/phpBB/adm/style/ajax.js +++ b/phpBB/adm/style/ajax.js @@ -70,6 +70,7 @@ function submitPermissions() { var $form = $('form#set-permissions'), fieldsetList = $form.find('fieldset[id^=perm]'), formDataSets = [], + dataSetIndex = 0, $submitAllButton = $form.find('input[type=submit][name^=action]')[0], $submitButton = $form.find('input[type=submit][data-clicked=true]')[0]; @@ -84,10 +85,21 @@ function submitPermissions() { } $.each(fieldsetList, function (key, value) { + dataSetIndex = Math.floor(key / 5); + var $fieldset = $('fieldset#' + value.id); if (key % 5 === 0) { - formDataSets[Math.floor(key / 5)] = $form.find('fieldset#' + value.id).serialize(); + formDataSets[dataSetIndex] = $fieldset.find('select:visible, input:not([data-name])').serialize(); } else { - formDataSets[Math.floor(key / 5)] += '&' + $form.find('fieldset#' + value.id).serialize(); + formDataSets[dataSetIndex] += '&' + $fieldset.find('select:visible, input:not([data-name])').serialize(); + } + + // Find proper role value + var roleInput = $fieldset.find('input[name^=role][data-name]'); + if (roleInput.val()) { + formDataSets[dataSetIndex] += '&' + roleInput.attr('name') + '=' + roleInput.val(); + } else { + formDataSets[dataSetIndex] += '&' + roleInput.attr('name') + '=' + + $fieldset.find('select[name="' + roleInput.attr('name') + '"]').val(); } }); |