DLLG#90075 Refactoring, -comment, +getTimezoneByResRuimte
svn path=/Website/trunk/; revision=70294
This commit is contained in:
@@ -140,7 +140,6 @@ oRs.Close();
|
||||
BLOCK_START("facFM", L("lcl_operations_block"), {icon: "fa-users-cog"});
|
||||
ROFIELDTR("fld", L("lcl_alg_locatie_volgnr"), loc_volgnr, {suppressEmpty: true});
|
||||
FCLTtimezoneselector("", {initVal: alg_tz, readonly: true, suppressEmpty: true});
|
||||
//ROFIELDTR("fld", L("lcl_timezone"), alg_tz, {suppressEmpty: true});
|
||||
var fldcls = "fld";
|
||||
if (vervaldatum <= new Date())
|
||||
fldcls += " expired2";
|
||||
|
||||
@@ -195,8 +195,8 @@ var todate = new Date(today.getFullYear(), today.getMonth(), 1);
|
||||
todate.setDate(0);
|
||||
todate.setHours(23,59);
|
||||
var fromdate = new Date(todate.getFullYear(), todate.getMonth(), 1);
|
||||
todate = toServerTimeZone(todate);
|
||||
fromdate = toServerTimeZone(fromdate);
|
||||
todate = convertToServerTime(todate);
|
||||
fromdate = convertToServerTime(fromdate);
|
||||
todate.setSeconds(59); // consistent met calendar onClick
|
||||
|
||||
var date_from = (datefrom ? datefrom : fromdate);
|
||||
|
||||
@@ -284,6 +284,26 @@ res = {
|
||||
oRs.Close();
|
||||
},
|
||||
|
||||
getTimezoneByResRuimte: function _getTimezoneByResRuimte(res_ruimte_key) {
|
||||
var sql = "SELECT MIN (l.alg_locatie_timezone) alg_tz"
|
||||
+ " FROM alg_locatie l,"
|
||||
+ " alg_gebouw g,"
|
||||
+ " alg_verdieping v,"
|
||||
+ " alg_ruimte r,"
|
||||
+ " res_alg_ruimte rar,"
|
||||
+ " res_ruimte rr"
|
||||
+ " WHERE g.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key"
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key"
|
||||
+ " AND rar.alg_ruimte_key = r.alg_ruimte_key"
|
||||
+ " AND rr.res_ruimte_key = rar.res_ruimte_key"
|
||||
+ " AND rr.res_ruimte_key = " + res_ruimte_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var alg_tz = oRs("alg_tz").Value || S("fac_server_timezone");
|
||||
oRs.Close();
|
||||
return alg_tz;
|
||||
},
|
||||
|
||||
res_ruimte_info: function _res_ruimte(res_ruimte_key)
|
||||
{
|
||||
var result = { res_ruimte_key: res_ruimte_key,
|
||||
|
||||
@@ -151,8 +151,8 @@ function res_list_ppi(pautfunction, params)
|
||||
var ora_date2 = dateto.beginToSQL();
|
||||
var ora_date3 = datefrom.beginToSQL();
|
||||
var ora_date4 = dateto.endToSQL();
|
||||
var ora_date5 = toUserTimeZone(datefrom).toSQL(true);
|
||||
var ora_date6 = toUserTimeZone(dateto).toSQL(true);
|
||||
var ora_date5 = convertToLocalTime(datefrom).toSQL(true);
|
||||
var ora_date6 = convertToLocalTime(dateto).toSQL(true);
|
||||
|
||||
//date_sql = " AND beschik.res_reservering_van BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||
|
||||
|
||||
@@ -1365,6 +1365,9 @@ function transitQS()
|
||||
|
||||
function padout(number) { return (number < 10) ? "0" + number : number; }
|
||||
|
||||
/**************************
|
||||
* Timezone-perikelen *
|
||||
***************************/
|
||||
function oRaAsUserTZ(prefix, varName, isGroupClause)
|
||||
{
|
||||
if (prefix != "")
|
||||
@@ -1394,7 +1397,7 @@ function getServerHour(h)
|
||||
{
|
||||
var tempDate = new Date();
|
||||
tempDate.setHours(h);
|
||||
tempDate = toServerTimeZone(tempDate);
|
||||
tempDate = convertToServerTime(tempDate);
|
||||
return tempDate.getHours();
|
||||
}
|
||||
|
||||
@@ -1402,21 +1405,28 @@ function getUserHour(h)
|
||||
{
|
||||
var tempDate = new Date();
|
||||
tempDate.setHours(h);
|
||||
tempDate = toUserTimeZone(tempDate);
|
||||
tempDate = convertToLocalTime(tempDate);
|
||||
return tempDate.getHours();
|
||||
}
|
||||
|
||||
// User time-zone = Session("time_zone")
|
||||
// Local time-zone = alg_locatie_timezone
|
||||
// User time-zone = Session("time_zone")
|
||||
// Server time-zone = S("fac_server_timezone")
|
||||
|
||||
function toUserTimeZone(thisDate)
|
||||
{
|
||||
return convertTimeZone(thisDate, S("fac_server_timezone"), Session("time_zone"));
|
||||
// Datetime van alg_locatie of user-tijdszone omzetten naar de server tijdszone
|
||||
function convertToServerTime(userDateTime, localTimezone) {
|
||||
if (!localTimezone) {
|
||||
localTimezone = Session("time_zone"); // 'Local' = user timezone by default (= indien leeg)
|
||||
}
|
||||
return convertTimeZone(userDateTime, localTimezone, S("fac_server_timezone"));
|
||||
}
|
||||
|
||||
function toServerTimeZone(thisDate)
|
||||
{
|
||||
return convertTimeZone(thisDate, Session("time_zone"), S("fac_server_timezone"));
|
||||
// Datetime van server tijdszone omzetten naar de alg_locatie of user-tijdszone
|
||||
function convertToLocalTime(serverDateTime, localTimezone) {
|
||||
if (!localTimezone) {
|
||||
localTimezone = Session("time_zone"); // 'Local' = user timezone by default (= indien leeg)
|
||||
}
|
||||
return convertTimeZone(serverDateTime, S("fac_server_timezone"), localTimezone);
|
||||
}
|
||||
|
||||
function convertTimeZone(thisDate, fromTZ, toTZ)
|
||||
@@ -1442,7 +1452,7 @@ function convertTimeZone(thisDate, fromTZ, toTZ)
|
||||
// This function should only be used to format display,
|
||||
// <20> never as part of a computation.
|
||||
// Als de jsDate van de user(client) afkomstig is, hoeft er geen conversie naar de user-time-zone plaats te vinden
|
||||
function toTimeString(jsDate, bWithSeconds, isUserTimeZone)
|
||||
function toTimeString(jsDate, bWithSeconds, isLocalTime)
|
||||
{
|
||||
if (jsDate===null)
|
||||
return "";
|
||||
@@ -1464,15 +1474,15 @@ function toTimeString(jsDate, bWithSeconds, isUserTimeZone)
|
||||
if (!jsDate)
|
||||
return "";
|
||||
|
||||
if (!isUserTimeZone)
|
||||
jsDate = toUserTimeZone(jsDate);
|
||||
if (!isLocalTime)
|
||||
jsDate = convertToLocalTime(jsDate);
|
||||
|
||||
ret = padout(jsDate.getHours()) + ":" + padout(jsDate.getMinutes());
|
||||
if (bWithSeconds) ret += ":" + padout(jsDate.getSeconds());
|
||||
return ret;
|
||||
}
|
||||
// Als de jsDate van de user(client) afkomstig is, hoeft er geen conversie naar de user-time-zone plaats te vinden
|
||||
function toDateString(jsDate, noDay, pretty, isUserTimeZone)
|
||||
function toDateString(jsDate, noDay, pretty, isLocalDate)
|
||||
{
|
||||
var resstr = "";
|
||||
var today = new Date().midnight();
|
||||
@@ -1493,8 +1503,8 @@ function toDateString(jsDate, noDay, pretty, isUserTimeZone)
|
||||
if (!jsDate)
|
||||
return "";
|
||||
|
||||
if (!isUserTimeZone)
|
||||
jsDate = toUserTimeZone(jsDate);
|
||||
if (!isLocalDate)
|
||||
jsDate = convertToLocalTime(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
|
||||
@@ -1523,7 +1533,7 @@ function toDateTimeString(jsDate, bWithSeconds, noDay, prettyday, noMidnight)
|
||||
if (typeof jsDate == "date") // een oRs("datum").value
|
||||
jsDate = new Date(jsDate);
|
||||
|
||||
jsDate = toUserTimeZone(jsDate);
|
||||
jsDate = convertToLocalTime(jsDate);
|
||||
if (noMidnight && jsDate.getTime() == jsDate.midnight().getTime())
|
||||
return toDateString(jsDate, noDay, prettyday, true)
|
||||
else
|
||||
@@ -1614,7 +1624,7 @@ function defaultDate(code)
|
||||
}
|
||||
|
||||
function user_time_based_greeting() {
|
||||
var uur = toUserTimeZone(new Date()).getHours();
|
||||
var uur = convertToLocalTime(new Date()).getHours();
|
||||
if (uur == 24 || uur < 6) {
|
||||
return L("lcl_greet_night");
|
||||
} else if (uur < 12) {
|
||||
@@ -2554,8 +2564,8 @@ Date.prototype.beginToSQL = function beginToSQL(dateOnly, isServerTimeZone)
|
||||
if (isServerTimeZone) {
|
||||
return new Date(theDateStart.setHours(0, 0)).toSQL(!dateOnly);
|
||||
} else {
|
||||
theDateStart = new Date(toUserTimeZone(theDateStart).setHours(0, 0));
|
||||
return toServerTimeZone(theDateStart).toSQL(!dateOnly);
|
||||
theDateStart = new Date(convertToLocalTime(theDateStart).setHours(0, 0));
|
||||
return convertToServerTime(theDateStart).toSQL(!dateOnly);
|
||||
}
|
||||
}
|
||||
// Als de Date al een server-datetime is, hoeven we geen time-zone conversie uit te voeren
|
||||
@@ -2565,8 +2575,8 @@ Date.prototype.endToSQL = function endToSQL(dateOnly, isServerTimeZone)
|
||||
if (isServerTimeZone) {
|
||||
return new Date(theDateEnd.setHours(23, 59)).toSQL(!dateOnly);
|
||||
} else {
|
||||
theDateEnd = new Date(toUserTimeZone(theDateEnd).setHours(23, 59));
|
||||
return toServerTimeZone(theDateEnd).toSQL(!dateOnly);
|
||||
theDateEnd = new Date(convertToLocalTime(theDateEnd).setHours(23, 59));
|
||||
return convertToServerTime(theDateEnd).toSQL(!dateOnly);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user