]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/server/cat/copy_buckets_quick.xul
commonStrings is loaded by the global_util overlay now
[Evergreen.git] / Open-ILS / xul / staff_client / server / cat / copy_buckets_quick.xul
1 <?xml version="1.0"?>
2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: Patron Display -->
4 <!--
5  vim:noet:sw=4:ts=4:
6  -->
7
8 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
9 <!-- STYLESHEETS -->
10 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
11 <?xml-stylesheet href="chrome://open_ils_staff_client/skin/global.css" type="text/css"?>
12 <?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
13 <?xml-stylesheet href="/xul/server/skin/cat.css" type="text/css"?>
14
15 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
16 <!-- LOCALIZATION -->
17 <!DOCTYPE window PUBLIC "" ""[
18         <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
19 ]>
20
21 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
22 <!-- OVERLAYS -->
23 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
24
25 <window id="copy_buckets_win" title="&staff.cat.copy_buckets_quick.title;"
26         onload="try { my_init(); font_helper(); } catch(E) { alert(E); }" persist="height,width"
27         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
28
29         <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
30         <!-- BEHAVIOR -->
31         <script type="text/javascript">var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};</script>
32         <scripts id="openils_util_scripts"/>
33
34         <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
35         <script>
36         <![CDATA[
37                 function $(id) { return document.getElementById(id); }
38                 function $c(n) { return document.createElement(n); }
39
40                 function my_init() {
41                         try {
42                                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
43                                 if (typeof JSAN == 'undefined') {
44                                         throw( document.getElementById("commonStrings").getString('common.jsan.missing') );
45                                 }
46                                 JSAN.errorLevel = "die"; // none, warn, or die
47                                 JSAN.addRepository('/xul/server/');
48                                 JSAN.use('util.error'); g.error = new util.error();
49                                 g.error.sdump('D_TRACE','my_init() for copy_buckets.xul');
50                                 JSAN.use('util.network'); g.network = new util.network();
51                                 JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
52
53                                 g.copy_ids = xul_param(
54                                         'copy_ids',{
55                                                 'concat' : true,
56                                                 'JSON2js_if_cgi' : true,
57                                                 'JSON2js_if_xpcom' : true,
58                                                 'stash_name':'cb_temp_copy_ids',
59                                                 'clear_xpcom' : true,
60                                         }
61                                 );
62
63                                 $('desc').appendChild(
64                                         document.createTextNode( 
65                                                 (g.copy_ids.length == 1 ?
66                                                         $('catStrings').getString('staff.cat.copy_buckets_quick.bucket_prompt') :
67                                                         $('catStrings').getFormattedString('staff.cat.copy_buckets_quick.bucket_prompt.plural', [g.copy_ids.length]) 
68                                                 ) 
69                                         )
70                                 );
71                                 var robj = g.network.simple_request('BUCKET_RETRIEVE_VIA_USER',[ ses(), g.data.list.au[0].id() ]);
72                                 if (typeof robj.ilsevent != 'undefined') throw(robj);
73
74                                 for (var i = 0; i < robj.copy.length; i++) {
75                                         var listitem = $c('listitem');
76                                         listitem.setAttribute('label', robj.copy[i].name());
77                                         listitem.setAttribute('id', robj.copy[i].id());
78                                         $('bucket_list').appendChild(listitem);
79                                 }
80
81                                 try { $('bucket_list').selectedIndex = 0; } catch(E) { }
82
83                                 $('bucket_list').focus();
84
85                         } catch(E) {
86                                 try { 
87                                         g.error.standard_unexpected_error_alert('Trying to init copy_buckets_quick.xul',E); 
88                                 } catch(F) { 
89                                         alert(E); 
90                                 }
91                         }
92                 }
93
94                 g.new_bucket = function() {
95                         try {
96                                 var name = prompt(
97                                         $('catStrings').getString('staff.cat.copy_buckets_quick.copy_buckets_new_bucket.prompt'),
98                                         '',
99                                         $('catStrings').getString('staff.cat.copy_buckets_quick.copy_buckets_new_bucket.title')
100                                 );
101                                 if (name) {
102                                         var bucket = new ccb();
103                                         bucket.btype('staff_client');
104                                         bucket.owner( g.data.list.au[0].id() );
105                                         bucket.name( name );
106
107                                         var bucket_id = g.network.simple_request('BUCKET_CREATE',[ses(),'copy',bucket]);
108                                         if (typeof bucket_id == 'object') throw bucket_id;
109
110                                         g.add_to_bucket(bucket_id);
111                                 }
112                         } catch(E) {
113                                 g.error.standard_unexpected_error_alert($('catStrings').getString('staff.cat.copy_buckets_quick.copy_buckets_new_bucket.error'), E);
114                         }
115                 }
116
117                 g.add_to_bucket = function(b) {
118                         var bucket_id;
119                         if (b) {
120                                 bucket_id = b;
121                         } else {
122                                 try {
123                                         if ($('bucket_list').selectedItem) bucket_id = $('bucket_list').selectedItem.getAttribute('id');
124                                 } catch(E) {
125                                 }
126                         }
127                         if (!bucket_id) return;
128                         for (var i = 0; i < g.copy_ids.length; i++) {
129                                 var bucket_item = new ccbi();
130                                 bucket_item.isnew('1');
131                                 bucket_item.bucket(bucket_id);
132                                 bucket_item.target_copy( g.copy_ids[i] );
133                                 try {
134                                         var robj = g.network.simple_request('BUCKET_ITEM_CREATE', [ ses(), 'copy', bucket_item ]);
135                                         if (typeof robj == 'object') throw robj;
136
137                                 } catch(E) {
138                                         g.error.standard_unexpected_error_alert($('catStrings').getFormattedString('staff.cat.copy_buckets_quick.addition.error', [bucket_id, g.copy_ids[i]]), E);
139                                 }
140                         }
141                         window.close();
142                 }
143
144                 g.advanced = function() {
145                         JSAN.use('util.window'); var win = new util.window();
146                         g.data.cb_temp_copy_ids = js2JSON( g.copy_ids ); g.data.stash('cb_temp_copy_ids');
147                         win.open(urls.XUL_COPY_BUCKETS,'adv_copy_buckets','chrome,resizable,modal');
148                         window.close();
149                 }
150
151         ]]>
152         </script>
153
154         <messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
155         <messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
156
157         <vbox flex="1" style="overflow: auto">
158         <groupbox flex="1">
159                 <caption label="&staff.cat.copy_buckets_quick.item_buckets.label;"/>
160                 <description id="desc"/>
161                 <listbox id="bucket_list" rows="5" flex="1" style="overflow: auto"/>
162                 <hbox>
163                         <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()"/>
164                         <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()"/>
165                 </hbox>
166                 <hbox>
167                         <!--
168                         <button label="Advanced" accesskey="v" oncommand="g.advanced()"/>
169                         -->
170                         <button label="&staff.cat.copy_buckets_quick.item_buckets.cancel.label;" accesskey="&staff.cat.copy_buckets_quick.item_buckets.cancel.accesskey;" oncommand="window.close()"/>
171                 </hbox>
172         </groupbox>
173         </vbox>
174
175 </window>
176