3 <title>Printable Pull List</title>
4 <style type="text/css">
5 @import url('/js/dojo/dojo/resources/dojo.css');
6 @import url('/js/dojo/dijit/themes/tundra/tundra.css');
7 @import url('/js/dojo/dojox/widget/Toaster/Toaster.css');
8 @import url('/opac/skin/default/css/layout.css');
10 <style type="text/css">
11 #clear_holds_deck { margin-bottom: 1em; }
12 a { color: blue; text-decoration: underline; }
13 small { font-size: 9pt; }
14 body { font-size: 14pt; }
18 border-bottom: 1px #999 dashed;
21 text-align: left; font-weight: bold;
22 border-bottom: 1px #000 solid;
23 border-right: 1px #000 solid;
27 <!-- The OpenSRF API writ JS -->
28 <script language='javascript' src='/opac/common/js/utils.js' type='text/javascript'></script>
29 <script language='javascript' src='/opac/common/js/CGI.js' type='text/javascript'></script>
30 <script language='javascript' src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
31 <!-- Dojo goodness -->
32 <script type="text/javascript">
33 var djConfig = {parseOnLoad:true,isDebug:false,AutoIDL:['aou','aout','pgt','ahr','acp','acn']};
34 var sort_order = ["acplo.position", "prefix", "call_number", "suffix", "request_time"];
36 <script type="text/javascript" src="/js/dojo/dojo/dojo.js"></script>
37 <script type="text/javascript" src="/js/dojo/dojo/openils_dojo.js"></script>
38 <script type="text/javascript" src="/js/dojo/dijit/dijit.js"></script>
39 <script type="text/javascript" src="/js/dojo/openils/User.js"></script>
40 <script type="text/javascript" src="/js/dojo/openils/Util.js"></script>
41 <script type="text/javascript" src="/js/dojo/openils/XUL.js"></script>
42 <script type="text/javascript" src="/opac/extras/circ/alt_holds_print.js"></script>
43 <script type="text/javascript">
46 authtoken = (typeof ses == "function" ? ses() : 0) ||
47 cgi.param("ses") || dojo.cookie("ses");
48 if(!authtoken && openils.XUL.isXUL()) {
49 var stash = openils.XUL.getStash();
50 authtoken = stash.session.key;
53 if (cgi.param("do") == "shelf_expired_holds") {
54 dojo.query("th[name=barcode_part]")[0].innerHTML = "Barcode"; /* XXX i18n. also, no support for part labels in this interface, at least for now */
55 dojo.byId("clear_holds_launcher").onclick = function() {
56 if (confirm("Are you sure you're ready to clear the expired holds from the shelf?")) { /* XXX i18n */
60 openils.Util.show("clear_holds_deck");
62 dojo.query("[only='shelf_expired_holds']").forEach(dojo.destroy);
66 dojo.addOnLoad(my_init);
71 <div style="width: 320px;"
72 dojoType="openils.widget.ProgressDialog"
73 jsId="progress_dialog"></div>
74 <div class="hide_me" id="no_results">No results</div>
75 <div class="hide_me" id="clear_holds_deck">
76 [ <a id="clear_holds_launcher"
77 href="javascript:void(0);">Clear expired holds</a> ]
78 <small><em id="clear_holds_set_label"></em></small>
80 <!-- START OF TEMPLATE SECTION -->
84 <th only="shelf_expired_holds">Patron</th>
85 <th only="shelf_expired_holds">Action</th>
89 <th>Shelving Location</th>
91 <th name="barcode_part">Barcode/Part</th>
96 <tbody id='template' class='hide_me'>
98 <td only="shelf_expired_holds">${usr.display_name}</td>
99 <td only="shelf_expired_holds">${action}</td>
100 <td>${hold_type}</td>
101 <td type='opac/slot-data' query='datafield[tag=245]'></td>
102 <td type='opac/slot-data' query='datafield[tag^=1]' limit='1'> </td>
103 <td>${current_copy.location.name}</td>
104 <td>${current_copy.call_number.prefix.label} ${current_copy.call_number.label} ${current_copy.call_number.suffix.label}</td>
105 <td>${current_copy.barcode} ${current_copy.parts_stringified}</td>
109 <!-- END OF TEMPLATE SECTION -->