diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2012-04-30 15:47:24 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2012-05-11 18:30:48 +0200 |
commit | 2c11dcda258cdbbc0949185f4c7ca5c2854c8352 (patch) | |
tree | ed8d0c221bc8fc0971da1b9f341d1956359a917a | |
parent | eeac88238ab6bca8098b1792532d8f40373b5ea5 (diff) | |
download | freeipa-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
-rw-r--r-- | install/ui/search.js | 42 |
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; +}; |