Update displayed setting when API returns success

This commit is contained in:
Oliver 2021-11-09 21:29:31 +11:00
parent 5df4374607
commit eb5b810be0
2 changed files with 19 additions and 17 deletions

View File

@ -50,26 +50,17 @@
$('table').find('.btn-edit-setting').click(function() {
var setting = $(this).attr('setting');
var pk = $(this).attr('pk');
var url = `/settings/${pk}/edit/`;
var is_global = true;
if ($(this).attr('user')){
url += `user/`;
is_global = false;
}
launchModalForm(
url,
{
success: function(response) {
if (response.is_bool) {
var enabled = response.value.toLowerCase() == 'true';
$(`#setting-value-${setting}`).prop('checked', enabled);
} else {
$(`#setting-value-${setting}`).html(response.value);
}
}
}
);
editSetting(pk, {
global: is_global,
title: is_global ? '{% trans "Edit Global Setting" %}' : '{% trans "Edit User Setting" %}',
});
});
$("#edit-user").on('click', function() {

View File

@ -52,7 +52,7 @@ function editSetting(pk, options={}) {
constructChangeForm(fields, {
url: url,
method: 'PATCH',
title: "edit setting",
title: options.title,
processResults: function(data, fields, opts) {
switch (data.type) {
@ -75,6 +75,17 @@ function editSetting(pk, options={}) {
data.value = data.value.toString();
return data;
},
onSuccess: function(response) {
var setting = response.key;
if (response.type == "boolean") {
var enabled = response.value.toString().toLowerCase() == 'true';
$(`#setting-value-${setting}`).prop('checked', enabled);
} else {
$(`#setting-value-${setting}`).html(response.value);
}
}
});
},