diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-02-01 18:32:31 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2017-02-02 11:19:09 +0000 |
commit | 8bbf2795c8dce18b8c2c64f7107d2a1d1840a6c2 (patch) | |
tree | b5f0724923eb6b58cb7fd8429cd1f553bbdd6cf1 /interface | |
parent | 93452ca72cc2d12cef7bd534bcb4ca2d8d5f0166 (diff) | |
download | rspamd-8bbf2795c8dce18b8c2c64f7107d2a1d1840a6c2.tar.gz rspamd-8bbf2795c8dce18b8c2c64f7107d2a1d1840a6c2.zip |
[WebUI] Fix configuration page partially
Diffstat (limited to 'interface')
-rw-r--r-- | interface/js/app/config.js | 61 |
1 files changed, 33 insertions, 28 deletions
diff --git a/interface/js/app/config.js b/interface/js/app/config.js index 903874d16..999adce88 100644 --- a/interface/js/app/config.js +++ b/interface/js/app/config.js @@ -134,6 +134,17 @@ function($) { }); } + function loadActionsFromForm() { + var values = []; + var inputs = $('#actionsForm :input[type="slider"]'); + // Rspamd order: [spam,probable_spam,greylist] + values[0] = parseFloat(inputs[2].value); + values[1] = parseFloat(inputs[1].value); + values[2] = parseFloat(inputs[0].value); + + return JSON.stringify(values); + } + function getActions(rspamd) { $.ajax({ dataType: 'json', @@ -194,41 +205,35 @@ function($) { return e.html; }).join('') + '<br><div class="form-group">' + - '<button class="btn btn-primary" type="submit">Save actions</button></div></fieldset></form>'); + '<button class="btn btn-primary" id="saveActionsBtn">Save actions</button>' + + '<button class="btn btn-primary" id="saveActionsClusterBtn">Save cluster</button>' + + '</div></fieldset></form>'); if (rspamd.read_only) { + $('#saveActionsClusterBtn').attr('disabled', true); + $('#saveActionsBtn').attr('disabled', true); $('#actionsFormField').attr('disabled', true); } - } + + var elts = loadActionsFromForm(); + + $('#saveActionsClusterBtn').on('click', function() { + rspamd.queryNeighbours('saveactions', null, null, "POST", {}, { + data: elts, + dataType: "json", + }); + }); + $('#saveActionsBtn').on('click', function() { + rspamd.queryLocal('saveactions', null, null, "POST", {}, { + data: elts, + dataType: "json", + }); + }); + }, }); } + // @upload edited actions interface.setup = function(rspamd) { - $('#actionsForm').change('submit', function () { - var inputs = $('#actionsForm :input[type="slider"]'); - var url = 'saveactions'; - var values = []; - // Rspamd order: [spam,probable_spam,greylist] - values[0] = parseFloat(inputs[2].value); - values[1] = parseFloat(inputs[1].value); - values[2] = parseFloat(inputs[0].value); - $.ajax({ - data: JSON.stringify(values), - dataType: 'json', - type: 'POST', - url: url, - jsonp: false, - beforeSend: function (xhr) { - xhr.setRequestHeader('Password', rspamd.getPassword()); - }, - success: function () { - alertMessage('alert-success', 'Actions successfully saved'); - }, - error: function (data) { - alertMessage('alert-modal alert-error', data.statusText); - } - }); - return false; - }); // Modal form for maps $(document).on('click', '[data-toggle="modal"]', function () { var source = $(this).data('source'); |