From: phasefx Date: Sun, 22 Feb 2009 01:03:54 +0000 (+0000) Subject: backporting from staff-client-experiment: some layout experiments with patron display X-Git-Tag: sprint4-merge-nov22~10756 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=d3df487862236000ec979c558daca8fd79dbe2d1;p=working%2FEvergreen.git backporting from staff-client-experiment: some layout experiments with patron display git-svn-id: svn://svn.open-ils.org/ILS/trunk@12250 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js b/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js index 1a60bed18a..2445af3da7 100644 --- a/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js +++ b/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js @@ -638,7 +638,23 @@ OpenILS.data.prototype = { } ); - // Do this after we get the user object + // Do these after we get the user object + + this.chain.push( + function() { + try { + var robj = obj.network.simple_request('FM_AOUS_RETRIEVE',[ obj.list.au[0].ws_ou() ]); + if (typeof robj.ilsevent != 'undefined') throw(robj); + obj.hash.aous = robj; + obj.data_progress('Retrieved org unit settings. '); + } catch(E) { + var error = 'Error: ' + js2JSON(E); + obj.error.sdump('D_ERROR',error); + throw(E); + } + } + ); + this.chain.push( function() { diff --git a/Open-ILS/xul/staff_client/chrome/content/main/constants.js b/Open-ILS/xul/staff_client/chrome/content/main/constants.js index 5e2941e751..795f27c91e 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/constants.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/constants.js @@ -105,6 +105,7 @@ const api = { 'FM_AOU_RETRIEVE_RELATED_VIA_SESSION' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.org_unit.full_path.retrieve' }, 'FM_AOU_IDS_RETRIEVE_VIA_RECORD_ID' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.actor.org_unit.retrieve_by_title', 'secure' : false }, 'FM_AOU_IDS_RETRIEVE_VIA_RECORD_ID.authoritative' : { 'app' : 'open-ils.cat', 'method' : 'open-ils.cat.actor.org_unit.retrieve_by_title.authoritative', 'secure' : false }, + 'FM_AOUS_RETRIEVE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.org_unit.settings.retrieve', 'secure' : false }, 'FM_AOUT_RETRIEVE' : { 'app' : 'open-ils.actor', 'method' : 'open-ils.actor.org_types.retrieve', 'secure' : false }, 'FM_ASC_BATCH_RETRIEVE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.stat_cat.asset.retrieve.batch', 'secure' : false }, 'FM_ASC_RETRIEVE_VIA_AOU' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.stat_cat.asset.retrieve.all', 'secure' : false }, diff --git a/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml b/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml index eef3ff90c0..e9a975b68c 100644 --- a/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml +++ b/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml @@ -135,7 +135,12 @@ label : '&staff.server.admin.org_settings.patron.password.use_phone;', desc : '&staff.server.admin.org_settings.patron.password.use_phone.desc;', type : 'bool' - } + }, + 'ui.circ.patron_summary.horizontal' : { + label : '&ui.circ.patron_summary.horizontal;', + desc : '&ui.circ.patron_summary.horizontal.desc;', + type : 'bool' + } }; diff --git a/Open-ILS/xul/staff_client/server/patron/display.js b/Open-ILS/xul/staff_client/server/patron/display.js index b89f69be07..fb9b84bfa8 100644 --- a/Open-ILS/xul/staff_client/server/patron/display.js +++ b/Open-ILS/xul/staff_client/server/patron/display.js @@ -26,13 +26,17 @@ patron.display.prototype = { JSAN.use('OpenILS.data'); this.OpenILS = {}; obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'}); - + + var horizontal_interface = String( obj.OpenILS.data.hash.aous['ui.circ.patron_summary.horizontal'] ) == 'true'; + document.getElementById('ui.circ.patron_summary.horizontal').setAttribute('orient', horizontal_interface ? 'vertical' : 'horizontal'); + document.getElementById('pdms1').setAttribute('orient', horizontal_interface ? 'vertical' : 'horizontal'); + JSAN.use('util.deck'); obj.right_deck = new util.deck('patron_right_deck'); obj.left_deck = new util.deck('patron_left_deck'); function spawn_checkout_interface() { - try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible( document.getElementById("PatronNavBar_checkout" ) ); } catch(E) {}; + try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible( document.getElementById("PatronNavBar_checkout" ) ); } catch(E) {}; obj.reset_nav_styling('cmd_patron_checkout'); var frame = obj.right_deck.set_iframe( urls.XUL_CHECKOUT, @@ -262,11 +266,17 @@ patron.display.prototype = { ); } ], + 'cmd_patron_other' : [ + ['command'], + function(ev) { + try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible( document.getElementById("PatronNavBar_other" ) ); } catch(E) {}; + obj.reset_nav_styling('cmd_patron_other'); + try { document.getElementById('PatronNavBar_other').firstChild.showPopup(); } catch(E) {}; + } + ], 'cmd_patron_info' : [ ['command'], function(ev) { - try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible( document.getElementById("PatronNavBar_info" ) ); } catch(E) {}; - obj.reset_nav_styling('cmd_patron_info'); obj.right_deck.set_iframe( urls.XUL_PATRON_INFO, // + '?patron_id=' + window.escape( obj.patron.id() ), {}, @@ -278,6 +288,16 @@ patron.display.prototype = { ); } ], + 'cmd_patron_alert' : [ + ['command'], + function(ev) { + if (obj.msg_url) { + obj.right_deck.set_iframe('data:text/html,'+obj.msg_url,{},{}); + } else { + obj.right_deck.set_iframe('data:text/html,

