proper timezone handling for checkin backdate
authorpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 11 Apr 2007 19:58:32 +0000 (19:58 +0000)
committerpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 11 Apr 2007 19:58:32 +0000 (19:58 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@7144 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/chrome/content/main/constants.js
Open-ILS/xul/staff_client/chrome/content/util/date.js
Open-ILS/xul/staff_client/server/circ/checkin.js
Open-ILS/xul/staff_client/server/circ/util.js

index fd78c93..30bac2a 100644 (file)
@@ -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',
index bd143f4..e405d86 100644 (file)
@@ -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 );
index 05a6808..f0ed62d 100644 (file)
@@ -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');
index 12281f7..f8e8047 100644 (file)
@@ -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); };