dojo.declare('openils.Util', null, {});
+ openils.Util.timeStampRegexp =
+ /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\+-]\d{2})(\d{2})$/;
+
+ openils.Util.timeStampAsDateObj = function(s) {
+ if (s.constructor.name == "Date") return s;
+ return dojo.date.stamp.fromISOString(
+ s.replace(openils.Util.timeStampRegexp, "$1:$2")
+ );
+ }
+
/**
* Returns a locale-appropriate representation of a timestamp when the
* timestamp (first argument) is actually a string as provided by
if (typeof(opts) == "undefined") opts = {};
return dojo.date.locale.format(
- dojo.date.stamp.fromISOString(
- s.replace(
- /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[\+-]\d{2})(\d{2})$/,
- "$1:$2"
- )
- ), opts
+ openils.Util.timeStampAsDateObj(s), opts
);
};
}
case 'timestamp':
if (!value) return '';
- dojo.require('dojo.date.locale');
- dojo.require('dojo.date.stamp');
- var date = dojo.date.stamp.fromISOString(value);
- return dojo.date.locale.format(date, {formatLength:'short'});
+ return openils.Util.timeStamp(
+ value, {"formatLength": "short"}
+ );
case 'org_unit':
if(value === null || value === undefined) return '';
return fieldmapper.aou.findOrgUnit(value).shortname();
dojo.require('dijit.form.DateTextBox');
dojo.require('dojo.date.stamp');
this.widget = new dijit.form.DateTextBox(this.dijitArgs, this.parentNode);
- if(this.widgetValue != null)
- this.widgetValue = dojo.date.stamp.fromISOString(
- // Kludge until the ML returning ISO timestamps with a colon in the timezone offset,
- // which dojo.date.stamp.fromISOString requires
- this.widgetValue.replace( /^(\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d-\d\d)(\d\d)$/, '$1:$2')
+ if (this.widgetValue != null) {
+ this.widgetValue = openils.Util.timeStampAsDateObj(
+ this.widgetValue
);
+ }
break;
case 'bool':