2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: Patron Display -->
8 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
10 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
11 <?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
12 <?xml-stylesheet href="/xul/server/skin/cat.css" type="text/css"?>
14 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
16 <!DOCTYPE window PUBLIC "" ""[
17 <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
20 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
22 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
24 <window id="copy_buckets_win" title="&staff.cat.copy_buckets_quick.title;"
25 onload="try { my_init(); font_helper(); persist_helper(); } catch(E) { alert(E); }" oils_persist="height width"
26 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
28 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
30 <script type="text/javascript">var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};</script>
31 <scripts id="openils_util_scripts"/>
33 <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
36 function $(id) { return document.getElementById(id); }
37 function $c(n) { return document.createElement(n); }
41 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
42 if (typeof JSAN == 'undefined') {
43 throw( document.getElementById("commonStrings").getString('common.jsan.missing') );
45 JSAN.errorLevel = "die"; // none, warn, or die
46 JSAN.addRepository('/xul/server/');
47 JSAN.use('util.error'); g.error = new util.error();
48 g.error.sdump('D_TRACE','my_init() for copy_buckets.xul');
49 JSAN.use('util.network'); g.network = new util.network();
50 JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
52 g.copy_ids = xul_param(
55 'JSON2js_if_cgi' : true,
56 'JSON2js_if_xpcom' : true,
57 'stash_name':'cb_temp_copy_ids',
62 $('desc').appendChild(
63 document.createTextNode(
64 (g.copy_ids.length == 1 ?
65 $('catStrings').getString('staff.cat.copy_buckets_quick.bucket_prompt') :
66 $('catStrings').getFormattedString('staff.cat.copy_buckets_quick.bucket_prompt.plural', [g.copy_ids.length])
70 var robj = g.network.simple_request('BUCKET_RETRIEVE_VIA_USER',[ ses(), g.data.list.au[0].id() ]);
71 if (typeof robj.ilsevent != 'undefined') throw(robj);
73 for (var i = 0; i < robj.copy.length; i++) {
74 var listitem = $c('listitem');
75 listitem.setAttribute('label', robj.copy[i].name());
76 listitem.setAttribute('id', robj.copy[i].id());
77 $('bucket_list').appendChild(listitem);
80 try { $('bucket_list').selectedIndex = 0; } catch(E) { }
82 $('bucket_list').focus();
86 g.error.standard_unexpected_error_alert('Trying to init copy_buckets_quick.xul',E);
93 g.new_bucket = function() {
96 $('catStrings').getString('staff.cat.copy_buckets_quick.copy_buckets_new_bucket.prompt'),
98 $('catStrings').getString('staff.cat.copy_buckets_quick.copy_buckets_new_bucket.title')
101 var bucket = new ccb();
102 bucket.btype('staff_client');
103 bucket.owner( g.data.list.au[0].id() );
106 var bucket_id = g.network.simple_request('BUCKET_CREATE',[ses(),'copy',bucket]);
107 if (typeof bucket_id == 'object') throw bucket_id;
109 g.add_to_bucket(bucket_id);
112 g.error.standard_unexpected_error_alert($('catStrings').getString('staff.cat.copy_buckets_quick.copy_buckets_new_bucket.error'), E);
116 g.add_to_bucket = function(b) {
122 if ($('bucket_list').selectedItem) bucket_id = $('bucket_list').selectedItem.getAttribute('id');
126 if (!bucket_id) return;
127 for (var i = 0; i < g.copy_ids.length; i++) {
128 var bucket_item = new ccbi();
129 bucket_item.isnew('1');
130 bucket_item.bucket(bucket_id);
131 bucket_item.target_copy( g.copy_ids[i] );
133 var robj = g.network.simple_request('BUCKET_ITEM_CREATE', [ ses(), 'copy', bucket_item ]);
134 if (typeof robj == 'object') throw robj;
137 g.error.standard_unexpected_error_alert($('catStrings').getFormattedString('staff.cat.copy_buckets_quick.addition.error', [bucket_id, g.copy_ids[i]]), E);
143 g.advanced = function() {
144 JSAN.use('util.window'); var win = new util.window();
145 g.data.cb_temp_copy_ids = js2JSON( g.copy_ids ); g.data.stash('cb_temp_copy_ids');
146 win.open(urls.XUL_COPY_BUCKETS,'adv_copy_buckets','chrome,resizable,modal');
153 <messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
154 <messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
156 <vbox flex="1" style="overflow: auto">
158 <caption label="&staff.cat.copy_buckets_quick.item_buckets.label;"/>
159 <description id="desc"/>
160 <listbox id="bucket_list" rows="5" flex="1" style="overflow: auto"/>
162 <button label="&staff.cat.copy_buckets_quick.item_buckets.add_to_bucket.label;" accesskey="&staff.cat.copy_buckets_quick.item_buckets.add_to_bucket.accesskey;" oncommand="g.add_to_bucket()"/>
163 <button label="&staff.cat.copy_buckets_quick.item_buckets.new_bucket.label;" accesskey="&staff.cat.copy_buckets_quick.item_buckets.new_bucket.accesskey;" oncommand="g.new_bucket()"/>
167 <button label="Advanced" accesskey="v" oncommand="g.advanced()"/>
169 <button label="&staff.cat.copy_buckets_quick.item_buckets.cancel.label;" accesskey="&staff.cat.copy_buckets_quick.item_buckets.cancel.accesskey;" oncommand="window.close()"/>