[open-ils-commits] r16299 - in trunk/Open-ILS: web/opac/locale/en-US xul/staff_client/chrome/content/main xul/staff_client/server/circ (phasefx)
svn at svn.open-ils.org
svn at svn.open-ils.org
Mon Apr 26 05:23:32 EDT 2010
Author: phasefx
Date: 2010-04-26 05:23:26 -0400 (Mon, 26 Apr 2010)
New Revision: 16299
Modified:
trunk/Open-ILS/web/opac/locale/en-US/lang.dtd
trunk/Open-ILS/xul/staff_client/chrome/content/main/constants.js
trunk/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js
trunk/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.xul
Log:
* show most recent and previous circ chains in item details history tab, with patron retrieval buttons
* accesskeys for the Item Details tab box
* fix: don't render 'undefined'
Modified: trunk/Open-ILS/web/opac/locale/en-US/lang.dtd
===================================================================
--- trunk/Open-ILS/web/opac/locale/en-US/lang.dtd 2010-04-26 09:23:23 UTC (rev 16298)
+++ trunk/Open-ILS/web/opac/locale/en-US/lang.dtd 2010-04-26 09:23:26 UTC (rev 16299)
@@ -3163,6 +3163,7 @@
<!ENTITY staff.circ.alternate_copy_summary.Barcode.label "Barcode">
<!ENTITY staff.circ.alternate_copy_summary.Call_Number.label "Call Number">
<!ENTITY staff.circ.alternate_copy_summary.Cataloging_Info.label "Cataloging Info">
+<!ENTITY staff.circ.alternate_copy_summary.Cataloging_Info.accesskey "I">
<!ENTITY staff.circ.alternate_copy_summary.Checkin_Scan_Time.label "Checkin Scan Time">
<!ENTITY staff.circ.alternate_copy_summary.Checkin_Time.label "Checkin Time">
<!ENTITY staff.circ.alternate_copy_summary.Checkin_Workstation.label "Checkin Workstation">
@@ -3171,6 +3172,7 @@
<!ENTITY staff.circ.alternate_copy_summary.Circ_Modifier.label "Circ Modifier">
<!ENTITY staff.circ.alternate_copy_summary.Circulate.label "Circulate">
<!ENTITY staff.circ.alternate_copy_summary.Circulation_History.label "Circulation History">
+<!ENTITY staff.circ.alternate_copy_summary.Circulation_History.accesskey "H">
<!ENTITY staff.circ.alternate_copy_summary.Copy_ID.label "Copy ID">
<!ENTITY staff.circ.alternate_copy_summary.Copy_Location.label "Copy Location">
<!ENTITY staff.circ.alternate_copy_summary.Renewal_Type.label "Renewal Type">
@@ -3181,24 +3183,33 @@
<!ENTITY staff.circ.alternate_copy_summary.Holdable.label "Holdable">
<!ENTITY staff.circ.alternate_copy_summary.Hold_Shelf_Location.label "Hold Shelf Location">
<!ENTITY staff.circ.alternate_copy_summary.Holds_Transit.label "Holds/Transit">
+<!ENTITY staff.circ.alternate_copy_summary.Holds_Transit.accesskey "">
<!ENTITY staff.circ.alternate_copy_summary.ISBN.label "ISBN">
<!ENTITY staff.circ.alternate_copy_summary.Loan_Duration.label "Loan Duration">
<!ENTITY staff.circ.alternate_copy_summary.Fine_Level.label "Fine Level">
+<!ENTITY staff.circ.alternate_copy_summary.Most_Recent_Circ_Group.label "Most Recent Circ Group">
<!ENTITY staff.circ.alternate_copy_summary.OPAC_Visible.label "OPAC Visible">
<!ENTITY staff.circ.alternate_copy_summary.Owning_Library.label "Owning Library">
+<!ENTITY staff.circ.alternate_copy_summary.Patron_Name.label "Patron">
<!ENTITY staff.circ.alternate_copy_summary.Price.label "Price">
+<!ENTITY staff.circ.alternate_copy_summary.Previous_Circ_Group.label "Previous Circ Group">
<!ENTITY staff.circ.alternate_copy_summary.Pub_Date.label "Pub Date">
<!ENTITY staff.circ.alternate_copy_summary.Publisher.label "Publisher">
<!ENTITY staff.circ.alternate_copy_summary.Quick_Summary.label "Quick Summary">
+<!ENTITY staff.circ.alternate_copy_summary.Quick_Summary.accesskey "Q">
<!ENTITY staff.circ.alternate_copy_summary.Reference.label "Reference">
<!ENTITY staff.circ.alternate_copy_summary.Remaining_Renewals.label "Remaining Renewals">
+<!ENTITY staff.circ.alternate_copy_summary.Renewal_Time.label "Last Renewed On">
<!ENTITY staff.circ.alternate_copy_summary.Renewal_Workstation.label "Renewal Workstation">
<!ENTITY staff.circ.alternate_copy_summary.Rolling_Counter.label "Rolling Counter">
<!ENTITY staff.circ.alternate_copy_summary.Status.label "Status">
+<!ENTITY staff.circ.alternate_copy_summary.Stop_Fines.label "Stop Fines Reason">
+<!ENTITY staff.circ.alternate_copy_summary.Stop_Fines_Time.label "Stop Fines Time">
<!ENTITY staff.circ.alternate_copy_summary.TCN.label "TCN">
<!ENTITY staff.circ.alternate_copy_summary.Total_Circs___Current_Year.label "Total Circs - Current Year">
<!ENTITY staff.circ.alternate_copy_summary.Total_Circs.label "Total Circs">
<!ENTITY staff.circ.alternate_copy_summary.Total_Circs___Prev_Year.label "Total Circs - Prev Year">
+<!ENTITY staff.circ.alternate_copy_summary.Total_Circs_for_circ_chain.label "Total Circs">
<!ENTITY staff.circ.alternate_copy_summary.Duration_Rule.label "Duration Rule">
<!ENTITY staff.circ.alternate_copy_summary.Recurring_Fine_Rule.label "Recurring Fine Rule">
<!ENTITY staff.circ.alternate_copy_summary.Max_Fine_Rule.label "Max Fine Rule">
Modified: trunk/Open-ILS/xul/staff_client/chrome/content/main/constants.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/chrome/content/main/constants.js 2010-04-26 09:23:23 UTC (rev 16298)
+++ trunk/Open-ILS/xul/staff_client/chrome/content/main/constants.js 2010-04-26 09:23:26 UTC (rev 16299)
@@ -211,6 +211,8 @@
'FM_CCS_RETRIEVE' : { 'app' : 'open-ils.search', 'method' : 'open-ils.search.config.copy_status.retrieve.all', 'secure' : false },
'FM_CIRC_CHAIN' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.renewal_chain.retrieve_by_circ.atomic' },
'FM_CIRC_CHAIN_SUMMARY' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.renewal_chain.retrieve_by_circ.summary' },
+ 'FM_CIRC_PREV_CHAIN' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.prev_renewal_chain.retrieve_by_circ.atomic' },
+ 'FM_CIRC_PREV_CHAIN_SUMMARY' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.prev_renewal_chain.retrieve_by_circ.summary' },
'FM_CIRC_DETAILS' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.fleshed.retrieve' },
'FM_CIRC_DETAILS.authoritative' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.fleshed.retrieve.authoritative' },
'FM_CIRC_RETRIEVE_VIA_ID' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.retrieve' },
Modified: trunk/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js 2010-04-26 09:23:23 UTC (rev 16298)
+++ trunk/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js 2010-04-26 09:23:26 UTC (rev 16299)
@@ -16,6 +16,29 @@
JSAN.use('util.date');
JSAN.use('cat.util');
+ var x = document.getElementById('patron_name');
+ if (x) {
+ x.addEventListener(
+ 'command',
+ function(ev) {
+ var usr = ev.target.getAttribute('data');
+ if (usr) { window.xulG.new_patron_tab( {}, { 'id' : usr } ); }
+ },
+ false
+ );
+ }
+ var y = document.getElementById('prev_patron_name');
+ if (y) {
+ y.addEventListener(
+ 'command',
+ function(ev) {
+ var usr = ev.target.getAttribute('data');
+ if (usr) { window.xulG.new_patron_tab( {}, { 'id' : usr } ); }
+ },
+ false
+ );
+ }
+
// timeout so xulG gets a chance to get pushed in
setTimeout(
function () { xulG.from_item_details_new = false; load_item(); },
@@ -27,14 +50,26 @@
}
}
-function set(name,value) {
+function set(name,value,data) {
+ if (typeof value == 'undefined' || typeof value == 'null') { return; }
var nodes = document.getElementsByAttribute('name',name);
for (var i = 0; i < nodes.length; i++) {
- nodes[i].setAttribute('value',value); nodes[i].value = value;
+ if (nodes[i].nodeName == 'button') {
+ nodes[i].setAttribute('label',value);
+ if (data) {
+ nodes[i].setAttribute('data',data);
+ } else {
+ nodes[i].setAttribute('data','');
+ }
+ } else {
+ nodes[i].setAttribute('value',value);
+ }
+ nodes[i].value = value;
}
}
function set_tooltip(name,value) {
+ if (typeof value == 'undefined' || typeof value == 'null') { return; }
var nodes = document.getElementsByAttribute('name',name);
for (var i = 0; i < nodes.length; i++) {
nodes[i].setAttribute('tooltiptext',value);
@@ -294,7 +329,7 @@
set("stop_fines", '');
set("stop_fines_time", '');
set("target_copy", '');
- set("usr", '');
+ set("circ_usr", '');
set("xact_finish", '');
set("xact_start", '');
set("create_time", '');
@@ -307,6 +342,19 @@
set("circ_type", '');
set("billing_total", '');
set("payment_total", '');
+ set("patron_name", '');
+ set("prev_patron_name", '');
+ set("prev_num_circs", '');
+ set("prev_num_renewals", '');
+ set("prev_xact_start", '');
+ set("prev_checkout_workstation", '');
+ set("prev_renewal_time", '');
+ set("prev_stop_fines", '');
+ set("prev_stop_fines_time", '');
+ set("prev_renewal_workstation", '');
+ set("prev_checkin_workstation", '');
+ set("prev_last_checkin_time", '');
+ set("prev_last_checkin_scan_time", '');
if (details.circ) {
try { set("checkin_lib", typeof details.circ.checkin_lib() == 'object' ? details.circ.checkin_lib().shortname() : data.hash.aou[ details.circ.checkin_lib() ].shortname() ); } catch(E) {};
@@ -334,7 +382,16 @@
set("stop_fines", details.circ.stop_fines());
set("stop_fines_time", util.date.formatted_date( details.circ.stop_fines_time(), '%{localized}' ));
set("target_copy", details.circ.target_copy());
- set("usr", details.circ.usr());
+ set("circ_usr", details.circ.usr());
+ network.simple_request('FM_AU_FLESHED_RETRIEVE_VIA_ID',[ ses(), details.circ.usr() ], function(preq) {
+ var r_au = preq.getResultObject();
+ JSAN.use('patron.util');
+ set(
+ 'patron_name',
+ patron.util.format_name( r_au ) + ' : ' + r_au.card().barcode(),
+ details.circ.usr()
+ );
+ });
set("xact_finish", util.date.formatted_date( details.circ.xact_finish(), '%{localized}' ));
set("xact_start", util.date.formatted_date( details.circ.xact_start(), '%{localized}' ));
set("create_time", util.date.formatted_date( details.circ.create_time(), '%{localized}' ));
@@ -344,12 +401,17 @@
network.simple_request('FM_CIRC_CHAIN_SUMMARY', [ses(), details.circ.id() ], function(req) {
try {
var summary = req.getResultObject();
+ set("num_circs", summary.num_circs());
+ set("num_renewals", Number(summary.num_circs()) - 1);
+ set("xact_start", util.date.formatted_date( summary.start_time(), '%{localized}' ));
set("checkout_workstation", summary.checkout_workstation());
+ set("renewal_time", util.date.formatted_date( summary.last_renewal_time(), '%{localized}' ));
+ set("stop_fines", summary.last_stop_fines());
+ set("stop_fines_time", util.date.formatted_date( summary.last_stop_fines_time(), '%{localized}' ));
set("renewal_workstation", summary.last_renewal_workstation());
set("checkin_workstation", summary.last_checkin_workstation());
- set("stop_fines", summary.last_stop_fines());
- set("stop_fines_time", util.date.formatted_date( summary.last_stop_fines_time(), '%{localized}' ));
- set("renewal_time", util.date.formatted_date( summary.last_renewal_time(), '%{localized}' ));
+ set("last_checkin_time", util.date.formatted_date( summary.last_checkin_time(), '%{localized}' ));
+ set("last_checkin_scan_time", util.date.formatted_date( summary.last_checkin_scan_time(), '%{localized}' ));
} catch(E) {
alert('Error in alternate_copy_summary.js, FM_CIRC_CHAIN: ' + E);
}
@@ -357,6 +419,35 @@
} else {
set("checkout_workstation", (typeof details.circ.workstation() == 'object' && details.circ.workstation() != null) ? details.circ.workstation().name() : details.circ.workstation() );
}
+ network.simple_request('FM_CIRC_PREV_CHAIN_SUMMARY', [ses(), details.circ.id() ], function(req) {
+ try {
+ var robj = req.getResultObject();
+ if (!robj || typeof robj == 'null') { return; }
+ var summary = robj['summary'];
+ network.simple_request('FM_AU_FLESHED_RETRIEVE_VIA_ID',[ ses(), robj['usr'] ], function(preq) {
+ var r_au = preq.getResultObject();
+ JSAN.use('patron.util');
+ set(
+ 'prev_patron_name',
+ patron.util.format_name( r_au ) + ' : ' + r_au.card().barcode(),
+ robj['usr']
+ );
+ });
+ set("prev_num_circs", summary.num_circs());
+ set("prev_num_renewals", Number(summary.num_circs()) - 1);
+ set("prev_xact_start", util.date.formatted_date( summary.start_time(), '%{localized}' ));
+ set("prev_checkout_workstation", summary.checkout_workstation());
+ set("prev_renewal_time", util.date.formatted_date( summary.last_renewal_time(), '%{localized}' ));
+ set("prev_stop_fines", summary.last_stop_fines());
+ set("prev_stop_fines_time", util.date.formatted_date( summary.last_stop_fines_time(), '%{localized}' ));
+ set("prev_renewal_workstation", summary.last_renewal_workstation());
+ set("prev_checkin_workstation", summary.last_checkin_workstation());
+ set("prev_last_checkin_time", util.date.formatted_date( summary.last_checkin_time(), '%{localized}' ));
+ set("prev_last_checkin_scan_time", util.date.formatted_date( summary.last_checkin_scan_time(), '%{localized}' ));
+ } catch(E) {
+ alert('Error in alternate_copy_summary.js, FM_CIRC_PREV_CHAIN: ' + E);
+ }
+ });
set("billings", details.circ.billings());
set("payments", details.circ.payments());
set("billable_transaction", details.circ.billable_transaction());
@@ -454,7 +545,7 @@
set("selection_ou", '');
set_tooltip("selection_ou", '');
set("target", '');
- set("usr", '');
+ set("hold_usr", '');
set("cancel_time", '');
set("notify_time", '');
set("notify_count", '');
@@ -494,7 +585,7 @@
set("selection_ou" , typeof details.hold.selection_ou() == 'object' ? details.hold.selection_ou().shortname() : data.hash.aou[ details.hold.selection_ou() ].shortname() );
set_tooltip("selection_ou" , typeof details.hold.selection_ou() == 'object' ? details.hold.selection_ou().name() : data.hash.aou[ details.hold.selection_ou() ].name() );
set("target", details.hold.target());
- set("usr", details.hold.usr());
+ set("hold_usr", details.hold.usr());
set("cancel_time", util.date.formatted_date( details.hold.cancel_time(), '%{localized}' ));
set("notify_time", util.date.formatted_date( details.hold.notify_time(), '%{localized}' ));
set("notify_count", details.hold.notify_count());
Modified: trunk/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.xul 2010-04-26 09:23:23 UTC (rev 16298)
+++ trunk/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.xul 2010-04-26 09:23:26 UTC (rev 16299)
@@ -51,13 +51,13 @@
<tabbox flex="1">
<tabs>
- <tab label="&staff.circ.alternate_copy_summary.Quick_Summary.label;" />
- <tab label="&staff.circ.alternate_copy_summary.Circulation_History.label;" />
- <tab label="&staff.circ.alternate_copy_summary.Holds_Transit.label;" />
- <tab label="&staff.circ.alternate_copy_summary.Cataloging_Info.label;" />
+ <tab label="&staff.circ.alternate_copy_summary.Quick_Summary.label;" accesskey="&staff.circ.alternate_copy_summary.Quick_Summary.accesskey;" />
+ <tab label="&staff.circ.alternate_copy_summary.Circulation_History.label;" accesskey="&staff.circ.alternate_copy_summary.Circulation_History.accesskey;" />
+ <tab label="&staff.circ.alternate_copy_summary.Holds_Transit.label;" accesskey="&staff.circ.alternate_copy_summary.Holds_Transit.accesskey;" />
+ <tab label="&staff.circ.alternate_copy_summary.Cataloging_Info.label;" accesskey="&staff.circ.alternate_copy_summary.Cataloging_Info.accesskey;" />
</tabs>
<tabpanels flex="1">
- <tabpanel orient="vertical">
+ <tabpanel orient="vertical"><!-- Quick Summary -->
<grid id="grid1" flex="0">
<columns>
<column id="g1column1"/>
@@ -188,9 +188,95 @@
</rows>
</grid>
</tabpanel>
- <tabpanel />
- <tabpanel />
- <tabpanel>
+ <tabpanel><!-- Circulation History -->
+ <grid>
+ <columns>
+ <column/>
+ <column/>
+ <column flex="1"/>
+ <column/>
+ <column/>
+ </columns>
+ <rows>
+ <row>
+ <label class="header1" value="&staff.circ.alternate_copy_summary.Previous_Circ_Group.label;" />
+ <spacer />
+ <spacer />
+ <label class="header1" value="&staff.circ.alternate_copy_summary.Most_Recent_Circ_Group.label;" />
+ <spacer />
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Patron_Name.label;" />
+ <button id="prev_patron_name" name="prev_patron_name" readonly="true" />
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Patron_Name.label;" />
+ <button id="patron_name" name="patron_name" readonly="true" />
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Total_Circs_for_circ_chain.label;" />
+ <textbox name="prev_num_circs" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Total_Circs_for_circ_chain.label;" />
+ <textbox name="num_circs" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Checkout_Date.label;" />
+ <textbox name="prev_xact_start" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Checkout_Date.label;" />
+ <textbox name="xact_start" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Checkout_Workstation.label;" />
+ <textbox name="prev_checkout_workstation" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Checkout_Workstation.label;" />
+ <textbox name="checkout_workstation" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Renewal_Time.label;" />
+ <textbox name="prev_renewal_time" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Renewal_Time.label;" />
+ <textbox name="renewal_time" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Renewal_Workstation.label;" />
+ <textbox name="prev_renewal_workstation" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Renewal_Workstation.label;" />
+ <textbox name="renewal_workstation" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Stop_Fines.label;" />
+ <textbox name="prev_stop_fines" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Stop_Fines.label;" />
+ <textbox name="stop_fines" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Stop_Fines_Time.label;" />
+ <textbox name="prev_stop_fines_time" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Stop_Fines_Time.label;" />
+ <textbox name="stop_fines_time" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Checkin_Time.label;" />
+ <textbox name="prev_last_checkin_time" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Checkin_Time.label;" />
+ <textbox name="last_checkin_time" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Checkin_Scan_Time.label;" />
+ <textbox name="prev_last_checkin_scan_time" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Checkin_Scan_Time.label;" />
+ <textbox name="last_checkin_scan_time" readonly="true" context="clipboard"/>
+ </row><row>
+ <label value="&staff.circ.alternate_copy_summary.Checkin_Workstation.label;" />
+ <textbox name="prev_checkin_workstation" readonly="true" context="clipboard"/>
+ <spacer />
+ <label value="&staff.circ.alternate_copy_summary.Checkin_Workstation.label;" />
+ <textbox name="checkin_workstation" readonly="true" context="clipboard"/>
+ </row>
+ </rows>
+ </grid>
+ </tabpanel>
+ <tabpanel><!-- Hold/Transit -->
+ </tabpanel>
+ <tabpanel><!-- Cataloging Info -->
<deck id="cat_deck" flex="1"/>
</tabpanel>
</tabpanels>
More information about the open-ils-commits
mailing list