From: phasefx Date: Tue, 15 Dec 2009 21:03:53 +0000 (+0000) Subject: Layout tweaks for horizontal patron summary pane, including slim Group Members tab X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=218e17ee55cdfabfe0c3238be6e6865093155801;p=Evergreen.git Layout tweaks for horizontal patron summary pane, including slim Group Members tab git-svn-id: svn://svn.open-ils.org/ILS/trunk@15169 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/opac/locale/en-US/lang.dtd b/Open-ILS/web/opac/locale/en-US/lang.dtd index 895a83e512..d90fc803c3 100644 --- a/Open-ILS/web/opac/locale/en-US/lang.dtd +++ b/Open-ILS/web/opac/locale/en-US/lang.dtd @@ -1227,6 +1227,15 @@ + + + + + + + + + @@ -1257,6 +1266,12 @@ + + + + + + @@ -2755,6 +2770,8 @@ + + diff --git a/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties b/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties index 7c91b49cdd..6e4a41ee47 100644 --- a/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties +++ b/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties @@ -328,6 +328,10 @@ staff.patron.summary.patron_net_access=Internet staff.patron.summary.expires_on=Expires on staff.patron.summary.standing_penalty.remove=Remove staff.patron.summary.standing_penalty.none=No Blocks/Penalties +staff.patron.summary.group_list.column.family_name.label=Family Name +staff.patron.summary.group_list.column.first_given_name.label=First Name +staff.patron.summary.group_list.column.second_given_name.label=Middle Name +staff.patron.summary.group_list.column.home_ou.label=Home Lib staff.patron.staged.register_patron=Registering Pending Patron: %1$s staff.patron.staged.confirm_patron_delete=Delete the selected patrons? staff.patron.staged.error_on_delete=Error deleting pending patron with row_id = %1$s diff --git a/Open-ILS/xul/staff_client/server/patron/display.js b/Open-ILS/xul/staff_client/server/patron/display.js index f7c889b0b2..f457f4904d 100644 --- a/Open-ILS/xul/staff_client/server/patron/display.js +++ b/Open-ILS/xul/staff_client/server/patron/display.js @@ -545,6 +545,9 @@ patron.display.prototype = { 'refresh' : function() { obj.refresh_all(); }, 'on_finished' : obj.gen_patron_summary_finish_func(), 'stop_sign_page' : obj.gen_patron_stop_sign_page_func(), + 'new_patron_tab' : xulG.new_patron_tab, + 'new_tab' : xulG.new_tab, + 'set_tab' : xulG.set_tab, 'on_error' : function(E) { try { var error; diff --git a/Open-ILS/xul/staff_client/server/patron/display_horiz_overlay.xul b/Open-ILS/xul/staff_client/server/patron/display_horiz_overlay.xul index b150583e9e..55d071f0ae 100644 --- a/Open-ILS/xul/staff_client/server/patron/display_horiz_overlay.xul +++ b/Open-ILS/xul/staff_client/server/patron/display_horiz_overlay.xul @@ -36,7 +36,7 @@ - + diff --git a/Open-ILS/xul/staff_client/server/patron/summary.js b/Open-ILS/xul/staff_client/server/patron/summary.js index ccd20e9ec2..2ccdbe97c4 100644 --- a/Open-ILS/xul/staff_client/server/patron/summary.js +++ b/Open-ILS/xul/staff_client/server/patron/summary.js @@ -30,6 +30,39 @@ patron.summary.prototype = { obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'}); var obscure_dob = String( obj.OpenILS.data.hash.aous['circ.obscure_dob'] ) == 'true'; + JSAN.use('util.functional'); JSAN.use('patron.util'); JSAN.use('util.list'); obj.group_list = new util.list('group_list'); + obj.group_list.init( { + 'columns' : [ + { 'id' : 'gl_family_name', 'flex' : 1, + 'label' : patronStrings.getString('staff.patron.summary.group_list.column.family_name.label'), + 'render' : function(my) { return my.family_name; } }, + { 'id' : 'gl_first_given_name', 'flex' : 1, + 'label' : patronStrings.getString('staff.patron.summary.group_list.column.first_given_name.label'), + 'render' : function(my) { return my.first_given_name; } }, + { 'id' : 'gl_second_given_name', 'flex' : 1, 'hidden' : true, + 'label' : patronStrings.getString('staff.patron.summary.group_list.column.second_given_name.label'), + 'render' : function(my) { return my.second_given_name; } }, + { 'id' : 'gl_home_lib', 'flex' : 1, 'hidden' : true, + 'label' : patronStrings.getString('staff.patron.summary.group_list.column.home_ou.label'), + 'render' : function(my) { return obj.OpenILS.data.hash.aou[ my.home_ou ].shortname(); } } + ], + 'retrieve_row' : function(params) { + var id = params.retrieve_id; + var blob = patron.util.retrieve_name_via_id( ses(), id ); + var row = params.row; if (typeof row.my == 'undefined') { row.my = {}; } + row.my.family_name = blob[0]; + row.my.first_given_name = blob[1]; + row.my.second_given_name = blob[2]; + row.my.home_ou = blob[3]; + if (typeof params.on_retrieve == 'function') { + params.on_retrieve(row); + } + return row; + } + } ); + $('group_list_actions').appendChild( obj.group_list.render_list_actions() ); + obj.group_list.set_list_actions(); + JSAN.use('util.controller'); obj.controller = new util.controller(); obj.controller.init( { @@ -38,6 +71,53 @@ patron.summary.prototype = { ['command'], function() { alert($("commonStrings").getString('common.unimplemented')); } ], + 'radio_address' : [ + ['render'], + function(e) { + return function() { + if (e.value == 'physical') { e.selectedIndex = 1; $('address_deck').selectedIndex = 1; } + }; + } + ], + 'group_tab' : [ + ['command'], + function() { + try { + if (! obj.group_frame_loaded) { + obj.group_frame(); + obj.group_frame_loaded = true; + } + } catch(E) { + alert('Error in summary.js, group_tab: ' + E); + } + } + ], + 'group_tab_retrieve_patron' : [ + ['command'], + function() { + var selected_ids = util.functional.map_list( + obj.group_list.retrieve_selection(), + function(o) { + return o.getAttribute('retrieve_id'); + } + ); + for (var i = 0; i < selected_ids.length; i++) { + try { + window.xulG.new_patron_tab( + { 'tab_name' : patronStrings.getString('staff.patron.info_group.retrieve_patron.tab_name') }, + { + 'id' : selected_ids[i], + 'url_prefix' : xulG.url_prefix, + 'new_tab' : xulG.new_tab, + 'set_tab' : xulG.set_tab + } + ); + } catch(E) { + alert('Error in summary.js, group_tab_retrieve_patron: ' + E); + } + } + } + ], 'patron_alert' : [ ['render'], function(e) { @@ -734,6 +814,36 @@ patron.summary.prototype = { alert(js2JSON(E)); } } + }, + + 'group_frame' : function() { + var obj = this; + try { + obj.group_list.clear(); + + var robj = obj.network.simple_request( + 'FM_AU_LIST_RETRIEVE_VIA_GROUP.authoritative', + [ ses(), obj.patron.usrgroup() ] + ); + if ((robj == null) || (typeof robj.ilsevent != 'undefined') ) throw(robj); + var ids = util.functional.filter_list( robj, function(o) { return o != obj.patron.id(); }); + var funcs = []; + + function gen_func(r) { + return function() { + obj.group_list.append( { 'retrieve_id' : r, 'row' : {} } ); + } + } + + //funcs.push( gen_func(obj.patron.id()) ); + for (var i = 0; i < ids.length; i++) { + funcs.push( gen_func(ids[i]) ); + } + JSAN.use('util.exec'); var exec = new util.exec(4); + exec.chain( funcs ); + } catch(E) { + alert('Error in summary.js, group_frame(): ' + E); + } } } diff --git a/Open-ILS/xul/staff_client/server/patron/summary.xul b/Open-ILS/xul/staff_client/server/patron/summary.xul index 9329e5d0f2..33b821b287 100644 --- a/Open-ILS/xul/staff_client/server/patron/summary.xul +++ b/Open-ILS/xul/staff_client/server/patron/summary.xul @@ -20,7 +20,7 @@ @@ -49,7 +49,7 @@ observe: function(subject,topic,data) { dump('observe: <'+subject+','+topic+','+data+'>\n'); // setTimeout is needed here for xulrunner 1.8 - setTimeout( function() { try { post_overlay(); } catch(E) { alert(E); } }, 0 ); + setTimeout( function() { try { persist_helper(); post_overlay(); } catch(E) { alert(E); } }, 0 ); } } @@ -95,6 +95,14 @@ ); } + function copy_displayed_address() { + if ( $('radio_address').selectedIndex == 0 ) { + copy_mailing_address(); + } else { + copy_billing_address(); + } + } + function copy_mailing_address() { var a = g.summary.patron.mailing_address(); if (!a) return; @@ -134,8 +142,8 @@ - - + + diff --git a/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul b/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul index 260ccaceb6..c583feb15d 100644 --- a/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul +++ b/Open-ILS/xul/staff_client/server/patron/summary_overlay_horiz.xul @@ -7,104 +7,124 @@ - + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +