<?xml version="1.0"?>
-<!-- Application: Evergreen Staff Client -->
-<!-- Screen: Patron Display -->
-
-<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
-<!-- STYLESHEETS -->
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-<?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
-<?xml-stylesheet href="/xul/server/skin/patron_display.css" type="text/css"?>
-
-<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
-<!-- LOCALIZATION -->
+<?xml-stylesheet href="oils://remote/xul/server/skin/global.css" type="text/css"?>
<!DOCTYPE window PUBLIC "" ""[
<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
]>
+<?xul-overlay href="oils://remote/xul/server/OpenILS/util_overlay.xul"?>
-<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
-<!-- OVERLAYS -->
-<?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
-<?xul-overlay href="/xul/server/patron/display_overlay.xul"?>
-
-<window id="patron_display_win"
- onload="try { my_init(); font_helper(); persist_helper(); } catch(E) { alert(E); }"
- onunload="try { my_cleanup(); persist_helper_cleanup(); } catch(E) { alert(E); }"
+<window id="search_win"
+ onload="try { persist_helper(); my_init(); font_helper(); } catch(E) { alert(E); }"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
- <!-- BEHAVIOR -->
<script type="text/javascript">
var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};
</script>
<scripts id="openils_util_scripts"/>
+ <script type="text/javascript" src="chrome://open_ils_staff_client/content/main/JSAN.js"/>
+ <script type="text/javascript" src="oils://remote/xul/server/patron/search.js"/>
+ <script type="text/javascript" src="oils://remote/xul/server/patron/patron.js"/>
- <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
- <script type="text/javascript" src="/xul/server/patron/display.js"/>
- <script>
- <![CDATA[
- function $(id) { return document.getElementById(id); }
-
- function my_init() {
- try {
- if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
- JSAN.errorLevel = "die"; // none, warn, or die
- JSAN.addRepository('/xul/server/');
- JSAN.use('util.error'); g.error = new util.error();
- g.error.sdump('D_TRACE','my_init() for patron_display.xul');
-
- JSAN.use('patron.display'); g.patron = new patron.display();
- g.patron.init( {
- 'barcode' : xul_param('barcode'),
- 'id' : xul_param('id'),
- 'query' : xul_param('query'),
- 'doit' : xul_param('doit'),
- 'show' : xul_param('show')
- } );
-
- //document.documentElement.style.setProperty('font-size-adjust','1','important');
-
- } catch(E) {
- var err_msg = $("commonStrings").getFormattedString('common.exception', ['patron/display.xul', E]);
- try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
- alert(err_msg);
- }
- }
-
- function my_cleanup() {
- try {
- g.patron.cleanup();
- } catch(E) {
- var err_msg = $("commonStrings").getFormattedString('common.exception', ['patron/display.xul', E]);
- try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
- alert(err_msg);
- }
- }
-
- function default_focus() {
- setTimeout(
- function() {
- try {
- var node = g.patron.right_deck.node.selectedPanel;
- if (node && get_contentWindow(node) && typeof get_contentWindow(node).default_focus == 'function') {
- get_contentWindow(node).default_focus();
- } else {
- var node = g.patron.left_deck.node.selectedPanel;
- if (node && get_contentWindow(node) && typeof get_contentWindow(node).default_focus == 'function') {
- get_contentWindow(node).default_focus();
- }
- }
- } catch(E) {
- g.error.sdump('D_ERROR','default_focus(): ' + js2JSON(E));
- }
- }, 0
- );
- }
-
- ]]>
- </script>
+ <messagecatalog id="patronStrings"
+ src="/xul/server/locale/<!--#echo var='locale'-->/patron.properties"/>
+
+ <commandset id="patron_cmds">
+
+ <command id="cmd_swap_view" />
+ <command id="cmd_submit" />
+ <command id="cmd_merge" />
+ <command id="cmd_retrieve" />
+ <command id="cmd_sel_clip" />
+ <command id="cmd_save_columns" />
+ <command id="cmd_search_print" />
+ <command id="cmd_clear" />
+
+ <command id="cmd_reload" />
+ <command id="cmd_bills" />
+ <command id="cmd_bill_history" />
+ <command id="cmd_checkout" />
+ <command id="cmd_edit" />
+ <command id="cmd_events" />
+ <command id="cmd_group" />
+ <command id="cmd_holds" />
+ <command id="cmd_items_out" />
+ <command id="cmd_messages" />
+ <command id="cmd_notes" />
+ <command id="cmd_perms" />
+ <command id="cmd_reservation" />
+ <command id="cmd_reservation_pickup" />
+ <command id="cmd_reservation_return" />
+ <command id="cmd_requests" />
+ <command id="cmd_statcats" />
+ <command id="cmd_surveys" />
+ <command id="cmd_test_password" />
+ <command id="cmd_delete" />
- <messagecatalog id="patronStrings" src="/xul/server/locale/<!--#echo var='locale'-->/patron.properties"/>
-
- <commandset id="patron_display_cmds">
- <command id="cmd_patron_refresh" />
- <command id="cmd_patron_checkout" />
- <command id="cmd_patron_items" />
- <command id="cmd_patron_holds" />
- <command id="cmd_patron_bills" />
- <command id="cmd_patron_edit" />
- <command id="cmd_patron_info_notes" />
- <command id="cmd_patron_info_triggered_events" />
- <command id="cmd_patron_info_stats" />
- <command id="cmd_patron_info_surveys" />
- <command id="cmd_patron_info_acq_requests" />
- <command id="cmd_patron_info_groups" />
- <command id="cmd_patron_other" />
- <command id="cmd_patron_alert" />
- <command id="cmd_patron_reservation" />
- <command id="cmd_patron_reservation_pickup" />
- <command id="cmd_patron_reservation_return" />
- <command id="cmd_patron_exit" />
- <command id="cmd_patron_retrieve" />
- <command id="cmd_patron_merge" />
- <command id="cmd_patron_toggle_summary" />
- <command id="cmd_patron_delete" />
- <command id="cmd_search_form" />
- <command id="cmd_verify_credentials" />
- <command id="cmd_perm_editor" />
- <command id="cmd_standing_penalties" />
</commandset>
- <box id="patron_display_main" class="my_overflow" />
+ <deck id="uber_deck" flex="1">
+ <!-- FIXME: this should really be two different XUL files, but for now,
+ to allow testing with stock staff clients, I'm squishing them together
+ -->
+
+ <label value="Loading..."/>
+
+ <vbox flex="1">
+
+ <deck id="deck" flex="1">
+ <groupbox id="psgf_gb">
+ <caption id="psgf_gbc" label='&staff.patron_search_form.caption;' />
+ <hbox>
+ <hbox>
+ <label control="inactive"
+ accesskey="&staff.patron.search_form_overlay.inactive.accesskey;"
+ value="&staff.patron.search_form_overlay.inactive.value;"/>
+ <checkbox id="inactive" group="_" tabindex="40" oils_persist="checked"/>
+ </hbox>
+ <hbox>
+ <label control="search_ou_menu"
+ value="&staff.patron.search_form_overlay.search_range_menu.value;"/>
+ <hbox id="search_ou" group="_" tabindex="41" oils_persist="value"/>
+ </hbox>
+ <hbox>
+ <label control="search_profile_menu"
+ value="&staff.patron_search_form.profile.label;"/>
+ <hbox id="profile" group="_" tabindex="42" oils_persist="value"/>
+ </hbox>
+ </hbox>
+ <hbox>
+ <!-- group 0 = user group 1 = address group 2 = phone, ident -->
+ <grid id="psg">
+ <columns id="psc">
+ <column id="psc1"/>
+ <column id="psc2" flex="1"/>
+ <column id="psc3"/>
+ <column id="psc4" flex="1"/>
+ <column id="psc5"/>
+ <column id="psc6" flex="1"/>
+ <column id="psc7"/>
+ <column id="psc8" flex="1"/>
+ </columns>
+ <rows id="psr">
+ <row id="psr1">
+ <label id="psl6c" control="card" style="font-weight: bold"
+ value="&staff.patron_search_form.card.label;"
+ accesskey="&staff.patron_search_form.card.accesskey;"/>
+ <textbox id="card" group="0" context="clipboard" tabindex="10"/>
+ <label id="psl1" control="family_name"
+ value="&staff.patron_search_form.family_name.label;"
+ accesskey="a"
+ oldaccesskey="&staff.patron_search_form.family_name.accesskey;"/>
+ <textbox id="family_name" group="0" context="clipboard" tabindex="14"/>
+ <label id="psl7" control="street1"
+ value="&staff.patron_search_form.street1.label;"
+ accesskey="&staff.patron_search_form.street1.accesskey;"/>
+ <textbox id="street1" group="1" context="clipboard" tabindex="18"/>
+ <label id="psl5" control="phone"
+ value="&staff.patron_search_form.phone.label;"
+ accesskey="&staff.patron_search_form.phone.accesskey;"/>
+ <textbox id="phone" group="2" context="clipboard" tabindex="22"/>
+ </row>
+ <row id="psr2">
+ <label id="psl6b" control="usrname"
+ value="&staff.patron_search_form.usrname.label;"
+ accesskey="&staff.patron_search_form.usrname.accesskey;"/>
+ <textbox id="usrname" group="0" context="clipboard" tabindex="11"/>
+ <label id="psl2" control="first_given_name"
+ value="&staff.patron_search_form.first_given_name.label;"
+ accesskey="&staff.patron_search_form.first_given_name.accesskey;"/>
+ <textbox id="first_given_name" group="0" context="clipboard" tabindex="15"/>
+ <label id="psl8" control="street2"
+ value="&staff.patron_search_form.street2.label;"
+ accesskey="&staff.patron_search_form.street2.accesskey;"/>
+ <textbox id="street2" group="1" context="clipboard" tabindex="19"/>
+ <label id="psl4" control="email"
+ value="&staff.patron_search_form.email.label;"
+ accesskey="&staff.patron_search_form.email.accesskey;"/>
+ <textbox id="email" group="0" context="clipboard" tabindex="23"/>
+ </row>
+ <row id="psr3">
+ <label id="psl6" control="ident"
+ value="&staff.patron_search_form.ident.label;"
+ accesskey="&staff.patron_search_form.ident.accesskey;"/>
+ <textbox id="ident" group="2" context="clipboard" tabindex="12"/>
+ <label id="psl3" control="second_given_name"
+ value="&staff.patron_search_form.second_given_name.label;"
+ accesskey="&staff.patron_search_form.second_given_name.accesskey;"/>
+ <textbox id="second_given_name" group="0" context="clipboard" tabindex="16"/>
+ <label id="psl9" control="city"
+ value="&staff.patron_search_form.city.label;"
+ accesskey="&staff.patron_search_form.city.accesskey;"/>
+ <textbox id="city" group="1" context="clipboard" tabindex="20"/>
+ <label id="psl10" control="state"
+ value="&staff.patron_search_form.state.label;"
+ accesskey="&staff.patron_search_form.state.accesskey;"/>
+ <textbox id="state" group="1" context="clipboard" tabindex="24"/>
+ </row>
+ <row id="psr14">
+ <spacer/>
+ <spacer/>
+ <label id="psl14" control="alias"
+ value="&staff.patron_search_form.alias.label;"
+ accesskey="&staff.patron_search_form.alias.accesskey;"/>
+ <textbox id="alias" group="0" context="clipboard" tabindex="17"/>
+ <label id="psl11" control="post_code"
+ value="&staff.patron_search_form.post_code.label;"
+ accesskey="&staff.patron_search_form.post_code.accesskey;"/>
+ <textbox id="post_code" group="1" context="clipboard" tabindex="21"/>
+ </row>
+ </rows>
+ </grid>
+ <vbox>
+ <button id="search" flex="1" label="&staff.patron_search_form.search.label;"
+ accesskey="&staff.patron_search_form.search.accesskey;"
+ command="cmd_submit" tabindex="30"/>
+ <button id="clear" label="&staff.patron_search_form.clear.label;"
+ accesskey="&staff.patron_search_form.clear.accesskey;"
+ command="cmd_clear" tabindex="31"/>
+ </vbox>
+ </hbox>
+ </groupbox>
+ <iframe id="iframe" flex="1"/>
+ </deck>
+ <splitter collapse="before" resizebefore="flex" resizeafter="flex" oils_persist="state hidden" oils_persist_peers="deck search_bottom_pane"><grippy/></splitter>
+ <groupbox id="search_bottom_pane" oils_persist="height" flex="1">
+ <caption label="Patrons"/>
+ <tree id="patron_list" flex="1" enableColumnDrag="true" seltype="multiple"/>
+ <hbox>
+ <hbox id="patron_list_actions"/>
+ <hbox id="retrieve_settings">
+ <button type="menu"
+ label="Retrieve Settings"
+ accesskey="t">
+ <menupopup>
+ <menuitem type="checkbox" id="auto"
+ oils_persist="checked"
+ accesskey="M"
+ label="Auto-Retrieve Single Match"/>
+ <menuitem type="checkbox" id="auto_via_barcode"
+ oils_persist="checked"
+ accesskey="B"
+ checked="true"
+ label="Auto-Retrieve Single Match via Barcode"/>
+ <menuitem type="checkbox" id="replace_tab"
+ oils_persist="checked"
+ accesskey="T"
+ label="Replace Tab on Retrieve"/>
+ <menuitem type="checkbox" id="replace_tab_via_barcode"
+ oils_persist="checked"
+ accesskey="B"
+ checked="true"
+ label="Replace Tab on Retrieve via Barcode"/>
+ <menuitem type="checkbox" id="retrieve_library_card"
+ oils_persist="checked"
+ accesskey="C"
+ label="Retrieve Library Card with search results"/>
+ <menuitem type="checkbox" id="retrieve_mailing_address"
+ oils_persist="checked"
+ accesskey="M"
+ label="Retrieve Mailing Address with search results"/>
+ <menuitem type="checkbox" id="retrieve_billing_address"
+ oils_persist="checked"
+ accesskey="B"
+ label="Retrieve Billing Address with search results"/>
+ </menupopup>
+ </button>
+ </hbox>
+ <spacer flex="1"/>
+ <button id="swap_btn"
+ label="Toggle View"
+ accesskey="V"
+ command="cmd_swap_view"/>
+ <button id="pnb1b2"
+ label="&staff.patron.display_overlay.merge_patrons.label;"
+ accesskey="&staff.patron.display_overlay.merge_patrons.accesskey;"
+ command="cmd_merge"/>
+ <button id="pnb1b1"
+ label="&staff.patron.display_overlay.retrieve_patron.label;"
+ accesskey="&staff.patron.display_overlay.retrieve_patron.accesskey;"
+ command="cmd_retrieve"/>
+ </hbox>
+ </groupbox>
+
+ </vbox>
+
+ <vbox flex="1">
+ <hbox id="top_pane" flex="1" oils_persist="height">
+ <iframe id="iframe1" flex="1" oils_persist="height"/>
+ </hbox>
+ <splitter collapse="before" resizebefore="flex" resizeafter="flex" oils_persist="state hidden" oils_persist_peers="top_pane bottom_pane"><grippy/></splitter>
+ <hbox id="bottom_pane" flex="1" oils_persist="height">
+ <vbox id="button_box" oils_persist="height width" class="my_overflow">
+ <button id="reload"
+ label="Reload"
+ accesskey="R"
+ command="cmd_reload"/>
+ <label value=" "/>
+ <vbox id="main_button_group">
+ <button id="bills"
+ label="Bills"
+ accesskey="B"
+ command="cmd_bills"/>
+ <button id="booking" type="menu"
+ label="Booking"
+ accesskey="k">
+ <menupopup>
+ <menuitem command="cmd_reservation"
+ label="&staff.main.menu.booking.reservation.label_alt;"
+ acceskey="&staff.main.menu.booking.reservation.accesskey;"/>
+ <menuitem command="cmd_reservation_pickup"
+ label="&staff.main.menu.booking.reservation_pickup.label;"
+ acceskey="&staff.main.menu.booking.reservation_pickup.accesskey;"/>
+ <menuitem command="cmd_reservation_return"
+ label="&staff.main.menu.booking.reservation_return.label;"
+ acceskey="&staff.main.menu.booking.reservation_return.accesskey;"/>
+ </menupopup>
+ </button>
+ <button id="checkout"
+ label="Check Out"
+ accesskey="C"
+ command="cmd_checkout"/>
+ <button id="edit"
+ label="Edit"
+ accesskey="E"
+ command="cmd_edit"/>
+ <button id="events"
+ label="Events"
+ accesskey="v"
+ command="cmd_events"/>
+ <button id="group"
+ label="Group"
+ accesskey="G"
+ command="cmd_group"/>
+ <button id="holds"
+ label="Holds"
+ accesskey="H"
+ command="cmd_holds"/>
+ <button id="items_out"
+ label="Items Out"
+ accesskey="I"
+ command="cmd_items_out"/>
+ <button id="messages"
+ label="Messages"
+ accesskey="M"
+ command="cmd_messages"/>
+ <button id="notes"
+ label="Notes"
+ accesskey="N"
+ command="cmd_notes"/>
+ <button id="perms"
+ label="Permissions"
+ accesskey="P"
+ command="cmd_perms"/>
+ <button id="requests"
+ label="Requests"
+ accesskey="q"
+ command="cmd_requests"/>
+ <button id="statcats"
+ label="StatCats"
+ accesskey="S"
+ command="cmd_statcats"/>
+ <button id="surveys"
+ label="Surveys"
+ accesskey="y"
+ command="cmd_surveys"/>
+ <button id="test_password"
+ label="Test Password"
+ accesskey="T"
+ command="cmd_test_password"/>
+ </vbox>
+ <label value=" "/>
+ <button id="delete"
+ label="Delete"
+ accesskey=""
+ command="cmd_delete"/>
+ </vbox>
+ <splitter collapse="before"
+ oils_persist="state hidden"
+ oils_persist_peers="button_box iframe2">
+ <grippy/>
+ </splitter>
+ </hbox>
+ </vbox>
+
+ </deck>
</window>