' + $("patronStrings").getString('staff.patron.display.no_alerts_or_messages') + '

',{},{}); + } + } + ], 'cmd_patron_exit' : [ ['command'], function(ev) { @@ -294,6 +314,7 @@ patron.display.prototype = { //+ '?patron_id=' + window.escape( obj.patron.id() ), {}, { + 'display_window' : window, 'patron_id' : obj.patron.id(), 'on_list_change' : function(h) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); @@ -402,7 +423,7 @@ patron.display.prototype = { x.addEventListener( 'focus', function(xx) { return function() { try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible(xx); } catch(E) {}; } }(x), false); var x = document.getElementById("PatronNavBar_holds"); x.addEventListener( 'focus', function(xx) { return function() { try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible(xx); } catch(E) {}; } }(x), false); - var x = document.getElementById("PatronNavBar_info"); + var x = document.getElementById("PatronNavBar_other"); x.addEventListener( 'focus', function(xx) { return function() { try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible(xx); } catch(E) {}; } }(x), false); var x = document.getElementById("PatronNavBar_edit"); x.addEventListener( 'focus', function(xx) { return function() { try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible(xx); } catch(E) {}; } }(x), false); @@ -430,13 +451,13 @@ patron.display.prototype = { obj.controller.view.cmd_patron_holds.setAttribute('disabled','true'); obj.controller.view.cmd_patron_bills.setAttribute('disabled','true'); obj.controller.view.cmd_patron_edit.setAttribute('disabled','true'); - obj.controller.view.cmd_patron_info.setAttribute('disabled','true'); obj.controller.view.patron_name.setAttribute('value', $("patronStrings").getString('staff.patron.display.init.retrieving')); document.documentElement.setAttribute('class',''); var frame = obj.left_deck.set_iframe( urls.XUL_PATRON_SUMMARY, {}, { + 'display_window' : window, 'barcode' : obj.barcode, 'id' : obj.id, 'refresh' : function() { obj.refresh_all(); }, @@ -450,7 +471,6 @@ patron.display.prototype = { obj.controller.view.cmd_patron_holds.setAttribute('disabled','false'); obj.controller.view.cmd_patron_bills.setAttribute('disabled','false'); obj.controller.view.cmd_patron_edit.setAttribute('disabled','false'); - obj.controller.view.cmd_patron_info.setAttribute('disabled','false'); if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') { try { @@ -530,6 +550,7 @@ patron.display.prototype = { + $("patronStrings").getString('staff.patron.display.init.network_request.window_message') + ''); obj.right_deck.set_iframe('data:text/html,'+data_url,{},{}); obj.old_msg = msg; + obj.msg_url = data_url; } else { obj.error.sdump('D_TRACE',$("patronStrings").getFormattedString('staff.patron.display.init.network_request.dump_error_message', [msg])); } @@ -572,13 +593,17 @@ patron.display.prototype = { }, 'reset_nav_styling' : function(btn) { - this.controller.view.cmd_patron_checkout.setAttribute('style',''); - this.controller.view.cmd_patron_items.setAttribute('style',''); - this.controller.view.cmd_patron_edit.setAttribute('style',''); - this.controller.view.cmd_patron_info.setAttribute('style',''); - this.controller.view.cmd_patron_holds.setAttribute('style',''); - this.controller.view.cmd_patron_bills.setAttribute('style',''); - this.controller.view[ btn ].setAttribute('style','background: blue; color: white;'); + try { + this.controller.view.cmd_patron_checkout.setAttribute('style',''); + this.controller.view.cmd_patron_items.setAttribute('style',''); + this.controller.view.cmd_patron_edit.setAttribute('style',''); + this.controller.view.cmd_patron_other.setAttribute('style',''); + this.controller.view.cmd_patron_holds.setAttribute('style',''); + this.controller.view.cmd_patron_bills.setAttribute('style',''); + this.controller.view[ btn ].setAttribute('style','background: blue; color: white;'); + } catch(E) { + alert(E); + } }, 'render_search_form' : function(params) { diff --git a/Open-ILS/xul/staff_client/server/patron/display.xul b/Open-ILS/xul/staff_client/server/patron/display.xul index 8a929262fe..1acc79c2c3 100644 --- a/Open-ILS/xul/staff_client/server/patron/display.xul +++ b/Open-ILS/xul/staff_client/server/patron/display.xul @@ -96,6 +96,8 @@ + + diff --git a/Open-ILS/xul/staff_client/server/patron/display_overlay.xul b/Open-ILS/xul/staff_client/server/patron/display_overlay.xul index e02630df6a..4fd69792b6 100644 --- a/Open-ILS/xul/staff_client/server/patron/display_overlay.xul +++ b/Open-ILS/xul/staff_client/server/patron/display_overlay.xul @@ -32,20 +32,22 @@