checkout, maybe
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 15 Jul 2005 19:12:06 +0000 (19:12 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 15 Jul 2005 19:12:06 +0000 (19:12 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@1214 dcc99617-32d9-48b4-a31d-7c20da2025e4

16 files changed:
Evergreen/staff_client/Makefile
Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js
Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS_scripts_overlay.xul
Evergreen/staff_client/chrome/content/evergreen/circ/circ_utils.js
Evergreen/staff_client/chrome/content/evergreen/main/paged_tree_overlay.xul
Evergreen/staff_client/chrome/content/evergreen/patron/patron_checkout_items.js [new file with mode: 0644]
Evergreen/staff_client/chrome/content/evergreen/patron/patron_display.js
Evergreen/staff_client/chrome/content/evergreen/patron/patron_display.xul
Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_contact.js [deleted file]
Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_contact.xul [deleted file]
Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_overlay.xul
Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_status.js [deleted file]
Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_status.xul [deleted file]
Evergreen/staff_client/chrome/content/evergreen/util/error.js
Evergreen/staff_client/chrome/content/evergreen/util/ses.js
Evergreen/staff_client/chrome/locale/en-US/evergreen/patron_display.dtd

index e927392..b22d1d4 100644 (file)
@@ -24,9 +24,11 @@ open-ils:
 
 patron:
        (cat chrome/content/evergreen/main/paged_tree_overlay.xul | sed s/paged_tree/patron_items/g | sed s/PagedTree/PatronItems/g > chrome/content/evergreen/patron/patron_items_overlay.xul )
-       (cp chrome/locale/en-US/evergreen/paged_tree.dtd chrome/locale/en-US/evergreen/patron_items.dtd)
        (cat chrome/content/evergreen/main/paged_tree_overlay.xul | sed s/paged_tree/patron_search_results/g | sed s/PagedTree/PatronSearchResults/g > chrome/content/evergreen/patron/patron_search_results_overlay.xul )
+       (cat chrome/content/evergreen/main/paged_tree_overlay.xul | sed s/paged_tree/patron_checkout_items/g | sed s/PagedTree/PatronCheckoutItems/g > chrome/content/evergreen/patron/patron_checkout_items_overlay.xul )
+       (cp chrome/locale/en-US/evergreen/paged_tree.dtd chrome/locale/en-US/evergreen/patron_items.dtd)
        (cp chrome/locale/en-US/evergreen/paged_tree.dtd chrome/locale/en-US/evergreen/patron_search_results.dtd)
+       (cp chrome/locale/en-US/evergreen/paged_tree.dtd chrome/locale/en-US/evergreen/patron_checkout_items.dtd)
 
 evergreen.xpi: evergreen.jar
        @echo
@@ -45,6 +47,7 @@ clean:
        rm -f chrome/evergreen.jar
        rm -f chrome/content/evergreen/patron/patron_items_overlay.xul chrome/locale/en-US/evergreen/patron_items.dtd
        rm -f chrome/content/evergreen/patron/patron_search_results_overlay.xul chrome/locale/en-US/evergreen/patron_search_results.dtd
+       rm -f chrome/content/evergreen/patron/patron_checkout_items_overlay.xul chrome/locale/en-US/evergreen/patron_checkout_items.dtd
        rm -f chrome/content/evergreen/conf/client_config.xml
        rm -f chrome/content/evergreen/util/fieldmapper.js
        rm -f chrome/content/evergreen/util/OrgTree.js
index cd50d21..e88a62b 100644 (file)
@@ -16,6 +16,7 @@ function OpenILS_init(params) {
                        case 'PatronDisplayStatus' : patron_display_status_init(params); break;
                        case 'PatronDisplayContact' : patron_display_contact_init(params); break;
                        case 'PatronItems' : patron_items_init(params); break;
+                       case 'PatronCheckoutItems' : patron_checkout_items_init(params); break;
                }
 
        } catch(E) { sdump('D_ERROR',js2JSON(E)+'\n'); }
@@ -48,6 +49,7 @@ function OpenILS_exit(params) {
                        case 'PatronDisplayStatus' : patron_display_status_exit(params); break;
                        case 'PatronDisplayContact' : patron_display_contact_exit(params); break;
                        case 'PatronItems' : patron_items_exit(params); break;
+                       case 'PatronCheckoutItems' : patron_checkout_items_exit(params); break;
                }
 
        } catch(E) { sdump('D_ERROR',js2JSON(E)+'\n'); }
