From 34e6c3ea05b23f4a5fe6fb6aaadd394967f31340 Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Mon, 31 Aug 2015 17:18:49 +0200 Subject: webui: improve performance of search in association dialog By adding no_members option to commands which supports it. It then skips memberof procession on the server side. https://fedorahosted.org/freeipa/ticket/5271 Reviewed-By: Martin Basti --- install/ui/src/freeipa/association.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/install/ui/src/freeipa/association.js b/install/ui/src/freeipa/association.js index 0448fad84..abb032fbb 100644 --- a/install/ui/src/freeipa/association.js +++ b/install/ui/src/freeipa/association.js @@ -28,6 +28,7 @@ define([ './metadata', './ipa', './jquery', + './metadata', './navigation', './phases', './reg', @@ -37,8 +38,8 @@ define([ './facet', './search', './dialog'], - function(lang, Deferred, metadata_provider, IPA, $, navigation, - phases, reg, rpc, su, text) { + function(lang, Deferred, metadata_provider, IPA, $, metadata, + navigation, phases, reg, rpc, su, text) { /** * Association module @@ -285,7 +286,7 @@ IPA.association_adder_dialog = function(spec) { } } - var options = { all: true }; + var options = {}; if (that.search_options) { lang.mixin(options, that.search_options); } @@ -315,13 +316,19 @@ IPA.association_adder_dialog = function(spec) { } } - rpc.command({ + var cmd = rpc.command({ entity: that.other_entity.name, method: 'find', args: [that.get_filter()], options: options, on_success: on_success - }).execute(); + }); + + var no_members = metadata.get('@mc-opt:' + cmd.get_command() + ':no_members'); + if (no_members) { + cmd.set_option('no_members', true); + } + cmd.execute(); }; that.normalize_values = function(values) { -- cgit