From fd7ccd021e083556d8e64ee1c104ed0103b70843 Mon Sep 17 00:00:00 2001 From: pines Date: Wed, 11 Apr 2007 19:58:32 +0000 Subject: [PATCH] proper timezone handling for checkin backdate git-svn-id: svn://svn.open-ils.org/ILS/trunk@7144 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/xul/staff_client/chrome/content/main/constants.js | 1 + Open-ILS/xul/staff_client/chrome/content/util/date.js | 3 +++ Open-ILS/xul/staff_client/server/circ/checkin.js | 4 ++++ Open-ILS/xul/staff_client/server/circ/util.js | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Open-ILS/xul/staff_client/chrome/content/main/constants.js b/Open-ILS/xul/staff_client/chrome/content/main/constants.js index fd78c934ee..30bac2a3ed 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/constants.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/constants.js @@ -178,6 +178,7 @@ const urls = { 'opac_rresult' : '/opac/en-US/skin/default/xml/rresult.xml', 'browser' : '/opac/en-US/skin/default/xml/advanced.xml', 'fieldmapper' : '/opac/common/js/fmall.js', + 'isodate_lib' : '/opac/common/js/DP_DateExtensions.js', 'xsl_marc2html' : '/opac/extras/xsl/oilsMARC21slim2HTML.xsl', 'AUDIO_GOOD_SOUND' : '/xul/server/skin/media/audio/bonus.wav', diff --git a/Open-ILS/xul/staff_client/chrome/content/util/date.js b/Open-ILS/xul/staff_client/chrome/content/util/date.js index bd143f4c2d..e405d86c09 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/date.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/date.js @@ -80,6 +80,9 @@ util.date.formatted_date = function (date,format) { var s = format; if (s == '') { s = '%F %H:%M'; } + if (typeof date.iso8601Format == 'function') { + s = s.replace( /%\{iso8601\}/g, date.iso8601Format("YMDHMS") ); + } s = s.replace( /%m/g, mm ); s = s.replace( /%d/g, dd ); s = s.replace( /%Y/g, yyyy ); diff --git a/Open-ILS/xul/staff_client/server/circ/checkin.js b/Open-ILS/xul/staff_client/server/circ/checkin.js index 05a68087b9..f0ed62d148 100644 --- a/Open-ILS/xul/staff_client/server/circ/checkin.js +++ b/Open-ILS/xul/staff_client/server/circ/checkin.js @@ -4,6 +4,10 @@ if (typeof circ == 'undefined') circ = {}; circ.checkin = function (params) { JSAN.use('util.error'); this.error = new util.error(); + + var js = JSAN._loadJSFromUrl( urls.isodate_lib ); + try { eval( js ); } catch(E) { this.error.standard_unexpected_error_alert('Problem loading ISO8601 date extension',E); } + JSAN.use('util.network'); this.network = new util.network(); JSAN.use('util.barcode'); JSAN.use('util.date'); diff --git a/Open-ILS/xul/staff_client/server/circ/util.js b/Open-ILS/xul/staff_client/server/circ/util.js index 12281f78ac..f8e8047e5c 100644 --- a/Open-ILS/xul/staff_client/server/circ/util.js +++ b/Open-ILS/xul/staff_client/server/circ/util.js @@ -983,7 +983,7 @@ circ.util.checkin_via_barcode = function(session,params,backdate,auto_print,asyn if (backdate && (backdate == util.date.formatted_date(new Date(),'%Y-%m-%d')) ) backdate = null; //var params = { 'barcode' : barcode }; - if (backdate) params.backdate = backdate; + if (backdate) params.backdate = util.date.formatted_date(backdate + ' 00:00:00','%{iso8601}'); if (typeof async == 'object') { try { async.disable_textbox(); } catch(E) { error.sdump('D_ERROR','async.disable_textbox() = ' + E); }; -- 2.11.0