diff --git a/APPL/FAC/fac_list.inc b/APPL/FAC/fac_list.inc index cf555910e9..3e2f1b7b75 100644 --- a/APPL/FAC/fac_list.inc +++ b/APPL/FAC/fac_list.inc @@ -224,7 +224,6 @@ function fac_list_query (params) + "FROM_TZ (CAST ( " + expr + " AS TIMESTAMP), " + safe.quoted_sql(S_fac_server_timezone) + ")" + " AT TIME ZONE COALESCE (l.alg_locatie_timezone, " + safe.quoted_sql(S_fac_server_timezone) + ") AS DATE)"; } - // Todo; Today Session("time_zone") <> SYSDATE? clausesArr.push( "SELECT rr.res_rsv_ruimte_host_key prs_perslid_key" // 1 Host ruimtereservering diff --git a/APPL/PDA/reservering_new_by_placetime.asp b/APPL/PDA/reservering_new_by_placetime.asp index 8084301923..80da841f23 100644 --- a/APPL/PDA/reservering_new_by_placetime.asp +++ b/APPL/PDA/reservering_new_by_placetime.asp @@ -89,6 +89,12 @@ var zoom = getQParamFloat("zoom", 2); var geb_key = getQParamInt("geb_key", -1); var floor_key = getQParamInt("floor_key", -1); var werkpl_key = getQParamInt("wsp_key", -1); +var local_tz = S("fac_server_timezone"); +if (geb_key > -1) { + local_tz = res.getTimezoneBy(geb_key, "G"); +} else if (floor_key > -1) { + local_tz = res.getTimezoneBy(floor_key, "V"); +} var res_deel_key = getQParamInt("res_deel_key", -1); // unused. Zou ooit direct naar dag+intervalselectie kunnen var thema_key = getQParamInt("thema_key", 12); @@ -96,8 +102,10 @@ var themaI_key = getQParamInt("themaI_key", 13); var bordlabel_key= getQParamInt("bordlabel_key", 13); var daylimit = getQParamInt("daylimit", 12); // na daylimit kun je voor de eerste dag niet meer reserveren, default 12:00, werkt niet icm offset -var afternoon = new Date().getHours() >= daylimit; -var dateoffset = getQParamInt("offset", afternoon?1:0); // 12:00 default morgen ipv vandaag +var local_now = convertToLocalTime(new Date(), local_tz); +var afternoon = local_now.getHours() >= daylimit; +var dateoffset = getQParamInt("offset", afternoon ? 1 : 0); + var datelimit = getQParamInt("limit", 7); // aantal te kiezen dagen tov offset var floorselect = getQParamInt("floorselect", 0); // na gebouw ook de verdiepingen laten kiezen var mapselect = getQParamInt("mapselect", 1) == 1; // werkplek via plattegrond kiezen diff --git a/APPL/RES/res.inc b/APPL/RES/res.inc index e7354197e5..d32a7293b9 100644 --- a/APPL/RES/res.inc +++ b/APPL/RES/res.inc @@ -1877,6 +1877,7 @@ res = { + " AND rdp.res_ins_discipline_key = rg.res_discipline_key " + " AND (fr.res_ruimte_startdatum IS NULL OR fr.res_ruimte_startdatum <= " + ora_date2 + ")" + " AND (fr.res_ruimte_vervaldatum IS NULL OR fr.res_ruimte_vervaldatum > " + ora_date1 + ")" + + " AND COALESCE(l.alg_locatie_timezone, " + safe.quoted_sql(S("fac_server_timezone")) + ") = " + safe.quoted_sql(S("fac_server_timezone")) + sql_loc_where + (params.max_rooms ? " AND ROWNUM <= " + params.max_rooms : ""); diff --git a/APPL/RES/res_rsv_deel_by_placetime.asp b/APPL/RES/res_rsv_deel_by_placetime.asp index a928e771e4..5b1f50e341 100644 --- a/APPL/RES/res_rsv_deel_by_placetime.asp +++ b/APPL/RES/res_rsv_deel_by_placetime.asp @@ -117,8 +117,15 @@ for (var func in xfunc._funcodes) { } } -var geb_key = getQParamInt("geb_key", -1); -var floor_key = getQParamInt("floor_key", -1); +var geb_key = getQParamInt("geb_key", -1); +var floor_key = getQParamInt("floor_key", -1); +var local_tz = S("fac_server_timezone"); +if (geb_key > -1) { + local_tz = res.getTimezoneBy(geb_key, "G"); +} else if (floor_key > -1) { + local_tz = res.getTimezoneBy(floor_key, "V"); +} + var avail_flrs = getQParamIntArray("avail_flrs", []); var res_deel_key = getQParamInt("wsp_key", -1); var showAll = getQParamInt("showall", 0) == 1; @@ -126,8 +133,10 @@ var showAll = getQParamInt("showall", 0) == 1; var fac_usrrap_key = getQParamInt("usrrap_key", -1); // wordt doorgegeven naar het infobord var daylimit = getQParamInt("daylimit", 12); // na daylimit kun je voor de eerste dag niet meer reserveren, default 12:00, werkt niet icm offset -var afternoon = new Date().getHours() >= daylimit; -var dateoffset = getQParamInt("offset", afternoon?1:0); // TODO localized afternoon gebruiken om offset te berekenen .. +var local_now = convertToLocalTime(new Date(), local_tz); +var afternoon = local_now.getHours() >= daylimit; +var dateoffset = getQParamInt("offset", afternoon ? 1 : 0); + var datelimit = getQParamInt("limit", 7); // aantal te kiezen dagen tov offset var selectmode = getQParamInt("selectmode", 0); // kiezen van het item: 0=automatisch bepalen (tekening anders lijst), 1=lijst, 2=2dtekening indien aanwezig, 3=3dtekening indien aanwezig var fotos = getQParamInt("fotos", 1); // for selectmode 1: show photo or not @@ -517,21 +526,14 @@ transitParam2 += "&startpage=" + startpage;
<% sql = "SELECT g.alg_gebouw_werkdagen, " - + " g.alg_gebouw_naam, " - + " l.alg_locatie_timezone " + + " g.alg_gebouw_naam" + " FROM alg_gebouw g " - + " JOIN alg_locatie l ON l.alg_locatie_key = g.alg_locatie_key " + " WHERE g.alg_gebouw_key = " + geb_key; oRs = Oracle.Execute(sql) var werkdagen = oRs("alg_gebouw_werkdagen").Value; var gebouw_naam = oRs("alg_gebouw_naam").Value; // theoretisch kunnen dit er meerdere zijn, dan nog aanpassen - var local_tz = oRs("alg_locatie_timezone").Value || S("fac_server_timezone"); oRs.close(); - var local_now = convertToLocalTime(new Date(), local_tz); - afternoon = local_now.getHours() >= daylimit; - dateoffset = getQParamInt("offset", afternoon ? 1 : 0); - sql = rdpt.dagbezetting_resdelen_in_aanweziggebouw_sql(res_disc_key_arr, res_deel_key, geb_key, dateoffset, datelimit, act_key); var oRs = Oracle.Execute(sql) @@ -621,17 +623,6 @@ transitParam2 += "&startpage=" + startpage; // 3. KIES VERDIEPING INDIEN GEWENST EN NOG NIET BEKEND if (resdate && floorselect == 1 && geb_key > -1 && floor_key == -1) { - sql = "SELECT l.alg_locatie_timezone " - + " FROM alg_gebouw g " - + " JOIN alg_locatie l ON l.alg_locatie_key = g.alg_locatie_key " - + " WHERE g.alg_gebouw_key = " + geb_key; - oRs = Oracle.Execute(sql); - var local_tz = oRs("alg_locatie_timezone").Value || S("fac_server_timezone"); - oRs.close(); - - var local_now = convertToLocalTime(new Date(), local_tz); - afternoon = local_now.getHours() >= daylimit; - dateoffset = getQParamInt("offset", afternoon ? 1 : 0); %>
<% diff --git a/APPL/RES/res_rsv_ruimte_by_placetime.asp b/APPL/RES/res_rsv_ruimte_by_placetime.asp index 7926721712..46296f7da3 100644 --- a/APPL/RES/res_rsv_ruimte_by_placetime.asp +++ b/APPL/RES/res_rsv_ruimte_by_placetime.asp @@ -106,16 +106,23 @@ for (var func in xfunc._funcodes) { } } -var disc_keys = getQParamIntArray("discs", []); -var geb_key = getQParamInt("geb_key", -1); -var floor_key = getQParamInt("floor_key", -1); +var disc_keys = getQParamIntArray("discs", []); +var geb_key = getQParamInt("geb_key", -1); +var floor_key = getQParamInt("floor_key", -1); +var local_tz = S("fac_server_timezone"); +if (geb_key > -1) { + local_tz = res.getTimezoneBy(geb_key, "G"); +} else if (floor_key > -1) { + local_tz = res.getTimezoneBy(floor_key, "V"); +} var fac_usrrap_key = getQParamInt("usrrap_key", -1); // wordt doorgegeven naar het infobord var startpage = getQParam("startpage", ""); var daylimit = getQParamInt("daylimit", 17); // na daylimit kun je voor de eerste dag niet meer reserveren, default 12:00, werkt niet icm offset -var afternoon = new Date().getHours() >= daylimit; -var dateoffset = getQParamInt("offset", afternoon?1:0); // +var local_now = convertToLocalTime(new Date(), local_tz); +var afternoon = local_now.getHours() >= daylimit; +var dateoffset = getQParamInt("offset", afternoon ? 1 : 0); var datelimit = getQParamInt("limit", 7); // aantal te kiezen dagen tov offset var selectmode = getQParamInt("selectmode", 0); // kiezen van het item: 0=automatisch bepalen (tekening anders lijst), 1=lijst, 2=2dtekening indien aanwezig, 3=3dtekening indien aanwezig var fotos = getQParamInt("fotos", 1); // for selectmode 1: show photo or not