diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2012-08-08 18:20:57 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2012-08-14 08:26:54 +0200 |
commit | 690211adb52647efb6bb55919dec980d3660016e (patch) | |
tree | 62ca1f83f81b470b9a8cf0bdf788f86954bd9cc8 /install/ui/search.js | |
parent | d227c70d152095a6b8c50e93ac19197eeb9f7ffa (diff) | |
download | freeipa.git-690211adb52647efb6bb55919dec980d3660016e.tar.gz freeipa.git-690211adb52647efb6bb55919dec980d3660016e.tar.xz freeipa.git-690211adb52647efb6bb55919dec980d3660016e.zip |
Update other facets on delete from search page
When an object in search facet was deleted, other facets were not notified that they need to refresh. If one crated object with same pkey as deleted object and then navigated to it's details he could see old object's data.
This notification was added.
https://fedorahosted.org/freeipa/ticket/2618
Diffstat (limited to 'install/ui/search.js')
-rw-r--r-- | install/ui/search.js | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/install/ui/search.js b/install/ui/search.js index 845da57c..2c30b5b7 100644 --- a/install/ui/search.js +++ b/install/ui/search.js @@ -310,6 +310,7 @@ IPA.search_deleter_dialog = function(spec) { batch.on_success = function() { that.facet.refresh(); + that.facet.on_update.notify([],that.facet); that.close(); }; @@ -421,9 +422,7 @@ IPA.batch_items_action = function(spec) { var batch = IPA.batch_command({ name: entity.name + '_batch_'+ that.method, - on_success: function() { - facet.refresh(); - } + on_success: that.get_on_success(facet, on_success) }); for (var i=0; i<pkeys.length; i++) { @@ -441,5 +440,18 @@ IPA.batch_items_action = function(spec) { batch.execute(); }; + that.on_success = function(facet, data, text_status, xhr) { + facet.on_update.notify(); + facet.refresh(); + }; + + that.get_on_success = function(facet, on_success) { + return function(data, text_status, xhr) { + that.on_success(facet, data, text_status, xhr); + if (on_success) on_success.call(this, data, text_status, xhr); + }; + }; + + return that; }; |