summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2015-08-31 17:18:49 +0200
committerMartin Basti <mbasti@redhat.com>2015-09-30 10:42:37 +0200
commit34e6c3ea05b23f4a5fe6fb6aaadd394967f31340 (patch)
tree317d934b1d51295274e4cbcb1b28a95cd50430f2
parent9e3eeadeb3120f3577e00ab9cb410eccf8d71de0 (diff)
downloadfreeipa-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>
-rw-r--r--install/ui/src/freeipa/association.js17
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) {