[open-ils-commits] r12009 - in branches/staff-client-experiment/Open-ILS: web/opac/locale/en-US xul/staff_client/chrome/content/OpenILS xul/staff_client/chrome/content/main xul/staff_client/server/admin xul/staff_client/server/patron

svn at svn.open-ils.org svn at svn.open-ils.org
Thu Jan 29 03:53:39 EST 2009


Author: phasefx
Date: 2009-01-29 03:53:35 -0500 (Thu, 29 Jan 2009)
New Revision: 12009

Added:
   branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul
Modified:
   branches/staff-client-experiment/Open-ILS/web/opac/locale/en-US/lang.dtd
   branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js
   branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/constants.js
   branches/staff-client-experiment/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml
   branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/display.js
   branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/display_overlay.xul
   branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/summary.xul
Log:
experimental horizontal interface for patron summary

Modified: branches/staff-client-experiment/Open-ILS/web/opac/locale/en-US/lang.dtd
===================================================================
--- branches/staff-client-experiment/Open-ILS/web/opac/locale/en-US/lang.dtd	2009-01-29 03:52:02 UTC (rev 12008)
+++ branches/staff-client-experiment/Open-ILS/web/opac/locale/en-US/lang.dtd	2009-01-29 08:53:35 UTC (rev 12009)
@@ -2645,3 +2645,5 @@
 <!ENTITY ev.staff.patron.ue_xhtml.alias.label "Alias">
 <!ENTITY staff.portal.title "Evergreen Staff Client Portal Page">
 <!ENTITY staff.portal.default.welcome "This is the Evergreen staff client portal page. You can customize this with the information or functionality your organization needs to support its operations. For example, you could add links to process and procedure documents.">
+<!ENTITY ui.circ.patron_summary.horizontal "Alternative Horizontal Patron Summary Panel">
+<!ENTITY ui.circ.patron_summary.horizontal.desc "This replaces the vertical Patron Summary Sidebar.">

Modified: branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js	2009-01-29 03:52:02 UTC (rev 12008)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js	2009-01-29 08:53:35 UTC (rev 12009)
@@ -638,9 +638,25 @@
 			}
 		);
 
-		// 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() {
 
 				gen_fm_retrieval_func('my_aou', 

Modified: branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/constants.js
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/constants.js	2009-01-29 03:52:02 UTC (rev 12008)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/constants.js	2009-01-29 08:53:35 UTC (rev 12009)
@@ -105,6 +105,7 @@
 	'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 },

Modified: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml	2009-01-29 03:52:02 UTC (rev 12008)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml	2009-01-29 08:53:35 UTC (rev 12009)
@@ -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'
+		}
             };
         </script>
     </head>

Modified: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/display.js
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/display.js	2009-01-29 03:52:02 UTC (rev 12008)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/display.js	2009-01-29 08:53:35 UTC (rev 12009)
@@ -26,13 +26,17 @@
 
 		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'] ) == '1';