index c785f79..cb956d6 100644 (file)
@@ -18,6 +18,7 @@
                <script src="chrome://evergreen/content/patron/patron_display.js" />
                <script src="chrome://evergreen/content/patron/patron_display_status.js" />
                <script src="chrome://evergreen/content/patron/patron_display_contact.js" />
+               <script src="chrome://evergreen/content/patron/patron_checkout_items.js" />
                <script src="chrome://evergreen/content/patron/patron_items.js" />
                <script src="chrome://evergreen/content/circ/circ_utils.js" />
        </apps>
index 0c40ed1..0f842e0 100644 (file)
@@ -1,5 +1,44 @@
 sdump('D_TRACE','Loading circ_tree.js\n');
 
+function is_barcode_valid( barcode ) {
+
+       // consider checkdigit, length, etc.
+
+       return check_checkdigit( barcode );
+}
+
+function checkout_permit(barcode, patron_id, num_of_open_async_checkout_requests) {
+       sdump('D_CIRC_UTILS',arg_dump(arguments,{0:true,1:true,2:true}));
+       try {
+               var check = user_request(
+                       'open-ils.circ',
+                       'open-ils.circ.permit_checkout',
+                       [ mw.G.auth_ses[0], barcode, patron_id, num_of_open_async_checkout_requests ]
+               )[0];
+               sdump('D_CIRC_UTILS','check = ' + js2JSON(check) + '\n');
+               return check;   
+       } catch(E) {
+               handle_error(E);
+               return null;
+       }       
+}
+
+function checkout_by_copy_barcode(barcode, patron_id) {
+       sdump('D_CIRC_UTILS',arg_dump(arguments,{0:true,1:true}));
+       try {
+               var check = user_request(
+                       'open-ils.circ',
+                       'open-ils.circ.checkout.barcode',
+                       [ mw.G.auth_ses[0], barcode, patron_id ]
+               )[0];
+               sdump('D_CIRC_UTILS','check = ' + js2JSON(check) + '\n');
+               return check;
+       } catch(E) {
+               sdump('D_ERROR',E);
+               return null;
+       }
+}
+
 function checkin_by_copy_barcode(barcode) {
        sdump('D_CIRC_UTILS',arg_dump(arguments,{0:true}));
        try {
index 1410c73..5b0a831 100644 (file)
 
 <!-- main widget for paged_tree -->
 <box id="PagedTree_main" flex="1" orient="vertical">
+       <hbox id="PagedTree_insert1" />
        <hbox id="PagedTree_nav" name="nav"/>
+       <hbox id="PagedTree_insert2" />
        <tree id="PagedTree_tree" flex="1" enableColumnDrag="true" name="tree">
                <treecols id="PagedTree_columns"/>
                <treechildren id="PagedTree_children" context="PagedTree_popup"/>
        </tree>
+       <hbox id="PagedTree_insert3" />
 </box>
 
 <hbox id="PagedTree_nav">
diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_checkout_items.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_checkout_items.js
new file mode 100644 (file)
index 0000000..280da91
--- /dev/null
@@ -0,0 +1,64 @@
+sdump('D_TRACE','Loading patron_checkout_items.js\n');
+
+function patron_checkout_items_init(p) {
+       sdump('D_PATRON_CHECKOUT_ITEMS',"TESTING: patron_checkout_items.js: " + mw.G['main_test_variable'] + '\n');
+       sdump('D_CONSTRUCTOR',arg_dump(arguments));
+
+       p.patron_checkout_items_cols = circ_cols();
+
+       p.paged_tree = paged_tree_init( { 'w' : p.w, 'node' : p.node, 'popupset_node' : p.popupset_node, 'cols' : p.patron_checkout_items_cols, 'hide_nav' : true, 'hits_per_page' : '9999', 'debug' : p.app } );
+       p.add_checkout_items = p.paged_tree.add_rows;
+       p.clear_checkout_items = p.paged_tree.clear_tree;
+
+       p.register_patron_checkout_items_select_callback = function (f) {
+               sdump('D_PATRON_CHECKOUT_ITEMS','p.register_patron_checkout_items_select_callback(' + f + ')\n');
+               p.paged_tree.register_select_callback( f );
+       }
+
+       p.register_flesh_patron_checkout_items_function = function (f) {
+               sdump('D_PATRON_CHECKOUT_ITEMS','p.register_flesh_patron_checkout_items_function(' + f + ')\n');
+               p.paged_tree.register_flesh_row_function( f );
+       }
+
+       p.register_context_builder = function (f) {
+               sdump('D_PATRON_CHECKOUT_ITEMS','p.register_context_builder(' + f + ')\n');
+               p.paged_tree.register_context_builder( f );
+       }
+
+       p.map_patron_checkout_items_to_cols = function (patron_checkout_items, treeitem) {
+               sdump('D_PATRON_CHECKOUT_ITEMS','p.map_patron_checkout_items_to_cols( ' + patron_checkout_items + ',' + treeitem + ')\n');
+               patron_checkout_items_tree_map_patron_checkout_items_to_cols(p, patron_checkout_items, treeitem);       
+       }
+
+       sdump('D_TRACE_EXIT',arg_dump(arguments));
+       return p;
+}
+
+function patron_checkout_items_tree_map_patron_checkout_items_to_cols(p, patron_checkout_items, treeitem) {
+       sdump('D_PATRON_CHECKOUT_ITEMS',arg_dump(arguments,{1:true}));
+       sdump('D_TRACE_ENTER',arg_dump(arguments));
+       var cols = new Array();
+       for (var i = 0; i < p.patron_checkout_items_cols.length; i++) {
+               var hash = p.patron_checkout_items_cols[i];
+               sdump('D_PATRON_CHECKOUT_ITEMS','Considering ' + js2JSON(hash) + '\n');
+               var obj_string;
+               switch( hash.fm_class ) {
+                       case 'acp' : obj_string = 'patron_checkout_items.copy'; break;
+                       case 'circ' : obj_string = 'patron_checkout_items.circ'; break;
+                       case 'mvr' : obj_string = 'patron_checkout_items.record'; break;
+               }
+               var cmd = parse_render_string( obj_string, hash.fm_field_render );
+               sdump('D_PATRON_CHECKOUT_ITEMS','cmd = ' + cmd + '\n');
+               var col = '';
+               try {
+                       col = eval( cmd );
+                       sdump('D_PATRON_CHECKOUT_ITEMS','eval = ' + col + '\n');
+               } catch(E) {
+                       sdump('D_ERROR',js2JSON(E) + '\n');
+               }
+               cols.push( col );
+       }
+       sdump('D_PATRON_CHECKOUT_ITEMS','cols = ' + js2JSON(cols) + '\n');
+       p.paged_tree.map_cols_to_treeitem( cols, treeitem );
+       sdump('D_TRACE_EXIT',arg_dump(arguments));
+}
index 618d0e7..44835d5 100755 (executable)
@@ -11,6 +11,9 @@ function patron_display_init(p) {
        // gives: p.patron_items, p.redraw_patron_items
        patron_display_patron_items_init(p);
 
+       // gives: p.patron_checkout_items, p.redraw_patron_checkout_items
+       patron_display_patron_checkout_items_init(p);
+
        p.set_patron = function (au) {
                return p._patron = au;
        }
@@ -128,6 +131,7 @@ function patron_display_patron_items_init(p) {
                                                        var idx = patron_items[i].getAttribute('record_id'); 
                                                        var circ = p._patron.checkouts()[ idx ].circ;
                                                        alert( js2JSON(renew_by_circ_id( circ.id() )) );
+                                                       p.refresh();
                                                } catch(E) {
                                                        alert(E);
                                                }
@@ -149,6 +153,7 @@ function patron_display_patron_items_init(p) {
                                                        var idx = patron_items[i].getAttribute('record_id'); 
                                                        var copy = p._patron.checkouts()[ idx ].copy;
                                                        alert( js2JSON(checkin_by_copy_barcode( copy.barcode() )) );
+                                                       p.refresh();
                                                } catch(E) {
                                                        alert(E);
                                                }
@@ -194,4 +199,139 @@ function patron_display_patron_items_init(p) {
        );
 }
 
+function patron_display_patron_checkout_items_init(p) {
+       p.patron_checkout_items = patron_checkout_items_init( { 'w' : p.w, 'node' : p.patron_checkout_items_node, 'popupset_node' : p.popupset_node, 'debug' : p.app } );
+
+       var checkouts = [];
+
+       p.attempt_checkout = function(barcode) {
+               try {
+                       if (! is_barcode_valid(barcode) ) throw('Invalid Barcode');
+                       var permit_check = checkout_permit( barcode, p._patron.id(), 0 );
+                       if (permit_check.status == 0) {
+                               var check = checkout_by_barcode( barcode, p._patron.id() );
+                               if (check) {
+                                       checkouts.push( check );
+                                       p.patron_checkout_items.add_patron_checkout_items( [ checkouts.length - 1 ] );
+                               }
+                       } else {
+                               throw(permit_check.text);
+                       }
+               } catch(E) {
+                       handle_error(E);
+               }
+       }
+
+       var tb = p.patron_checkout_items_node.getElementsByAttribute('id','patron_checkout_barcode_entry_textbox')[0];
+       var submit_button = p.patron_checkout_items_node.getElementsByAttribute('id','patron_checkout_submit_barcode_button')[0];
+       tb.addEventListener(
+               'keypress',
+               function(ev) {
+                       if (ev.keyCode == 13 || ev.keyCode == 77 ) { p.attempt_checkout( tb.value ); }
+               },
+               false
+       );
+       submit_button.addEventListener(
+               'command',
+               function(ev) {
+                       p.attempt_checkout( tb.value );
+               },
+               false
+       );
+
+       p.redraw_patron_checkout_items = function() {
+               p.patron_checkout_items.clear_patron_checkout_items();
+               for (var i = 0; i < checkouts.length; i++) {
+                       p.patron_checkout_items.add_patron_checkout_items( [ i ] );
+               }
+       }
+
+       p.patron_checkout_items.register_patron_checkout_items_select_callback(
+               function (ev) {
+                       sdump('D_PATRON_DISPLAY','Firing patron_checkout_items_select_callback\n');
+                       var patron_checkout_items = get_list_from_tree_selection( p.patron_checkout_items.paged_tree.tree );
+                       /* grab cover art for selected item? */
+               }
+       );
+       p.patron_checkout_items.register_flesh_patron_checkout_items_function(
+               function (treeitem) {
+                       sdump('D_PATRON_DISPLAY','Firing flesh_patron_checkout_items_function\n');
+                       var record_id = treeitem.getAttribute('record_id'); 
+                       p.patron_checkout_items.map_patron_checkout_items_to_cols( checkouts[ record_id ], treeitem );
+               }
+       );
+       p.patron_checkout_items.register_context_builder(
+               function (ev) {
+                       sdump('D_PATRON_DISPLAY','Firing context_builder\n');
+                       empty_widget(p.patron_checkout_items.paged_tree.popup);
+                       var patron_checkout_items = get_list_from_tree_selection( p.patron_checkout_items.paged_tree.tree );
+                       var menuitem;
+
+                       /*** CHECKIN ***/
+                       menuitem = p.patron_checkout_items.paged_tree.w.document.createElement('menuitem');
+                       p.patron_checkout_items.paged_tree.popup.appendChild( menuitem );
+                       menuitem.setAttribute('label',getString('circ.context_checkin'));
+                       menuitem.addEventListener(
+                               'command',
+                               function (ev) {
+                                       sdump('D_PATRON_DISPLAY','Firing checkin context\n');
+                                       var keep_these = [];
+                                       for (var i = 0; i < patron_checkout_items.length; i++) {
+                                               try {
+                                                       var idx = patron_checkout_items[i].getAttribute('record_id'); 
+                                                       var copy = checkouts[ idx ].copy;
+                                                       var status = checkin_by_copy_barcode( copy.barcode() );
+                                                       if (!status) { // change this to whatever it takes
+                                                               keep_these.push( checkouts[ idx ] );    
+                                                       }
+                                                       checkouts = keep_these;
+                                                       alert( js2JSON( status ) );
+                                                       p.refresh();
+                                               } catch(E) {
+                                                       alert(E);
+                                               }
+                                       }
+                               },
+                               false
+                       );
+
+                       /* separator */
+                       menuitem = p.patron_checkout_items.paged_tree.w.document.createElement('menuseparator');
+                       p.patron_checkout_items.paged_tree.popup.appendChild( menuitem );
+                       
+
+                       /*** COPY EDITOR ***/
+                       menuitem = p.patron_checkout_items.paged_tree.w.document.createElement('menuitem');
+                       p.patron_checkout_items.paged_tree.popup.appendChild( menuitem );
+                       menuitem.setAttribute('label',getString('circ.context_edit'));
+                       menuitem.addEventListener(
+                               'command',
+                               function (ev) {
+                                       for (var i = 0; i < patron_checkout_items.length; i++) {
+                                               var idx = patron_checkout_items[i].getAttribute('record_id');
+                                               sdump('D_PATRON_DISPLAY','Firing copy edit context\n');
+                                       }
+                               },
+                               false
+                       );
+
+                       /*** OPAC ***/
+                       menuitem = p.patron_checkout_items.paged_tree.w.document.createElement('menuitem');
+                       p.patron_checkout_items.paged_tree.popup.appendChild( menuitem );
+                       menuitem.setAttribute('label',getString('circ.context_opac'));
+                       menuitem.addEventListener(
+                               'command',
+                               function (ev) {
+                                       for (var i = 0; i < patron_checkout_items.length; i++) {
+                                               var idx = patron_checkout_items[i].getAttribute('record_id');
+                                               sdump('D_PATRON_DISPLAY','Firing opac context\n');
+                                       }
+                               },
+                               false
+                       );
+                       
+               }
+       );
+}
+
 
index b606a59..b8a2994 100755 (executable)
@@ -11,6 +11,7 @@
                params.app = 'PatronDisplay'; 
                params.clamshell_node = document.getElementById('ClamShell_main');
                params.patron_items_node = document.getElementById('PatronItems_main');
+               params.patron_checkout_items_node = document.getElementById('PatronCheckoutItems_main');
                params.commandset_node = document.getElementById('universal_cmds');
                params.popupset_node = document.getElementById('universal_popupset');
                mw.focus_widget( document, 'PatronNavBar_refresh' );
diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_contact.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_contact.js
deleted file mode 100755 (executable)
index 993e48c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-sdump('D_TRACE','Loading patron_display_contact.js\n');
-
-function patron_display_contact_init(p) {
-       sdump('D_PATRON_DISPLAY_CONTACT',"TESTING: patron_display_contact.js: " + mw.G['main_test_variable'] + '\n');
-
-       if (p.app_shell) p.w.app_shell = p.app_shell;
-
-       p.w.set_patron = function (au) {
-               return p.w._patron = au;
-       }
-       p.w.display_patron = function (au) {
-               if (au) p.w.set_patron(au);
-               return render_fm(p.w.document, { 'au' : p.w._patron });
-       };
-       p.w.retrieve_patron_via_barcode = function (barcode) {
-               if (!barcode) barcode = patron_get_barcode( p.w._patron );
-               p.w.set_patron( retrieve_patron_by_barcode( barcode ) );
-               return p.w.display_patron();
-       }
-       p.w.retrieve_patron_via_id = function (id) {
-               p.w.set_patron( retrieve_patron_by_id( id ) );
-               return p.w.display_patron();
-       }
-
-       consider_Timeout(
-               function() {
-                       sdump('D_TIMEOUT','******** timeout occurred in patron_display_contact.js\n');
-                       if (p.patron) {
-                               if (typeof(p.patron) == 'object') {
-                                       p.w.set_patron( p.patron );
-                                       p.w.display_patron();
-                               } else
-                                       p.w.retrieve_patron_via_barcode( p.patron );
-                       }
-               }, 0
-       );
-
-       sdump('D_TRACE_EXIT',arg_dump(arguments));
-       return;
-}
-
-
diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_contact.xul b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_contact.xul
deleted file mode 100755 (executable)
index d911948..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-<!-- Clamlication: Evergreen Staff Client -->
-
-<!-- Localization -->
-<!DOCTYPE page SYSTEM "chrome://evergreen/locale/patron_display.dtd">
-
-<page id="patron_display_contact_win"
-       orient="vertical" style="overflow: auto" width="800" height="500"
-       sizemode="maximized" persist="width height" 
-       onload="params.w = window; 
-               params.app = 'PatronDisplayContact'; 
-               mw.OpenILS_init(params);"
-       onunload="mw.OpenILS_exit(params);"
-       xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-       <script>mw.sdump('D_TRACE','Loading patron_display_contact.xul\n');</script>
-
-       <!-- Stylesheets -->
-       <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-       <?xml-stylesheet href="chrome://evergreen/skin/evergreen.css" type="text/css"?>
-       <?xml-stylesheet href="chrome://evergreen/skin/patron.css" type="text/css"?>
-       <?xml-stylesheet href="chrome://evergreen/skin/patron_display.css" type="text/css"?>
-       <?xml-stylesheet href="chrome://evergreen/skin/patron_display_contact.css" type="text/css"?>
-       
-       <!-- Overlays for this XUL file -->
-       <?xul-overlay href="chrome://evergreen/content/patron/patron_display_contact_overlay.xul"?>
-
-       <!-- XUL'ified abstraction for logic to attach to widgets -->
-       <commandset id="universal_cmds" />
-
-       <!-- Accelerator Keys (Accessor Keys are in DTD's) -->
-       <keyset id="PatronDisplayContact_keys" />
-
-       <!-- Layout to be filled in by overlays and javascript -->
-       <box id="PatronDisplayContact_main" />
-
-       <popupset id="universal_popupset" />
-
-</page>
-
index aebd579..2415847 100755 (executable)
@@ -7,6 +7,7 @@
 
        <?xul-overlay href="chrome://evergreen/content/main/clam_shell_overlay.xul"?>
        <?xul-overlay href="chrome://evergreen/content/patron/patron_items_overlay.xul"?>
+       <?xul-overlay href="chrome://evergreen/content/patron/patron_checkout_items_overlay.xul"?>
        <?xul-overlay href="chrome://evergreen/content/patron/patron_display_status.xul"?>
        <?xul-overlay href="chrome://evergreen/content/patron/patron_display_contact.xul"?>
 
@@ -46,7 +47,7 @@
 </deck>
 
 <deck id="ClamShell_second_deck">
-       <box id="PatronCheckout_main"><label value="checkout"/></box>
+       <box id="PatronCheckoutItems_main"/>
        <box id="PatronItems_main" />
        <box id="PatronHolds_main"><label value="holds" /></box>
        <box id="PatronBills_main"><label value="bills" /></box>
                label="&patron_navbar.info;" accesskey="&patron_navbar.info.accesskey;"/>
 </hbox>
 
+<hbox id="PatronCheckoutItems_insert1">
+       <label id="patron_checkout_scan_barcode_label" value="&patron_display.checkout.scan_label;" accesskey="&patron_display.checkout.scan_label.accesskey;" control="patron_checkout_scan_textbox"/>
+       <textbox id="patron_checkout_barcode_entry_textbox"/>
+       <button id="patron_checkout_submit_barcode_button" value="&patron_display.checkout.submit_label;" accesskey="&patron_display.checkout.submit_label.accesskey;"/>
+</hbox>
+
+<hbox id="PatronCheckoutItems_insert2">
+</hbox>
+
+<hbox id="PatronCheckoutItems_insert3">
+</hbox>
+
 <!-- Accelerator Keys (Accessor Keys are in DTD's) -->
 <keyset id="PatronDisplay_keys">
 </keyset>
diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_status.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_status.js
deleted file mode 100755 (executable)
index 20f9a65..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-sdump('D_TRACE','Loading patron_display_status.js\n');
-
-function patron_display_status_init(p) {
-       sdump('D_PATRON_DISPLAY_STATUS',"TESTING: patron_display_status.js: " + mw.G['main_test_variable'] + '\n');
-
-       p.patron_name_label = get_widget( p.w.document, p.patron_name_label );
-       if (p.show_name) {
-               sdump('D_PATRON_DISPLAY_STATUS','Showing name label\n');
-               p.w.patron_name_label.hidden = false;
-       } else {
-               sdump('D_PATRON_DISPLAY_STATUS','Hiding name label\n');
-               p.w.patron_name_label.hidden = true;
-       }
-
-       p.w.patron_retrieve_button = get_widget( p.w.document, p.patron_retrieve_button );
-       p.w.patron_retrieve_button.disabled = true;
-       if (p.show_retrieve_button) {
-               sdump('D_PATRON_DISPLAY_STATUS','Showing retrieve button\n');
-               p.w.patron_retrieve_button.hidden = false;
-               p.w.patron_retrieve_button.addEventListener(
-                       'command',
-                       function (ev) {
-                               spawn_patron_display(
-                                       p.w.app_shell,'new_tab','main_tabbox', 
-                                       { 
-                                               'patron' : p.w._patron
-                                       }
-                               );
-                       },
-                       false
-               );
-       } else {
-               sdump('D_PATRON_DISPLAY_STATUS','Hiding retrieve button\n');
-               p.w.patron_retrieve_button.hidden = true;
-       }
-
-       p.w.set_patron = function (au) {
-               p.w.patron_retrieve_button.disabled = false;
-               return p.w._patron = au;
-       }
-       p.w.display_patron = function (au) {
-               if (au) p.w.set_patron(au);
-               return render_fm(p.w.document, { 'au' : p.w._patron });
-       };
-       p.w.retrieve_patron_via_barcode = function (barcode) {
-               if (!barcode) barcode = patron_get_barcode( p.w._patron );
-               p.w.set_patron( retrieve_patron_by_barcode( barcode ) );
-               return p.w.display_patron();
-       }
-       p.w.retrieve_patron_via_id = function (id) {
-               p.w.set_patron( retrieve_patron_by_id( id ) );
-               return p.w.display_patron();
-       }
-
-       consider_Timeout(
-               function() {
-                       sdump('D_TIMEOUT','******** timeout occurred in patron_display_status.js\n');
-                       if (p.patron) {
-                               if (typeof(p.patron) == 'object') {
-                                       p.w.set_patron( p.patron );
-                                       p.w.display_patron();
-                               } else
-                                       p.w.retrieve_patron_via_barcode( p.patron );
-                       }
-               }, 0
-       );
-
-       sdump('D_TRACE_EXIT',arg_dump(arguments));
-       return;
-}
-
-
diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_status.xul b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display_status.xul
deleted file mode 100755 (executable)
index a3ef690..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<!-- Clamlication: Evergreen Staff Client -->
-
-<!-- Localization -->
-<!DOCTYPE page SYSTEM "chrome://evergreen/locale/patron_display.dtd">
-
-<page id="patron_display_status_win"
-       orient="vertical" style="overflow: auto" width="800" height="500"
-       sizemode="maximized" persist="width height" 
-       onload="params.w = window; 
-               params.patron_retrieve_button = 'PatronDisplayStatus_retrieve_button';
-               params.patron_name_label = 'PatronDisplayStatus_patron_name';
-               params.app = 'PatronDisplayStatus'; 
-               mw.OpenILS_init(params);"
-       onunload="mw.OpenILS_exit(params);"
-       xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-       <script>mw.sdump('D_TRACE','Loading patron_display_status.xul\n');</script>
-
-       <!-- Stylesheets -->
-       <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-       <?xml-stylesheet href="chrome://evergreen/skin/evergreen.css" type="text/css"?>
-       <?xml-stylesheet href="chrome://evergreen/skin/patron.css" type="text/css"?>
-       <?xml-stylesheet href="chrome://evergreen/skin/patron_display.css" type="text/css"?>
-       <?xml-stylesheet href="chrome://evergreen/skin/patron_display_status.css" type="text/css"?>
-       
-       <!-- Overlays for this XUL file -->
-       <?xul-overlay href="chrome://evergreen/content/patron/patron_display_status_overlay.xul"?>
-
-       <!-- XUL'ified abstraction for logic to attach to widgets -->
-       <commandset id="universal_cmds" />
-
-       <!-- Accelerator Keys (Accessor Keys are in DTD's) -->
-       <keyset id="PatronDisplayStatus_keys" />
-
-       <!-- Layout to be filled in by overlays and javascript -->
-       <box id="PatronDisplayStatus_main" />
-
-       <popupset id="universal_popupset" />
-
-</page>
-
index 5eb4d51..6c6f50f 100644 (file)
@@ -22,7 +22,7 @@ var sdump_levels = {
        'D_PAGED_TREE' : true,
        'D_TAB' : false,
 
-       'D_AUTH' : false,
+       'D_AUTH' : true,
 
        'D_OPAC' : false,
 
index 54b6381..3ba8e70 100644 (file)
@@ -81,7 +81,7 @@ function user_request(app,name,params) {
 
 function user_async_request(app,name,params,func) {
        sdump('D_SES','=-=-=-=-= user_async_request:\n');
-       sdump('D_SES','request '+(app)+' '+(name)+' '+js2JSON(params)+ ' ' + func + '\n');
+       sdump('D_SES','request '+(app)+' '+(name)+' '+js2JSON(params)+ '\n');
        var request = new RemoteRequest( app, name );
        for(var index in params) {
                request.addParam(params[index]);
index 691531e..87f6a06 100755 (executable)
@@ -2,6 +2,11 @@
 <!ENTITY patron_display.status.caption 'Status'>
 <!ENTITY patron_display.contact.caption 'Identity &amp; Contact Info'>
 
+<!ENTITY patron_display.checkout.scan_label 'Enter Barcode:'>
+<!ENTITY patron_display.checkout.scan_label.accesskey 'E'>
+<!ENTITY patron_display.checkout.submit_label 'Submit'>
+<!ENTITY patron_display.checkout.submit_label.accesskey 'S'>
+
 <!ENTITY patron_navbar.retrieve 'Retrieve Patron'>
 <!ENTITY patron_navbar.retrieve.accesskey 'R'>
 <!ENTITY patron_navbar.refresh 'Refresh'>