ASTE#37915 oplossing voor tijdzones met timezoneoffset toegevoegd
svn path=/Website/trunk/; revision=33018
This commit is contained in:
@@ -289,6 +289,9 @@ var shared = {
|
||||
}
|
||||
};
|
||||
|
||||
var DEFAULT_TIMEZONE_OFFSET = 1; // GMT + defaultTimeZoneOffset is default if not found in db (1 = Amsterdam)
|
||||
var SERVER_TIMEZONE_OFFSET = 1; // server (database) times are in GMT + serverTimeZoneOffset
|
||||
|
||||
// Check for parameter pName and return the value
|
||||
// If not specified return defVal
|
||||
// If defVal not specified pName a required parameter
|
||||
@@ -680,6 +683,19 @@ function transitQS()
|
||||
|
||||
function padout(number) { return (number < 10) ? "0" + number : number; }
|
||||
|
||||
function timeZoneOffset()
|
||||
{
|
||||
var timeZoneOffset = user.timezone_offset();
|
||||
if (timeZoneOffset === null) timeZoneOffset = DEFAULT_TIMEZONE_OFFSET;
|
||||
timeZoneOffset -= SERVER_TIMEZONE_OFFSET;
|
||||
return timeZoneOffset * 1000 * 60 * 60;
|
||||
}
|
||||
|
||||
function correctedTimeZoneOffset(thisDate)
|
||||
{
|
||||
return new Date(thisDate.valueOf() + timeZoneOffset());
|
||||
}
|
||||
|
||||
// This function should only be used to format display,
|
||||
// <20> never as part of a computation.
|
||||
function toTimeString(jsDate, bWithSeconds)
|
||||
@@ -703,7 +719,7 @@ function toTimeString(jsDate, bWithSeconds)
|
||||
if (!jsDate)
|
||||
return "";
|
||||
|
||||
jsDate = new Date(jsDate.valueOf() + 1); // rounding errors
|
||||
jsDate = correctedTimeZoneOffset(jsDate);
|
||||
|
||||
ret = padout(jsDate.getHours()) + ":" + padout(jsDate.getMinutes());
|
||||
if (bWithSeconds) ret += ":" + padout(jsDate.getSeconds());
|
||||
@@ -730,6 +746,8 @@ function toDateString(jsDate, noDay, pretty)
|
||||
if (!jsDate)
|
||||
return "";
|
||||
|
||||
jsDate = correctedTimeZoneOffset(jsDate);
|
||||
|
||||
// Ik wil graag, alleen als parameter friendly?, voor de datums gisteren, vandaag en morgen de tekst Gisteren, Vandaag en Morgen opleveren
|
||||
// Voor lijsten/sortering is dat vaak niet handig, maar soms is het veel begrijpelijker. Als de mogelijkheid er is, kunnen we
|
||||
// geleidelijk de toepassing uitbreiden. In Lopende zaken op de portal om mee te beginnen.
|
||||
@@ -1332,21 +1350,21 @@ Date.prototype.toSQL = function toSQL(withTime)
|
||||
|
||||
Date.prototype.beginToSQL = function beginToSQL()
|
||||
{
|
||||
var theDateStart = new Date(this);
|
||||
var theDateStart = correctedTimeZoneOffset(this);
|
||||
theDateStart.setHours(0, 0);
|
||||
return theDateStart.toSQL(true);
|
||||
}
|
||||
|
||||
Date.prototype.endToSQL = function endToSQL()
|
||||
{
|
||||
var theDateEnd = new Date(this);
|
||||
var theDateEnd = correctedTimeZoneOffset(this);
|
||||
theDateEnd.setHours(23, 59);
|
||||
return theDateEnd.toSQL(true);
|
||||
}
|
||||
|
||||
Date.prototype.midnight = function midnight()
|
||||
{
|
||||
var midn = new Date(this);
|
||||
var midn = correctedTimeZoneOffset(this);
|
||||
midn.setHours(0,0,0,0);
|
||||
return midn;
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ Perslid.prototype._require_prs_perslid = function __require_prs_perslid()
|
||||
+ " , prs_perslid_wachtwoord_exp"
|
||||
+ " , prs_perslid_apikey"
|
||||
+ " , prs_perslid_terms_version"
|
||||
+ " , prs_perslid_timezone_offset"
|
||||
+ " FROM prs_perslid p"
|
||||
+ " WHERE p.prs_perslid_key = " + this._prs_perslid_key
|
||||
var oRs = Oracle.Execute(sql);
|
||||
@@ -112,6 +113,7 @@ Perslid.prototype._require_prs_perslid = function __require_prs_perslid()
|
||||
this._prs_perslid_wachtwoord_exp = new Date(oRs("prs_perslid_wachtwoord_exp").Value);
|
||||
this._prs_perslid_apikey = oRs("prs_perslid_apikey").value;
|
||||
this._prs_perslid_terms_version = oRs("prs_perslid_terms_version").value;
|
||||
this._prs_perslid_timezone_offset = oRs("prs_perslid_timezone_offset").value;
|
||||
|
||||
if (this._prs_perslid_options)
|
||||
{
|
||||
@@ -507,6 +509,12 @@ Perslid.prototype.terms_version = function _terms_version()
|
||||
return this._prs_perslid_terms_version;
|
||||
}
|
||||
|
||||
Perslid.prototype.timezone_offset = function _timezone_offset()
|
||||
{
|
||||
this._require_prs_perslid();
|
||||
return this._prs_perslid_timezone_offset;
|
||||
}
|
||||
|
||||
// Als de credentials zijn gewijzigd *nadat* je bent ingelogd
|
||||
// gaan we moeilijk doen (vanuit common.inc)
|
||||
Perslid.prototype.credentials_changed = function _credentials_changed()
|
||||
|
||||
Reference in New Issue
Block a user