From a7db0cd0d45aa6a29c54d13696fb1cb397bc3035 Mon Sep 17 00:00:00 2001 From: phasefx Date: Thu, 27 Jul 2006 22:48:15 +0000 Subject: [PATCH] batch editor git-svn-id: svn://svn.open-ils.org/ILS/trunk@5145 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../xul/staff_client/server/cat/copy_buckets.js | 48 ++++++++++++++++++---- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/Open-ILS/xul/staff_client/server/cat/copy_buckets.js b/Open-ILS/xul/staff_client/server/cat/copy_buckets.js index 89e236499f..5a3069b45b 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_buckets.js +++ b/Open-ILS/xul/staff_client/server/cat/copy_buckets.js @@ -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() { -- 2.11.0