mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Modifying sudo options refreshes the whole page
https://fedorahosted.org/freeipa/ticket/1689 Currently adding or deleting sudo options will refresh the entire page. It's not a problem but the code could be optimized to refresh only the sudo options table
This commit is contained in:
parent
f1b93c5b0b
commit
7d33e5bc3f
@ -574,12 +574,12 @@ IPA.sudo.options_section = function(spec) {
|
|||||||
options: {
|
options: {
|
||||||
ipasudoopt: value
|
ipasudoopt: value
|
||||||
},
|
},
|
||||||
on_success: function() {
|
on_success: function(data) {
|
||||||
that.facet.refresh();
|
that.load(data.result.result);
|
||||||
dialog.close();
|
dialog.close();
|
||||||
},
|
},
|
||||||
on_error: function() {
|
on_error: function(data) {
|
||||||
that.facet.refresh();
|
that.update();
|
||||||
dialog.close();
|
dialog.close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -618,12 +618,24 @@ IPA.sudo.options_section = function(spec) {
|
|||||||
dialog.execute = function() {
|
dialog.execute = function() {
|
||||||
|
|
||||||
var batch = IPA.batch_command({
|
var batch = IPA.batch_command({
|
||||||
on_success: function() {
|
on_success: function(data) {
|
||||||
that.facet.refresh();
|
//last successful result of batch results contains valid data
|
||||||
|
var result;
|
||||||
|
for(var i = data.result.results.length - 1; i > -1; i--) {
|
||||||
|
result = data.result.results[i].result;
|
||||||
|
if(result) break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(result) {
|
||||||
|
that.load(result);
|
||||||
|
} else {
|
||||||
|
that.update();
|
||||||
|
}
|
||||||
|
|
||||||
dialog.close();
|
dialog.close();
|
||||||
},
|
},
|
||||||
on_error: function() {
|
on_error: function(data) {
|
||||||
that.facet.refresh();
|
that.update();
|
||||||
dialog.close();
|
dialog.close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -646,6 +658,19 @@ IPA.sudo.options_section = function(spec) {
|
|||||||
dialog.open(that.container);
|
dialog.open(that.container);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
that.update = function() {
|
||||||
|
var command = IPA.command({
|
||||||
|
entity: that.facet.entity.name,
|
||||||
|
method: 'show',
|
||||||
|
args: that.facet.get_primary_key(true),
|
||||||
|
on_success: function(data) {
|
||||||
|
that.load(data.result.result);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
command.execute();
|
||||||
|
};
|
||||||
|
|
||||||
/*initialization*/
|
/*initialization*/
|
||||||
setup_table();
|
setup_table();
|
||||||
|
|
||||||
|
@ -1471,12 +1471,12 @@ IPA.table_widget = function (spec) {
|
|||||||
that.empty();
|
that.empty();
|
||||||
|
|
||||||
that.values = result[that.name];
|
that.values = result[that.name];
|
||||||
if (!that.values) return;
|
if (that.values) {
|
||||||
|
|
||||||
for (var i=0; i<that.values.length; i++) {
|
for (var i=0; i<that.values.length; i++) {
|
||||||
var record = that.get_record(result, i);
|
var record = that.get_record(result, i);
|
||||||
that.add_record(record);
|
that.add_record(record);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
that.unselect_all();
|
that.unselect_all();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user