+		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,
@@ -196,7 +200,7 @@
 
 								function spawn_search(s) {
 									obj.error.sdump('D_TRACE', $("commonStrings").getFormattedString('staff.patron.display.cmd_patron_edit.edit_search', [js2JSON(s)]) ); 
-									obj.data.stash_retrieve();
+									obj.OpenILS.data.stash_retrieve();
 									var loc = xulG.url_prefix(urls.XUL_PATRON_DISPLAY);
 									//loc += '?doit=1&query=' + window.escape(js2JSON(s));
 									xulG.new_tab( loc, {}, { 'doit' : 1, 'query' : s } );

Modified: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/display_overlay.xul
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/display_overlay.xul	2009-01-29 03:52:02 UTC (rev 12008)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/display_overlay.xul	2009-01-29 08:53:35 UTC (rev 12009)
@@ -32,14 +32,15 @@
 		<label class="hideme invalid_address_indicator" value="&staff.patron.display_overlay.invalid_address.value;"/>
 	</hbox>
 	<hbox id="PatronNotNavBar" flex="1" class="my_bg">
-		<vbox id="pdm3" flex="1" persist="width">
-			<deck id="patron_left_deck"/>
-		</vbox>
-		<splitter id="pdms1" collapse="before" persist="state hidden"><grippy id="pdmsg1"/></splitter>
-		<vbox id="pdm4" flex="3" persist="width">
-			<deck id="patron_right_deck"/>
-		</vbox>
-	
+		<box id="ui.circ.patron_summary.horizontal" orient="horizontal" flex="1">
+			<vbox id="pdm3" flex="1" persist="width,height">
+				<deck id="patron_left_deck"/>
+			</vbox>
+			<splitter id="pdms1" orient="horizontal" collapse="before" persist="state hidden"><grippy id="pdmsg1"/></splitter>
+			<vbox id="pdm4" flex="3" persist="width,height">
+				<deck id="patron_right_deck"/>
+			</vbox>
+		 </box>	
 	</hbox>
 </vbox>
 </box>

Modified: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/summary.xul
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/summary.xul	2009-01-29 03:52:02 UTC (rev 12008)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/summary.xul	2009-01-29 08:53:35 UTC (rev 12009)
@@ -57,21 +57,29 @@
 		function my_init() {
 			try {
 				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+				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_summary.xul');
+				
+				JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.stash_retrieve();
+				
+				var horizontal_interface = String( g.data.hash.aous['ui.circ.patron_summary.horizontal'] ) == '1';
+				var url = horizontal_interface ? '/xul/server/patron/summary_overlay_horiz.xul' : '/xul/server/patron/summary_overlay.xul';
+				
 				observer = new myObserver();
-				document.loadOverlay(location.protocol + '//' + location.hostname + '/xul/server/patron/summary_overlay.xul',observer)
+				document.loadOverlay(location.protocol + '//' + location.hostname + url,observer)
 			} catch(E) {
-				alert(E);
+				var err_msg = $("commonStrings").getFormattedString('common.exception', ['patron/summary.xul:my_init()', E]);
+				try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
+				alert(err_msg);
 			}
 		}
 		
 		function post_overlay() {
 			try {
 				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-				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_summary.xul');
 
 				var patron_id = xul_param('id'); 
 				var patron_bc = xul_param('barcode'); 
@@ -86,7 +94,7 @@
 				window.refresh = function () { g.summary.retrieve(); }
 				font_helper();
 			} catch(E) {
-				var err_msg = $("commonStrings").getFormattedString('common.exception', ['patron/summary.xul', E]);
+				var err_msg = $("commonStrings").getFormattedString('common.exception', ['patron/summary.xul:post_overlay()', E]);
 				try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
 				alert(err_msg);
 			}

Added: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul	                        (rev 0)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul	2009-01-29 08:53:35 UTC (rev 12009)
@@ -0,0 +1,236 @@
+<?xml version="1.0"?>
+<!DOCTYPE overlay PUBLIC "" ""[
+	<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
+]>
+<overlay id="patron_summary_overlay" 
+	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<script>dump('loading patron/summary_overlay.xul\n');</script>
+
+<commandset id="patron_summary_cmds" />
+
+<box id="patron_summary_main" flex="1" orient="vertical" class="my_overflow">
+	<hbox id="patron_info_sidebar" flex="1"/>
+</box>
+
+<hbox id="patron_info_sidebar">
+	<image id="patron_photo_url" />
+	<splitter id="pisbs1" collapse="before" persist="state hidden"><grippy /></splitter>
+	<vbox id="pisbvb2" persist="width" flex="1">
+		<button label="Alert" disabled="true" />
+		<button label="Block on Circ" disabled="true" />
+		<button label="Block on Hold" disabled="true" />
+		<button label="Block on Renew" disabled="true" />
+	</vbox>
+	<splitter id="pisbs2" collapse="before" persist="state hidden"><grippy /></splitter>
+	<vbox id="pisbvb2a" persist="width" flex="1">
+		<label id="patron_name" hidden="true" class="patronNameLarge"/>
+		<grid flex="1" style="border: solid thin">
+			<columns>
+				<column/>
+			</columns>
+			<rows>
+				<row hidden="true">
+					<label id="patron_standing" />
+				</row>
+				<row id="pdsgr1">
+					<label id="patron_profile" class="profile value"/>
+				</row>
+				<row id="pdsgr5">
+					<label id="patron_library" class="homelib value"/>
+				</row>
+				<row id="pdsgr5a">
+					<label id="patron_net_access" class="net_access value"/>
+				</row>
+				<row id="pdsgr5aa">
+					<label id="patron_date_of_exp" class="expire_date value"/>
+				</row>
+			</rows>
+		</grid>
+	</vbox>
+	<splitter id="pisbs3" collapse="before" persist="state hidden"><grippy /></splitter>
+	<vbox id="pisbvb4" persist="width" flex="1">
+		<grid id="PatronSummaryStatus_grid" flex="1"/>
+	</vbox>
+	<splitter id="pisbs4" collapse="before" persist="state hidden"><grippy /></splitter>
+	<vbox id="pisbvb5" persist="width" flex="1">
+		<grid id="PatronSummaryStatus_grid2" flex="1"/>
+	</vbox>
+	<splitter id="pisbs5" collapse="before" persist="state hidden"><grippy /></splitter>
+	<vbox id="pisbvb6" persist="width" flex="1">
+		<grid id="PatronSummaryContact_grid" flex="1"/>
+	</vbox>
+	<splitter id="pisbs6" collapse="before" persist="state hidden"><grippy /></splitter>
+	<vbox id="pisbvb7" persist="width" flex="1">
+		<groupbox id="PatronSummaryContact_mailing_address" orient="vertical"/>
+	</vbox>
+	<splitter id="pisbs7" collapse="before" persist="state hidden"><grippy /></splitter>
+	<vbox id="pisbvb8" persist="width" flex="1">
+		<groupbox id="PatronSummaryContact_physical_address" orient="vertical"/>
+	</vbox>
+	<splitter id="pisbs8" collapse="before" persist="state hidden"><grippy /></splitter>
+	<spacer/>
+</hbox>
+
+
+<grid id="PatronSummaryStatus_grid">
+	<columns id="pdsgc">
+		<column id="pdsgc1" />
+		<column id="pdsgc2" />
+		<column id="pdsgc3" />
+		<column id="pdsgc4" />
+	</columns>
+	<rows id="pdsgr" flex="1">
+		<row id="pdsgr4">
+			<label id="PatronSummaryStatus_holds_label" class="text_left holds label"
+				value="&staff.patron_display.holds.label;" />
+			<label id="patron_holds" class="holds value"/>
+		</row><row>
+			<label id="PatronSummaryStatus_holds_available_label" class="text_right holds_ready label"
+				value="&staff.patron_display.holds_available.label;"  style="background: grey"/>
+			<label id="patron_holds_available" class="holds_ready label" style="background: grey"/>
+		</row>
+		<row id="pdsgr2" class="hide_patron_credit" hidden="true">
+			<label id="PatronSummaryStatus_credit_label" class="text_left credit label"
+				value="&staff.patron_display.credit.label;" />
+			<label id="patron_credit" class="credit value"/>
+		</row><row>
+			<label id="PatronSummaryStatus_bills_label" class="text_left bill label"
+				value="&staff.patron_display.bills.label;" />
+			<label id="patron_bill" class="bill value"/>
+		</row>
+	 </rows>
+</grid>
+<grid id="PatronSummaryStatus_grid2">
+	<columns id="pdsg2c">
+		<column id="pdsg2c1" />
+		<column id="pdsg2c2" />
+		<column id="pdsg2c3" />
+		<column id="pdsg2c4" />
+	</columns>
+	<rows id="pdsg2r" flex="1">
+		<row id="pdsgr3">
+			<label id="PatronSummaryStatus_checkouts_label" class="text_left items_out label"
+				value="&staff.patron_display.checkouts.label;" />
+			<label id="patron_checkouts" class="items_out value"/>
+		</row>
+		<row>
+			<label id="PatronSummaryStatus_checkouts_overdue_label" class="text_right items_overdue label"
+				value="&staff.patron_display.checkouts_overdue.label;" style="background: grey"/>
+			<label id="patron_overdue" class="items_overdue value" style="background: grey"/>
+		</row>
+		<row id="pdsgr5">
+			<label id="PatronSummaryStatus_long_overdue_label" value="&staff.patron.summary_overlay.overdue.value;" class="text_right items_long_overdue label" style="background: grey"/>
+			<label id="patron_long_overdue" class="items_long_overdue value" style="background: grey"/>
+		</row>
+		<row id="pdsgr7">
+			<label id="PatronSummaryStatus_claimed_returned_label" value="&staff.patron.summary_overlay.claimed_returned.value;" class="text_right items_long_overdue label" style="background: grey"/>
+			<label id="patron_claimed_returned" class="items_claimed_returned value" style="background: grey"/>
+		</row>
+		<row id="pdsgr6">
+			<label id="PatronSummaryStatus_lost_label" value="&staff.patron.summary_overlay.lost_label.value;" class="text_left items_lost label"/>
+			<label id="patron_lost" class="items_lost value"/>
+		</row>
+		<row id="pdsgr6a">
+			<label id="PatronSummaryStatus_noncat_label" value="&staff.patron.summary_overlay.noncat_label.value;" class="text_left items_noncat label"/>
+			<label id="patron_noncat" class="items_noncat value"/>
+		</row>
+	</rows>
+</grid>
+
+<grid id="PatronSummaryContact_grid">
+	<columns id="pdsgc">
+		<column id="pdsgc1" />
+		<column id="pdsgc2" />
+	</columns>
+	<rows id="pdsgr" flex="1">
+		<row id="pdsgr0">
+			<label id="PatronSummaryContact_library_card_label" class="text_left card label"
+				value="&staff.patron_display.library_card.label;"/>
+			<label id="patron_card" class="card value click_link" onclick="try { copy_to_clipboard(event); } catch(E) { alert(E); }"/>
+		</row>
+		<row id="pdsgr1">
+			<label id="PatronSummaryContact_ident_label" class="text_left"
+				value="&staff.patron_display.ident1.label;"/>
+			<vbox id="pdsgr0h">
+				<label id="patron_ident_type_1" class="ident ident_type ident1 value"/>
+				<label id="patron_ident_value_1" class="ident ident_value ident1 value"/>
+			</vbox>
+		</row>
+		<row id="pdsgr2">
+			<label id="PatronSummaryContact_ident_label2" class="text_left"
+				value="&staff.patron_display.ident2.label;"/>
+			<vbox id="pdsgr0ah">
+				<label id="patron_ident_type_2" class="ident ident_type ident2 value"/>
+				<label id="patron_ident_value_2" class="ident ident_value ident2 value"/>
+			</vbox>
+		</row>
+		<row id="pdsgr3">
+			<label id="PatronSummaryContact_date_of_birth_label" class="text_left dob label"
+				value="&staff.patron_display.date_of_birth.label;"/>
+			<label id="patron_date_of_birth" class="dob value"/>
+		</row>
+		<row id="pdsgr4"><label id="pdsgr4l" value=" "/></row>
+	</rows>
+</grid>
+
+<grid id="PatronSummaryContact_grid_phone">
+	<columns id="pdcgpc">
+		<column id="pdcgpc1" />
+		<column id="pdcgpc2" />
+	</columns>
+	<rows id="pdcgpr" flex="1">
+		<row id="pdcgpr1">
+			<label id="PatronSummaryContact_day_phone_label" class="text_left phone label day_phone"
+				value="&staff.patron_display.day_phone.label;" />
+			<label id="patron_day_phone" class="phone value day_phone"/> 
+		</row>
+		<row id="pdcgpr2">
+			<label id="PatronSummaryContact_evening_phone_label" class="text_left phone label evening_phone"
+				value="&staff.patron_display.evening_phone.label;" />
+			<label id="patron_evening_phone" class="phone value evening_phone"/>
+		</row>
+		<row id="pdcgpr3">
+			<label id="PatronSummaryContact_other_phone_label" class="text_left phone label other_phone"
+				value="&staff.patron_display.other_phone.label;" />
+			<label id="patron_other_phone" class="phone value other_phone"/> 
+		</row>
+		<row id="pdsgpr4"><label id="pdsgpr4l" value=" "/></row>
+		<row id="pdsgpr4a">
+			<label id="PatronSummaryContact_usrname_label" class="text_left usrname label"
+				value="&staff.patron.summary_overlay.opac_login.value;" />
+			<label id="patron_usrname" class="usrname value"/>
+		</row>
+		<row id="pdcgpr5">
+			<label id="PatronSummaryContact_email_label" class="text_left email label"
+				value="&staff.patron_display.email.label;" />
+			<label id="patron_email" class="email value" style="text-decoration: underline; color: blue; -moz-user-focus: normal;" onclick="copy_to_clipboard(event)"/>
+		</row>
+		<row id="pdsgpr6"><label id="pdsgpr6l" value=" "/></row>
+
+	</rows>
+</grid>
+
+<groupbox id="PatronSummaryContact_mailing_address">
+	<caption id="pdcmac" label="&staff.patron_display.mailing_address;" class="shrinkable_groupbox"/>
+	<label id="patron_mailing_address_street1" tooltiptext="&staff.patron_display.mailing.street1.label;" class="address street street1 mailing"/>
+	<label id="patron_mailing_address_street2" tooltiptext="&staff.patron_display.mailing.street2.label;" class="address street street2 mailing"/>
+	<hbox id="pdcmah">
+		<label id="patron_mailing_address_city" tooltiptext="&staff.patron_display.mailing.city.label;" class="address city mailing"/>
+		<label id="patron_mailing_address_state" tooltiptext="&staff.patron_display.mailing.state.label;" class="address state mailing"/>
+		<label id="patron_mailing_address_post_code" tooltiptext="&staff.patron_display.mailing.post_code.label;" class="address post_code mailing"/>
+	</hbox>
+</groupbox>
+
+<groupbox id="PatronSummaryContact_physical_address">
+	<caption id="pdcpac" label="&staff.patron_display.physical_address;" class="shrinkable_groupbox"/>
+	<label id="patron_physical_address_street1" tooltiptext="&staff.patron_display.physical.street1.label;" class="address street street1 physical" />
+	<label id="patron_physical_address_street2" tooltiptext="&staff.patron_display.physical.street2.label;"  class="address street street2 physical"/>
+	<hbox id="pdcpah">
+		<label id="patron_physical_address_city" tooltiptext="&staff.patron_display.physical.city.label;" class="address city physical"/>
+		<label id="patron_physical_address_state" tooltiptext="&staff.patron_display.physical.state.label;" class="address state physical"/>
+		<label id="patron_physical_address_post_code" tooltiptext="&staff.patron_display.physical.post_code.label;" class="address post_code physical"/>
+	</hbox>
+</groupbox>
+
+</overlay>



More information about the open-ils-commits mailing list