diff options
-rw-r--r-- | install/ui/sudo.js | 41 | ||||
-rw-r--r-- | install/ui/widget.js | 10 |
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(); }; |