1 dump('entering cat/util.js\n');
3 if (typeof cat == 'undefined') var cat = {};
7 'spawn_copy_editor', 'add_copies_to_bucket', 'show_in_opac', 'spawn_spine_editor',
9 cat.util.EXPORT_TAGS = { ':all' : cat.util.EXPORT_OK };
11 cat.util.spawn_spine_editor = function(selection_list) {
12 JSAN.use('util.error'); var error = new util.error();
14 JSAN.use('util.functional');
16 xulG.url_prefix( urls.XUL_SPINE_LABEL ) + '?barcodes='
17 + js2JSON( util.functional.map_list(selection_list,function(o){return o.barcode;}) ),
18 { 'tab_name' : 'Spine Labels' },
22 error.standard_unexpected_error_alert('Spine Labels',E);
26 cat.util.show_in_opac = function(selection_list) {
27 JSAN.use('util.error'); var error = new util.error();
28 var doc_id; var seen = {};
30 for (var i = 0; i < selection_list.length; i++) {
31 doc_id = selection_list[i].doc_id;
33 alert(selection_list[i].barcode + ' is not cataloged');
36 if (typeof seen[doc_id] != 'undefined') {
40 var opac_url = xulG.url_prefix( urls.opac_rdetail ) + '?r=' + doc_id;
41 var content_params = {
43 'authtime' : ses('authtime'),
44 'opac_url' : opac_url,
47 xulG.url_prefix(urls.XUL_OPAC_WRAPPER),
48 {'tab_name':'Retrieving title...'},
53 error.standard_unexpected_error_alert('Error opening catalog for document id = ' + doc_id,E);
57 cat.util.add_copies_to_bucket = function(selection_list) {
58 JSAN.use('util.functional');
59 JSAN.use('util.window'); var win = new util.window();
60 JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.init({'via':'stash'});
61 data.temp_copy_ids = js2JSON(
62 util.functional.map_list(
65 if (typeof o.copy_id != 'undefined' && o.copy_id != null) {
73 data.stash('temp_copy_ids');
75 xulG.url_prefix(urls.XUL_COPY_BUCKETS_QUICK),
76 'sel_bucket_win' + win.window_name_increment(),
77 'chrome,resizable,modal,center'
81 cat.util.spawn_copy_editor = function(list,edit) {
84 JSAN.use('OpenILS.data'); obj.data = new OpenILS.data(); obj.data.init({'via':'stash'});
85 JSAN.use('util.network'); obj.network = new util.network();
86 JSAN.use('util.error'); obj.error = new util.error();
88 var title = list.length == 1 ? '' : 'Batch ';
89 title += edit == 1 ? 'Edit' : 'View';
90 title += ' Copy Attributes';
92 JSAN.use('util.window'); var win = new util.window();
94 obj.data.stash('temp');
95 obj.data.temp_copy_ids = js2JSON(list);
96 obj.data.stash('temp_copy_ids');
98 window.xulG.url_prefix(urls.XUL_COPY_EDITOR)
101 'chrome,modal,resizable'
103 /* FIXME -- need to unique the temp space, and not rely on modalness of window */
104 obj.data.stash_retrieve();
105 if (!obj.data.temp_copies) return;
106 var copies = JSON2js( obj.data.temp_copies );
107 obj.data.temp_copies = null; obj.data.stash('temp_copies');
108 obj.data.temp_callnumbers = null; obj.data.stash('temp_callnumbers');
109 obj.data.temp_copy_ids = null; obj.data.stash('temp_copy_ids');
110 obj.error.sdump('D_CAT','in cat/copy_status, copy editor, copies =\n<<' + copies + '>>');
111 if (edit=='1' && copies!='' && typeof copies != 'undefined') {
113 var r = obj.network.request(
114 api.FM_ACP_FLESHED_BATCH_UPDATE.app,
115 api.FM_ACP_FLESHED_BATCH_UPDATE.method,
118 /* FIXME -- revisit the return value here */
120 obj.error.standard_unexpected_error_alert('copy update error',E);
123 //alert('not updating');
130 dump('exiting cat/util.js\n');