diff --git a/APPL/API/api_msgraphnotification.asp b/APPL/API/api_msgraphnotification.asp index 9c9b8f610e..133d0a2071 100644 --- a/APPL/API/api_msgraphnotification.asp +++ b/APPL/API/api_msgraphnotification.asp @@ -60,7 +60,11 @@ function _updateIncomingOutlookQueue(etag, CRUD) { // etag = 'The HTTP entity ta } incomingOutlookQueue[etag] = new Date().getTime() + 4 * 60 * 60 * 1000; // Expired in 4 uur } else if (CRUD == "D") { - delete incomingOutlookQueue[etag]; + // delete incomingOutlookQueue[etag]; + // ipv deleten laten we deze expiren over 3s zodat we reeds verwerkte notificaties niet nog eens gaan verwerken als het HTTP verkeer elkaar kruist + if (etag in incomingOutlookQueue) { + incomingOutlookQueue[etag] = new Date().getTime() + 3 * 1000; + } } Application(customerId + "_incomingOutlookQueue") = JSON.stringify(incomingOutlookQueue); Application.UnLock(); diff --git a/APPL/API2/model_visitors.inc b/APPL/API2/model_visitors.inc index c58da13373..422233ecce 100644 --- a/APPL/API2/model_visitors.inc +++ b/APPL/API2/model_visitors.inc @@ -148,7 +148,10 @@ function model_visitors() { if (jsondata.parking) { - var gebouwterreinkey = "NULL"; // doen we nog even niet aan? + var gebouwterreinkey = "NULL"; // We ondersteunen nog geen expliciete gebouwkeuze + var prkgebter = bez.onlyGebouw(olddata.appointment.id); + var gebouwterreinkey = prkgebter > 0? prkgebter: "null"; // de enige goede + var sql = "BEGIN bez.claim_parking(" + the_key + ", " + gebouwterreinkey + "); END;" Oracle.Execute(sql); } @@ -159,7 +162,7 @@ function model_visitors() var bezoeker = ""; if ("in" in jsondata) { - oRs = Oracle.Execute("SELECT bez_bezoekers_done, bez_afspraak_naam" + var oRs = Oracle.Execute("SELECT bez_bezoekers_done, bez_afspraak_naam" + " FROM bez_bezoekers" + " WHERE bez_bezoekers_key = " + the_key); olddone = oRs("bez_bezoekers_done").Value; @@ -189,7 +192,10 @@ function model_visitors() var result = generic_REST_POST(this)(params, jsondata, parent_key); /* new visitors */ if (jsondata.parking) { - var gebouwterreinkey = "NULL"; // doen we nog even niet aan? + var gebouwterreinkey = "NULL"; // We ondersteunen nog geen expliciete gebouwkeuze + var prkgebter = bez.onlyGebouw(parent_key); // parent_key is de afspraak_key + var gebouwterreinkey = prkgebter > 0? prkgebter: "null"; // de enige goede + var sql = "BEGIN bez.claim_parking(" + result.key + ", " + gebouwterreinkey + "); END;" Oracle.Execute(sql); } diff --git a/APPL/BEZ/bez.inc b/APPL/BEZ/bez.inc index a571f4216e..37a7c6e8b0 100644 --- a/APPL/BEZ/bez.inc +++ b/APPL/BEZ/bez.inc @@ -899,7 +899,37 @@ bez = actie_key = oRs("bez_actie_key").Value; oRs.Close() return actie_key; + }, + + // Bepaal eventueel het ene gebouw/terrein wat we mogen kiezen. bez.claim_park is nog niet slim genoeg + only_prkgebter: -2, + onlyGebouw: function _onlyGebouw(afspraak_key) + { + if (this.only_prkgebter > -2) + return this.only_prkgebter; + + var sql = "SELECT bez_afspraak_datum, bez_afspraak_eind, alg_locatie_key" + + " FROM bez_afspraak" + + " WHERE bez_afspraak_key = " + afspraak_key; + var oRs = Oracle.Execute(sql); + var gebtersql = bez.getgebouwterrein_sql(new Date(oRs("bez_afspraak_datum").value), new Date(oRs("bez_afspraak_eind").value), oRs("alg_locatie_key").value); + oRs.Close(); + var oRs = Oracle.Execute(gebtersql); + var aantal_gebter = 0; + this.only_prkgebter = -1; + while (!oRs.eof) + { + var alg_type = oRs("alg_type").value; + this.only_prkgebter = (alg_type == "R"? oRs("alg_gebouw_key").value : oRs("alg_terreinsector_key").value); + aantal_gebter++; + oRs.MoveNext(); + } + oRs.Close(); + if (aantal_gebter != 1) + this.only_prkgebter = -1; // Gebruiker heeft gekozen via Suggest en getFParamInt("gebouwkey" + bznum, "") wordt gebruikt. + return this.only_prkgebter; } + } %> \ No newline at end of file diff --git a/APPL/BEZ/bez_edit_bezoekers_save.inc b/APPL/BEZ/bez_edit_bezoekers_save.inc index 5e5a23733e..9bc08c141e 100644 --- a/APPL/BEZ/bez_edit_bezoekers_save.inc +++ b/APPL/BEZ/bez_edit_bezoekers_save.inc @@ -23,35 +23,6 @@ <% -// Bepaal eventueel het ene gebouw/terrein wat we mogen kiezen. bez.claim_park is nog niet slim genoeg -var only_prkgebter = -2; -function onlyGebouw(afspraak_key) -{ - if (only_prkgebter > -2) - return only_prkgebter; - - var sql = "SELECT bez_afspraak_datum, bez_afspraak_eind, alg_locatie_key" - + " FROM bez_afspraak" - + " WHERE bez_afspraak_key = " + afspraak_key; - var oRs = Oracle.Execute(sql); - var gebtersql = bez.getgebouwterrein_sql(new Date(oRs("bez_afspraak_datum").value), new Date(oRs("bez_afspraak_eind").value), oRs("alg_locatie_key").value); - oRs.Close(); - var oRs = Oracle.Execute(gebtersql); - var aantal_gebter = 0; - only_prkgebter = -1; - while (!oRs.eof) - { - var alg_type = oRs("alg_type").value; - only_prkgebter = (alg_type == "R"? oRs("alg_gebouw_key").value : oRs("alg_terreinsector_key").value); - aantal_gebter++; - oRs.MoveNext(); - } - oRs.Close(); - if (aantal_gebter != 1) - only_prkgebter = -1; // Gebruiker heeft gekozen via Suggest en getFParamInt("gebouwkey" + bznum, "") wordt gebruikt. - return only_prkgebter; -} - // Leest de bezoekers naam, bedrijfnaam, parkeerplaatswens en evt. badgenummer uit Request.Form // Verondersteld dat bez_afspraak_record al bestaat! of maak hem desnoods aan als afspraak_key==-1 // (dan zal rsv_ruimte_key een waarde hebben) @@ -482,7 +453,7 @@ function saveOneBezoeker(afspraak_key, rsv_ruimte_key, bznum, params) gebouwterreinkey = prkgebter; // de gekozen else { - var prkgebter = onlyGebouw(afspraak_key) + var prkgebter = bez.onlyGebouw(afspraak_key) gebouwterreinkey = prkgebter > 0? prkgebter: "null"; // de enige goede } sql = "BEGIN bez.claim_parking(" + bez_key + ", " + gebouwterreinkey + "); END;" diff --git a/APPL/FAC/Facilitor.asp b/APPL/FAC/Facilitor.asp index 046cbdd6c8..6478bf0084 100644 --- a/APPL/FAC/Facilitor.asp +++ b/APPL/FAC/Facilitor.asp @@ -489,7 +489,7 @@ if (Session("interface") == "touch") { %> <% if (!noTabs && S("menu_tab_toggles_portalmenu")==1) { - var menuitems = fillMenuArray(true); // portalOnly + var menuitems = fillMenuArray(1, { "portalOnly": true }); %> if (selectedTabId == 0) // Zelfservice? { diff --git a/APPL/FAC/fac_list.inc b/APPL/FAC/fac_list.inc index 0605425032..9a63a0dfd7 100644 --- a/APPL/FAC/fac_list.inc +++ b/APPL/FAC/fac_list.inc @@ -126,7 +126,8 @@ function fac_list_query (params) + " AND m.fac_activiteit_key IS NULL" + " AND (m.mld_workflowstep_key IS NULL OR mld_melding_start_key = mld_melding_key)" + " AND m.mld_melding_datum < SYSDATE + " + S("facilitiesfuture") // niet te toekomstig - + " AND ((m.mld_melding_status IN (1,5,6) AND COALESCE(fac.gettrackingdate('MLDAFM', mld_melding_key),fac.gettrackingdate('MLDREJ', mld_melding_key),mld_melding_einddatum) > SYSDATE - " + S("facilitiespast_mld") + ")" // niet te lang geleden klaar (gepland) + + " AND ((m.mld_melding_status IN (5,6) AND fac.gettrackingdate('MLDAFM', mld_melding_key) > SYSDATE - " + S("facilitiespast_mld") + ")" // niet te lang geleden klaar + + " OR (m.mld_melding_status = 1 AND fac.gettrackingdate('MLDREJ', mld_melding_key) > SYSDATE - " + S("facilitiespast_mld") + ")" // niet te lang geleden verworpen + " OR m.mld_melding_status NOT IN (1,5,6))" // of ongeacht alles nog niet klaar + lees_rechten_sql(lpkey, "sm.mld_ins_discipline_key", ["WEB_MLDBOF", "WEB_MLDFOF"]) ); diff --git a/APPL/MGT/mgt_generic.asp b/APPL/MGT/mgt_generic.asp index ba282445fb..ca3e9aab2e 100644 --- a/APPL/MGT/mgt_generic.asp +++ b/APPL/MGT/mgt_generic.asp @@ -117,7 +117,9 @@ "ins_alg_ruimte_key", "ins_alg_ruimte_type", "ins_alg_ruimte_type_org", - "ins_alg_ruimte_key_org"] + "ins_alg_ruimte_key_org", + "ins_deel_dwgx", + "ins_deel_dwgy"] }, "mld_melding_note": { "track": null, "fields": ["name", "mld_melding_note_flag"] diff --git a/APPL/PRS/prs_perslid_otp_new.asp b/APPL/PRS/prs_perslid_otp_new.asp index d582d4d921..11ae38cb15 100644 --- a/APPL/PRS/prs_perslid_otp_new.asp +++ b/APPL/PRS/prs_perslid_otp_new.asp @@ -19,8 +19,6 @@ var NO_OTP_OK = true; <% -var isExpired = getQParamInt("expired",0) == 1; // Ben ik hier naar toe gestuurd vanwege een expired wachtwoord? - // Dan redirecten we na afloop naar de voorpagina var theUser_key = getQParamInt("prs_key", user_key); if (theUser_key != user_key && !user.has("WEB_FACFAC")) abort_with_warning(L("lcl_no_auth")); @@ -58,17 +56,40 @@ Session("otp_secret_temp") = '1$30$6$0$' + newsecret; function otp_accept_callback(data) { - iface.button.enable("btn_accept_submit"); - if (data.success) + if (data.success) { FcltMgr.closeDetail(window, data); - window.top.location.href = "<%=safe.jsstring(rooturl + "/")%>"; + if (FcltMgr === FcltMgr.topmanager()) { + window.top.location.href = "<%=safe.jsstring(rooturl + "/")%>"; + } + } } + + function otp_cancel() { + FcltMgr.confirm("Deze code is nog niet gekoppeld, wilt u dit scherm toch afsluiten?", gen_cancel); + } + + $(() => { + iface.button.disable("btn_accept_submit"); + + $("#otpcode").on("input", event => { + if (event.currentTarget.value === "") { + iface.button.disable("btn_accept_submit"); + } else { + iface.button.enable("btn_accept_submit"); + } + }); + $("form[name=u2]").on("submit", event => { + event.preventDefault(); + $("#btn_accept_submit").trigger("click"); + }); + });
<% MODAL_START(); +%> <% MODAL_END(); %>