From 1a5c44b85218d0ac0eb1e7f0a2b116f796c32a55 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Thu, 7 Feb 2013 09:31:56 -0500 Subject: [PATCH] selfcheck staff mode : non-transit hold slip Signed-off-by: Bill Erickson --- .../web/js/ui/default/circ/selfcheck/selfcheck.js | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js b/Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js index 51ffd8d370..3a40153f47 100644 --- a/Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js +++ b/Open-ILS/web/js/ui/default/circ/selfcheck/selfcheck.js @@ -1232,6 +1232,47 @@ SelfCheckManager.prototype.getUser = function(userId, callback) { }); } +// non-transit hold slip +SelfCheckManager.prototype.printHoldSlip = function(item, result) { + var self = this; + var payload = result.payload; + var hold = payload.hold; + + // in some cases, payload.patron is null even when there is a hold + this.getUser(hold.usr(), function(patron) { + + var routeMsg = dojo.string.substitute(localeStrings.HOLD_SHELF, []); + + var routeMsg = dojo.string.substitute( + localeStrings.ROUTE_MSG, [localeStrings.HOLD_SHELF]); + + var holdMsg = dojo.string.substitute( + localeStrings.HOLD_SLIP, [ + // checkin could be for a different user than this.patron + openils.User.formalName(payload.patron), + patron.card().barcode(), + openils.Util.timeStamp(hold.request_time()) + ] + ); + + self.printData( + dojo.string.substitute( + localeStrings.TRANSIT_SLIP, [ + routeMsg, + '', // destination address + item, + result.payload.record.title(), + result.payload.record.author(), + holdMsg, + dojo.date.locale.format(new Date()), + self.staff.usrname(), + fieldmapper.aou.findOrgUnit(self.staff.ws_ou()).shortname() + ] + ), 1 + ); + }); +} + // hold transit slip SelfCheckManager.prototype.printHoldTransitSlip = function(item, result, dest) { @@ -1325,13 +1366,19 @@ SelfCheckManager.prototype.handleCheckinResult = function(row, item, result) { displayText = dojo.string.substitute( localeStrings.CHECKIN_SUCCESS, [item]); + this.displayCheckin(row, result); + if (payload.hold) + this.printHoldSlip(item, result); } else if (tc == 'NO_CHANGE') { displayText = dojo.string.substitute( localeStrings.CHECKIN_NO_CHANGE, [item]); + this.displayCheckin(row, result); + if (payload.hold) + this.printHoldSlip(item, result); } else if (tc == 'ROUTE_ITEM') { -- 2.11.0