From 690211adb52647efb6bb55919dec980d3660016e Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Wed, 8 Aug 2012 18:20:57 +0200 Subject: [PATCH] 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 --- install/ui/facet.js | 12 ++++++++++++ install/ui/search.js | 18 +++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/install/ui/facet.js b/install/ui/facet.js index 267fc3332..d5b21f323 100644 --- a/install/ui/facet.js +++ b/install/ui/facet.js @@ -1206,6 +1206,12 @@ IPA.facet_builder = function(entity) { spec.tab_label = spec.tab_label || attr_metadata.label; spec.factory = spec.factory || IPA.attribute_facet; + entity.policies.add_policy(IPA.build({ + factory: IPA.facet_update_policy, + source_facet: 'search', + dest_facet: spec.name + })); + return spec; }; @@ -1242,6 +1248,12 @@ IPA.facet_builder = function(entity) { spec.read_only = true; } + entity.policies.add_policy(IPA.build({ + factory: IPA.facet_update_policy, + source_facet: 'search', + dest_facet: spec.name + })); + return spec; }; diff --git a/install/ui/search.js b/install/ui/search.js index 845da57c1..2c30b5b77 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