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:
Petr Vobornik 2011-08-26 18:36:54 +02:00 committed by Endi S. Dewata
parent f1b93c5b0b
commit 7d33e5bc3f
2 changed files with 38 additions and 13 deletions

View File

@ -574,12 +574,12 @@ IPA.sudo.options_section = function(spec) {
options: {
ipasudoopt: value
},
on_success: function() {
that.facet.refresh();
on_success: function(data) {
that.load(data.result.result);
dialog.close();
},
on_error: function() {
that.facet.refresh();
on_error: function(data) {
that.update();
dialog.close();
}
});
@ -618,12 +618,24 @@ IPA.sudo.options_section = function(spec) {
dialog.execute = function() {
var batch = IPA.batch_command({
on_success: function() {
that.facet.refresh();
on_success: function(data) {
//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();
},
on_error: function() {
that.facet.refresh();
on_error: function(data) {
that.update();
dialog.close();
}
});
@ -646,6 +658,19 @@ IPA.sudo.options_section = function(spec) {
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*/
setup_table();

View File

@ -1471,12 +1471,12 @@ IPA.table_widget = function (spec) {
that.empty();
that.values = result[that.name];
if (!that.values) return;
if (that.values) {
for (var i=0; i<that.values.length; i++) {
var record = that.get_record(result, i);
that.add_record(record);
}
}
that.unselect_all();
};