summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--install/ui/sudo.js41
-rw-r--r--install/ui/widget.js10
2 files changed, 38 insertions, 13 deletions
diff --git a/install/ui/sudo.js b/install/ui/sudo.js
index 8d33550c0..1a6b03b1b 100644
--- a/install/ui/sudo.js
+++ b/install/ui/sudo.js
@@ -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();
diff --git a/install/ui/widget.js b/install/ui/widget.js
index 62af6c16d..83cb4dcb2 100644
--- a/install/ui/widget.js
+++ b/install/ui/widget.js
@@ -1471,11 +1471,11 @@ IPA.table_widget = function (spec) {
that.empty();
that.values = result[that.name];
- if (!that.values) return;
-
- for (var i=0; i<that.values.length; i++) {
- var record = that.get_record(result, i);
- that.add_record(record);
+ 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();
};