summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-12-13 14:36:03 +0000
committerGitHub <noreply@github.com>2016-12-13 14:36:03 +0000
commit2523e1fce8dc1167be2151f2264037e9e3047b66 (patch)
treecd2ee3222004401bda3059b37043a4f560c38a7e
parent8991fd4d6d9111032e1fd887e612c09ab665d934 (diff)
parentf25d9b27f8212252e11d69839aad632fa69696f8 (diff)
downloadrspamd-2523e1fce8dc1167be2151f2264037e9e3047b66.tar.gz
rspamd-2523e1fce8dc1167be2151f2264037e9e3047b66.zip
Merge pull request #1255 from AnnaStakhova/master
[WebUI] Fix read only
-rw-r--r--interface/index.html2
-rw-r--r--interface/js/rspamd.js43
2 files changed, 35 insertions, 10 deletions
diff --git a/interface/index.html b/interface/index.html
index 0b9b9eafb..b903b2575 100644
--- a/interface/index.html
+++ b/interface/index.html
@@ -273,7 +273,7 @@
</table>
</div>
</div>
- <div class="widget-box">
+ <div class="widget-box" id="errors-history">
<div class="widget-title">
<div class="buttons pull-right">
<button class="btn btn-info btn-sm" id="updateErrors">
diff --git a/interface/js/rspamd.js b/interface/js/rspamd.js
index ec273f27f..9909d879e 100644
--- a/interface/js/rspamd.js
+++ b/interface/js/rspamd.js
@@ -32,7 +32,6 @@
var graph;
var symbols;
var read_only = false;
- var btn_class = "";
var stat_timeout;
var selected = []; // Keep graph selectors state
@@ -753,7 +752,7 @@
'<td data-order="' + group.group + '"><div class="cell-overflow" tabindex="1" title="' + group.group + '">' + group.group + '</div></td>' +
'<td data-order="' + item.symbol + '"><strong>' + item.symbol + '</strong></td>' +
'<td data-order="' + item.description + '"><div class="cell-overflow" tabindex="1" title="' + item.description + '">' + item.description + '</div></td>' +
- '<td data-order="' + item.weight + '"><input class="numeric ' + label_class +
+ '<td data-order="' + item.weight + '"><input class="numeric mb-disabled ' + label_class +
'" data-role="numerictextbox" autocomplete="off" "type="number" class="input" min="' +
min + '" max="' +
max + '" step="' + decimalStep(item.weight) +
@@ -761,8 +760,7 @@
'" id="_sym_' + item.symbol + '"></span></td>' +
'<td data-order="' + item.frequency + '">' + item.frequency + '</td>' +
'<td data-order="' + item.time + '">' + Number(item.time).toFixed(2) + 'ms</td>' +
- '<td><button type="button" class="btn btn-primary btn-sm ' + btn_class +
- '">Save</button></td></tr>');
+ '<td><button type="button" class="btn btn-primary btn-sm mb-disabled">Save</button></td></tr>');
});
});
$('<tbody/>', {
@@ -790,6 +788,9 @@
symbols.columns.adjust().draw();
$('#symbolsTable :button').on('click',
function(){saveSymbols("./savesymbols", "symbolsTable")});
+ if (read_only) {
+ $( ".mb-disabled" ).attr('disabled', true);
+ }
},
error: function (data) {
alertMessage('alert-modal alert-error', data.statusText);
@@ -1057,13 +1058,15 @@
return a.idx - b.idx;
});
- $('#actionsBody').html('<form id="actionsForm">' +
+ $('#actionsBody').html('<form id="actionsForm"><fieldset id="actionsFormField">' +
items.map(function (e) {
return e.html;
}).join('') +
'<br><div class="form-group">' +
- '<button class="btn btn-primary ' + btn_class +
- '" type="submit">Save actions</button></div></form>');
+ '<button class="btn btn-primary" type="submit">Save actions</button></div></fieldset></form>');
+ if (read_only) {
+ $('#actionsFormField').attr('disabled', true)
+ }
}
});
}
@@ -1177,6 +1180,25 @@
// @connect to server
function connectRSPAMD() {
if (isLogged()) {
+ var data;
+ if (!supportsSessionStorage()) {
+ data = $.cookie('rspamdsession');
+ } else {
+ data = JSON.parse(sessionStorage.getItem('Credentials'));
+ }
+ if (data.read_only) {
+ read_only = true;
+ $('#learning_nav').parent().addClass('disabled');
+ $('#learning_nav').removeAttr('data-toggle', 'tab');
+ $('#resetHistory').attr('disabled', true);
+ $('#errors-history').hide();
+ }
+ else {
+ read_only = false;
+ $('#learning_nav').parent().removeClass('disabled');
+ $('#learning_nav').attr('data-toggle', 'tab');
+ $('#resetHistory').removeAttr('disabled', true);
+ }
displayUI();
return;
}
@@ -1211,13 +1233,16 @@
} else {
if (data.read_only) {
read_only = true;
- btn_class = "disabled";
$('#learning_nav').parent().addClass('disabled');
+ $('#learning_nav').removeAttr('data-toggle', 'tab');
+ $('#resetHistory').attr('disabled', true);
+ $('#errors-history').hide();
}
else {
read_only = false;
- btn_class = "";
$('#learning_nav').parent().removeClass('disabled')
+ $('#learning_nav').attr('data-toggle', 'tab');
+ $('#resetHistory').removeAttr('disabled', true);
}
saveCredentials(data, password);