batch editor
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 27 Jul 2006 22:48:15 +0000 (22:48 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 27 Jul 2006 22:48:15 +0000 (22:48 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@5145 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/cat/copy_buckets.js

index 89e2364..5a3069b 100644 (file)
@@ -306,16 +306,46 @@ cat.copy_buckets.prototype = {
                                                ['command'],
                                                function() {
                                                        try {
-                                                               JSAN.use('cat.util');
-                                                               cat.util.spawn_copy_editor(
-                                                                       util.functional.map_list(
-                                                                               obj.list2.dump_retrieve_ids(),
-                                                                               function (o) {
-                                                                                       return JSON2js(o)[0]; // acp_id
-                                                                               }
-                                                                       ),
-                                                                       true
+                                                       
+                                                               JSAN.use('util.widgets'); JSAN.use('util.functional');
+
+                                                               var list = util.functional.map_list(
+                                                                       obj.list2.dump_retrieve_ids(),
+                                                                       function (o) {
+                                                                               return JSON2js(o)[0]; // acp_id
+                                                                       }
                                                                );
+
+                                                               var copies = util.functional.map_list(
+                                                                       list,
+                                                                       function (acp_id) {
+                                                                               return obj.network.simple_request('FM_ACP_RETRIEVE',[acp_id]);
+                                                                       }
+                                                               );
+
+                                                               var edit = 0;
+                                                               try {
+                                                                       edit = obj.network.request(
+                                                                               api.PERM_MULTI_ORG_CHECK.app,
+                                                                               api.PERM_MULTI_ORG_CHECK.method,
+                                                                               [ 
+                                                                                       ses(), 
+                                                                                       obj.data.list.au[0].id(), 
+                                                                                       util.functional.map_list(
+                                                                                               copies,
+                                                                                               function (o) {
+                                                                                                       return obj.network.simple_request('FM_ACN_RETRIEVE',[o.call_number()]).owning_lib();
+                                                                                               }
+                                                                                       ),
+                                                                                       [ 'UPDATE_COPY', 'UPDATE_BATCH_COPY' ]
+                                                                               ]
+                                                                       ).length == 0 ? 1 : 0;
+                                                               } catch(E) {
+                                                                       obj.error.sdump('D_ERROR','batch permission check: ' + E);
+                                                               }
+
+                                                               JSAN.use('cat.util'); cat.util.spawn_copy_editor(list,edit);
+
                                                                obj.render_pending_copies(); // FIXME -- need a generic refresh for lists
                                                                setTimeout(
                                                                        function() {