summaryrefslogtreecommitdiffstats
path: root/install/ui
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2012-04-30 15:47:24 +0200
committerPetr Vobornik <pvoborni@redhat.com>2012-05-11 18:30:48 +0200
commit2c11dcda258cdbbc0949185f4c7ca5c2854c8352 (patch)
treeed8d0c221bc8fc0971da1b9f341d1956359a917a /install/ui
parenteeac88238ab6bca8098b1792532d8f40373b5ea5 (diff)
downloadfreeipa-2c11dcda258cdbbc0949185f4c7ca5c2854c8352.tar.gz
freeipa-2c11dcda258cdbbc0949185f4c7ca5c2854c8352.tar.xz
freeipa-2c11dcda258cdbbc0949185f4c7ca5c2854c8352.zip
Batch action for search page control buttons
This patch implements a base action which can execute a batch of commands with single pkey as a parameter. https://fedorahosted.org/freeipa/ticket/2707
Diffstat (limited to 'install/ui')
-rw-r--r--install/ui/search.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/install/ui/search.js b/install/ui/search.js
index 50a5fa0ec..1b6cfab2a 100644
--- a/install/ui/search.js
+++ b/install/ui/search.js
@@ -391,3 +391,45 @@ IPA.nested_search_facet = function(spec) {
return that;
};
+
+/*
+ * Calls entity's disable command for each selected item in a batch.
+ * Usable in table facets.
+ */
+IPA.batch_items_action = function(spec) {
+
+ spec = spec || {};
+
+ var that = IPA.action(spec);
+
+ that.method = spec.method || 'disable';
+
+ that.execute = function(facet, on_success, on_error) {
+
+ var entity = facet.managed_entity;
+ var pkeys = facet.get_selected_values();
+
+ var batch = IPA.batch_command({
+ name: entity.name + '_batch_'+ that.method,
+ on_success: function() {
+ facet.refresh();
+ }
+ });
+
+ for (var i=0; i<pkeys.length; i++) {
+ var pkey = pkeys[i];
+
+ var command = IPA.command({
+ entity: entity.name,
+ method: that.method,
+ args: [pkey]
+ });
+
+ batch.add_command(command);
+ }
+
+ batch.execute();
+ };
+
+ return that;
+};