diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2015-08-31 17:18:49 +0200 |
---|---|---|
committer | Martin Basti <mbasti@redhat.com> | 2015-09-30 10:42:37 +0200 |
commit | 34e6c3ea05b23f4a5fe6fb6aaadd394967f31340 (patch) | |
tree | 317d934b1d51295274e4cbcb1b28a95cd50430f2 /install/ui | |
parent | 9e3eeadeb3120f3577e00ab9cb410eccf8d71de0 (diff) | |
download | freeipa-34e6c3ea05b23f4a5fe6fb6aaadd394967f31340.tar.gz freeipa-34e6c3ea05b23f4a5fe6fb6aaadd394967f31340.tar.xz freeipa-34e6c3ea05b23f4a5fe6fb6aaadd394967f31340.zip |
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 <mbasti@redhat.com>
Diffstat (limited to 'install/ui')
-rw-r--r-- | install/ui/src/freeipa/association.js | 17 |
1 files 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) { |