From 13c374a416d717988d9950140e7d7ef667c8fecf Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Mon, 1 Aug 2011 23:07:24 -0400 Subject: [PATCH] menu action for marking items as claimed never checked out in Patron Items Out Signed-off-by: Jason Etheridge --- Open-ILS/web/opac/locale/en-US/lang.dtd | 7 ++- .../server/locale/en-US/patron.properties | 2 + Open-ILS/xul/staff_client/server/patron/items.js | 70 +++++++++++++++++++--- .../staff_client/server/patron/items_overlay.xul | 6 ++ 4 files changed, 75 insertions(+), 10 deletions(-) diff --git a/Open-ILS/web/opac/locale/en-US/lang.dtd b/Open-ILS/web/opac/locale/en-US/lang.dtd index f9549b87fc..622683d731 100644 --- a/Open-ILS/web/opac/locale/en-US/lang.dtd +++ b/Open-ILS/web/opac/locale/en-US/lang.dtd @@ -978,8 +978,6 @@ - - @@ -1457,6 +1455,7 @@ + @@ -1585,7 +1584,7 @@ - + @@ -3213,6 +3212,7 @@ + @@ -3372,6 +3372,7 @@ + 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 9bbb2cc642..f077b7d6e7 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 @@ -325,6 +325,8 @@ staff.patron.items.items_claimed_returned.not_marked_claimed_returned=The items staff.patron.items.set_claim_returned_failure=Override set claimed returned failure? staff.patron.items.items_checkin.confirm_item_check_in.singular=Are you sure you would like to check in item %1$s? staff.patron.items.items_checkin.confirm_item_check_in.plural=Are you sure you would like to check in items %1$s? +staff.patron.items.items_checkin.confirm_item_claimed_never_checked_out.singular=Are you sure you would like to mark this item as Claimed Never Checked Out? %1$s +staff.patron.items.items_checkin.confirm_item_claimed_never_checked_out.plural=Are you sure you would like to mark these items as Claimed Never Checked Out? %1$s staff.patron.items.items_checkin.no_checkin=Checkin probably did not happen. staff.patron.items.show_catalog.barcode_not_cataloged=%1$s is not cataloged staff.patron.items.show_catalog.retrieving_title=Retrieving title... diff --git a/Open-ILS/xul/staff_client/server/patron/items.js b/Open-ILS/xul/staff_client/server/patron/items.js index 379b35dbfc..e640f1ea3a 100644 --- a/Open-ILS/xul/staff_client/server/patron/items.js +++ b/Open-ILS/xul/staff_client/server/patron/items.js @@ -157,6 +157,22 @@ patron.items.prototype = { 'cmd_items_mark_lost2' : [ ['command'], function() { obj.items_mark_lost(2); /*obj.retrieve();*/ } ], 'cmd_items_claimed_returned' : [ ['command'], function() { obj.items_claimed_returned(1); /*obj.retrieve();*/ } ], 'cmd_items_claimed_returned2' : [ ['command'], function() { obj.items_claimed_returned(2); /*obj.retrieve();*/ } ], + 'cmd_items_claimed_never_checked_out' : [ + ['command'], + function() { + obj.items_checkin( + 1,{'claims_never_checked_out':true} + ); + } + ], + 'cmd_items_claimed_never_checked_out2' : [ + ['command'], + function() { + obj.items_checkin( + 2,{'claims_never_checked_out':true} + ); + } + ], 'cmd_items_checkin' : [ ['command'], function() { obj.items_checkin(1); /*obj.retrieve();*/ } ], 'cmd_items_checkin2' : [ ['command'], function() { obj.items_checkin(2); /*obj.retrieve();*/ } ], 'cmd_show_catalog' : [ ['command'], function() { obj.show_catalog(1); } ], @@ -187,6 +203,7 @@ patron.items.prototype = { obj.controller.view.sel_patron2.setAttribute('disabled','true'); obj.controller.view.cmd_triggered_events2.setAttribute('disabled','true'); obj.controller.view.cmd_items_claimed_returned.setAttribute('disabled','true'); + obj.controller.view.cmd_items_claimed_never_checked_out.setAttribute('disabled','true'); obj.controller.view.cmd_items_renew.setAttribute('disabled','true'); obj.controller.view.cmd_items_renew_with_date.setAttribute('disabled','true'); obj.controller.view.cmd_items_checkin.setAttribute('disabled','true'); @@ -194,6 +211,7 @@ patron.items.prototype = { obj.controller.view.cmd_items_mark_lost.setAttribute('disabled','true'); obj.controller.view.cmd_show_catalog.setAttribute('disabled','true'); obj.controller.view.cmd_items_claimed_returned2.setAttribute('disabled','true'); + obj.controller.view.cmd_items_claimed_never_checked_out2.setAttribute('disabled','true'); obj.controller.view.cmd_items_renew2.setAttribute('disabled','true'); obj.controller.view.cmd_items_renew_with_date2.setAttribute('disabled','true'); obj.controller.view.cmd_items_checkin2.setAttribute('disabled','true'); @@ -542,19 +560,53 @@ patron.items.prototype = { } }, - 'items_checkin' : function(which) { + 'items_checkin' : function(which,options) { var obj = this; try { + if (!options) { options = {}; } var retrieve_ids = ( which == 2 ? obj.retrieve_ids2 : obj.retrieve_ids ); if (!retrieve_ids || retrieve_ids.length == 0) return; JSAN.use('util.functional'); var msg = ''; - if (retrieve_ids.length > 1) { - msg += $("patronStrings").getFormattedString('staff.patron.items.items_checkin.confirm_item_check_in.plural', - [util.functional.map_list( retrieve_ids, function(o){return o.barcode;}).join(', ')]); + if (options.claims_never_checked_out) { + if (retrieve_ids.length > 1) { + msg += $("patronStrings").getFormattedString( + 'staff.patron.items.items_checkin.confirm_item_claimed_never_checked_out.plural', + [ + util.functional.map_list( + retrieve_ids, + function(o){return o.barcode;} + ).join(', ') + ] + ); + } else { + msg += $("patronStrings").getFormattedString( + 'staff.patron.items.items_checkin.confirm_item_claimed_never_checked_out.singular', + [ + retrieve_ids[0].barcode, + ] + ); + } } else { - msg += $("patronStrings").getFormattedString('staff.patron.items.items_checkin.confirm_item_check_in.singular', - [util.functional.map_list( retrieve_ids, function(o){return o.barcode;}).join(', ')]); + if (retrieve_ids.length > 1) { + msg += $("patronStrings").getFormattedString( + 'staff.patron.items.items_checkin.confirm_item_check_in.plural', + [ + util.functional.map_list( + retrieve_ids, + function(o){return o.barcode;} + ).join(', ') + ] + ); + } else { + msg += $("patronStrings").getFormattedString( + 'staff.patron.items.items_checkin.confirm_item_check_in.singular', + [ + retrieve_ids[0].barcode, + ] + ); + } + } var r = window.confirm(msg); if (!r) { return; } @@ -564,9 +616,11 @@ patron.items.prototype = { for (var i = 0; i < retrieve_ids.length; i++) { var copy_id = retrieve_ids[i].copy_id; dump('Check in copy_id = ' + copy_id + ' barcode = ' + retrieve_ids[i].barcode + '\n'); + var opt = JSON2js( js2JSON( options || {} ) ); // clone options + opt.copy_id = copy_id; var robj = circ.util.checkin_via_barcode( ses(), - { 'copy_id' : copy_id }, + opt, false /* backdate */, auto_print ); @@ -883,6 +937,7 @@ patron.items.prototype = { var obj = this; obj.controller.view.cmd_items_claimed_returned.setAttribute('disabled','false'); + obj.controller.view.cmd_items_claimed_never_checked_out.setAttribute('disabled','false'); obj.controller.view.cmd_items_renew.setAttribute('disabled','false'); obj.controller.view.cmd_items_renew_with_date.setAttribute('disabled','false'); obj.controller.view.cmd_items_checkin.setAttribute('disabled','false'); @@ -906,6 +961,7 @@ patron.items.prototype = { var obj = this; obj.controller.view.cmd_items_claimed_returned2.setAttribute('disabled','false'); + obj.controller.view.cmd_items_claimed_never_checked_out2.setAttribute('disabled','false'); obj.controller.view.cmd_items_renew2.setAttribute('disabled','false'); obj.controller.view.cmd_items_renew_with_date2.setAttribute('disabled','false'); obj.controller.view.cmd_items_checkin2.setAttribute('disabled','false'); diff --git a/Open-ILS/xul/staff_client/server/patron/items_overlay.xul b/Open-ILS/xul/staff_client/server/patron/items_overlay.xul index bda65d793e..e21e99d2cf 100644 --- a/Open-ILS/xul/staff_client/server/patron/items_overlay.xul +++ b/Open-ILS/xul/staff_client/server/patron/items_overlay.xul @@ -21,6 +21,7 @@ + @@ -43,6 +44,7 @@ + @@ -68,6 +70,7 @@ +