From a7f468be0bbe5036b44c9f51fcb6c82d5a092cc8 Mon Sep 17 00:00:00 2001 From: Jos Groot Lipman Date: Thu, 12 May 2022 12:40:24 +0000 Subject: [PATCH] Merge 2022.1 Gold C/D/E patches svn path=/Website/trunk/; revision=55878 --- APPL/API2/model_issues.inc | 3 +- APPL/API2/model_visitors.inc | 1 + APPL/CHAT/ChatterWant.asp | 5 +- APPL/EXP/topdesk.asp | 20 +- APPL/FAC/fac_scan_cust.asp | 49 +++++ APPL/FAC/fac_verify.inc | 62 ++++++ APPL/INS/ins_flexkenmerksrtcontrole.inc | 2 +- APPL/MLD/mld.inc | 13 +- APPL/MLD/mld_edit_melding.js | 20 +- APPL/MLD/mld_edit_opdr.asp | 12 -- APPL/MLD/mld_edit_opdr.js | 4 +- APPL/MLD/mld_reject.asp | 4 + APPL/MSG/msg_show_message.asp | 6 +- APPL/PDA/default.csx | 16 +- APPL/PDA/mobile.js | 4 +- APPL/PDA/setlocation.asp | 253 +++++++++++++----------- APPL/Shared/default-print.css | 4 + APPL/Shared/default.inc | 2 +- APPL/Shared/default.xsl | 4 + APPL/Shared/kenmerk_js.asp | 7 +- APPL/Shared/notes.inc | 2 +- APPL/Shared/selector.inc | 35 +--- APPL/Shared/srtdeelselector.inc | 2 + APPL/Shared/srtgroepselector.inc | 4 +- UTILS/Exchange/exchange_graph.js | 129 ++++++------ UTILS/PutOrders/puo_notifications.js | 1 - UTILS/PutOrders/puo_shared.js | 3 +- UTILS/PutOrders/puo_xmltools.js | 2 +- 28 files changed, 402 insertions(+), 267 deletions(-) diff --git a/APPL/API2/model_issues.inc b/APPL/API2/model_issues.inc index e98c6b86a7..139a8c3bc3 100644 --- a/APPL/API2/model_issues.inc +++ b/APPL/API2/model_issues.inc @@ -515,7 +515,8 @@ function model_issues(mld_key, params) processor: processor, treatmentteam: treatmentteam, canFOwrite: this_mld.canFOwrite, - canBOwrite: this_mld.canBOwrite + canBOwrite: this_mld.canBOwrite, + noValidateToken: true } mld.acceptmelding(mld_key, params); } diff --git a/APPL/API2/model_visitors.inc b/APPL/API2/model_visitors.inc index 9d3e5ae003..de57a455da 100644 --- a/APPL/API2/model_visitors.inc +++ b/APPL/API2/model_visitors.inc @@ -24,6 +24,7 @@ function model_visitors() this.records_name = "visitors" this.record_name = "visitor"; this.autfunction = "WEB_BEZUSE"; // TODO!! + this.multi_update = true; this.fields = {"id" : { dbs: "bez_bezoekers_key", typ: "key", diff --git a/APPL/CHAT/ChatterWant.asp b/APPL/CHAT/ChatterWant.asp index e4d8e554e8..b9a4248df2 100644 --- a/APPL/CHAT/ChatterWant.asp +++ b/APPL/CHAT/ChatterWant.asp @@ -33,7 +33,10 @@ Application.UnLock(); %> - - -<% - PAGE_START({ id: "page_setlocation" }); - HEADER ({back: !qrc}); - CONTENT_START(); - -%> -
setlocation.asp" method="post"> -
<%= L("lcl_mobile_setlocation_intro")%>
-<% - CONTROLGROUP_START(); - BUTTON(L("lcl_mobile_currentgps"), {click: "selectByGPS()", dataicon: "fa fa-location-arrow", id: "gpsbut", linkid: (Session("app_build") ? "loc:" : rooturl) + "/appl/pda/setlocation.asp"}); -%> " id="filter"> <% -%>
<% - if (S("mobile_alg_level") == 'L') { - sql = "SELECT l.alg_locatie_key, l.alg_locatie_omschrijving" + sql = "SELECT l.alg_locatie_key key, l.alg_locatie_omschrijving descr" + " FROM alg_locatie l" + " WHERE l.alg_locatie_verwijder IS NULL" // in scope + " AND ( l.alg_locatie_vervaldatum IS NULL" @@ -186,10 +88,11 @@ $(function () { + " WHERE prs_perslid_key = " + user_key + " AND niveau = " + autlevel + ")"; sql += " ORDER BY 2"; - FCLTselector("alg_key", sql, {initKey: user.alg_locatie_key({withcurrent:true}), nolabel: L("lcl_location"), mobile:true, datafilter:true, datainput: "#filter"}); - - } else if (S("mobile_alg_level") == 'G') { - sql = "SELECT g.alg_gebouw_key, COALESCE(alg_locatie_plaats, alg_locatie_omschrijving)||': '||alg_gebouw_omschrijving" + init_alg_key = user.alg_locatie_key({ withcurrent: true }); + } + else if (S("mobile_alg_level") == 'G') + { + sql = "SELECT g.alg_gebouw_key key, COALESCE(alg_locatie_plaats, alg_locatie_omschrijving)||': '||alg_gebouw_omschrijving descr" + " FROM alg_gebouw g, alg_srtgebouw sg, alg_locatie l" + " WHERE sg.alg_srtgebouw_key = g.alg_srtgebouw_key" + " AND g.alg_locatie_key = l.alg_locatie_key" @@ -204,10 +107,11 @@ $(function () { + " WHERE prs_perslid_key = " + user_key + " AND niveau = " + autlevel + ")"; sql += " ORDER BY 2"; - FCLTselector("alg_key", sql, {initKey: user.alg_gebouw_key({withcurrent:true}), nolabel: L("lcl_building"), mobile:true, datafilter:true, datainput: "#filter"}); - - } else if (S("mobile_alg_level") == 'V') { - sql = "SELECT v.alg_verdieping_key, alg_gebouw_omschrijving||'/'||v.alg_verdieping_code" + init_alg_key = user.alg_gebouw_key({ withcurrent: true }); + } + else if (S("mobile_alg_level") == 'V') + { + sql = "SELECT v.alg_verdieping_key key, alg_gebouw_omschrijving||'/'||v.alg_verdieping_code descr" + " FROM alg_gebouw g, alg_srtgebouw sg, alg_verdieping v, alg_locatie l" + " WHERE g.alg_gebouw_key = v.alg_gebouw_key" + " AND g.alg_locatie_key = l.alg_locatie_key" @@ -224,10 +128,129 @@ $(function () { + " WHERE prs_perslid_key = " + user_key + " AND niveau = " + autlevel + ")"; sql += " ORDER BY 2"; - FCLTselector("alg_key", sql, {initKey: user.alg_verdieping_key({withcurrent:true}), nolabel: L("lcl_floor"), mobile:true, datafilter:true, datainput: "#filter"}); + init_alg_key = user.alg_verdieping_key({ withcurrent: true }); } - %>
<% - BUTTON(L("lcl_select"), {click: "loc_submit()", dataicon: "fa-fclt-save"}); +%> + + + + +<% + PAGE_START({ id: "page_setlocation" }); + HEADER ({back: !qrc}); + CONTENT_START(); +%> + setlocation.asp" method="post"> +
<%= L("lcl_mobile_setlocation_intro")%>
+<% + CONTROLGROUP_START(); + var gps_btn_params = { dataicon: "fa fa-location-arrow", id: "gps-btn" }; + if (Session("app_build")) + gps_btn_params.linkid = "loc:/appl/pda/setlocation.asp"; + else + gps_btn_params.click = "selectByGPS();"; + BUTTON(L("lcl_mobile_currentgps"), gps_btn_params); +%> " id="filter"> +<% + var oRs = Oracle.Execute(sql); + if (!oRs.EoF) + { +%>
<% + while (!oRs.EoF) + { + BUTTON(safe.html(oRs("descr").Value), { + "id" : "alg-" + oRs("key").Value, + "click" : "doPlaceSelect(" + oRs("key").Value + ")" + }); + oRs.MoveNext(); + } +%>
<% + } + oRs.Close(); + BUTTON(L("lcl_select"), { click: "loc_submit()", dataicon: "fa-fclt-save" }); CONTROLGROUP_END(); IFACE.FORM_END(); %> diff --git a/APPL/Shared/default-print.css b/APPL/Shared/default-print.css index 4d5847aa45..e4ef484827 100644 --- a/APPL/Shared/default-print.css +++ b/APPL/Shared/default-print.css @@ -114,3 +114,7 @@ img.photo { height: 100px; width: 100px; } + +@media print { + .noprint { display: none; } +} \ No newline at end of file diff --git a/APPL/Shared/default.inc b/APPL/Shared/default.inc index 9049ba9d9a..43c2996abf 100644 --- a/APPL/Shared/default.inc +++ b/APPL/Shared/default.inc @@ -8,7 +8,7 @@ Context: Vanuit ELK asp bestand */ -var FCLTVersion="2022.1b"; +var FCLTVersion="2022.1d"; var FCLTMinDatabaseSchema="42"; // Alleen de cijfers var custpath = rooturl + "/cust/" + customerId; // path to customer files diff --git a/APPL/Shared/default.xsl b/APPL/Shared/default.xsl index ccc0658a93..3df0dba125 100644 --- a/APPL/Shared/default.xsl +++ b/APPL/Shared/default.xsl @@ -383,6 +383,10 @@ } a:hover{text-decoration: underline;} hr {color: #6685AE;} + + @media print { + .noprint { display: none; } + } diff --git a/APPL/Shared/kenmerk_js.asp b/APPL/Shared/kenmerk_js.asp index 468e292346..c34938d6e8 100644 --- a/APPL/Shared/kenmerk_js.asp +++ b/APPL/Shared/kenmerk_js.asp @@ -372,6 +372,10 @@ function callback_flex_expr_info(json) // save initial visibility state of field var initialVisible = $("#" + json[kenmerk].kfieldid + "val").is(":visible"); + // Fill the attribute "default" if it isn't defined yet. The parameter "json[kenmerk].waarde" contains the current/correct value for new and existing calls. + if ($("#" + json[kenmerk].kfieldid + "val").attr("default") == undefined) + $("#" + json[kenmerk].kfieldid + "val").attr("default", json[kenmerk].waarde); + if ($("#" + json[kenmerk].kfieldid + "val").hasClass("flexshow") || $("#Suggest" + json[kenmerk].kfieldid + "_show").hasClass("flexshow") || (["L", "X"].indexOf(json[kenmerk].kenmerktype) > -1 && $("label[for=" + json[kenmerk].kfieldid + "val]").hasClass("flexshow")) || @@ -428,7 +432,8 @@ function callback_flex_expr_info(json) var $fld_show = $("#Suggest" + json[kenmerk].kfieldid + "_show"); - if (json[kenmerk].exprwaarde == 0 || json[kenmerk].exprwaarde == null) { + if (json[kenmerk].exprwaarde == 0 || json[kenmerk].exprwaarde == null) + { // save default value in flex field if (initialVisible) { diff --git a/APPL/Shared/notes.inc b/APPL/Shared/notes.inc index 9fd7295b79..cc6a650cd6 100644 --- a/APPL/Shared/notes.inc +++ b/APPL/Shared/notes.inc @@ -791,7 +791,7 @@ notes = { fields.push({ dbs: params.table + "_note_key", typ: "key", seq: params.module.toLowerCase() + "_s_" + params.table + "_note_key" }); - var noteIns = buildInsert(params.table + "_note", fields); + var noteIns = buildInsert(params.table + "_note", fields, { noValidateToken: params.noValidateToken }); note_key = noteIns.sequences[params.table + "_note_key"]; Oracle.Execute(noteIns.sql); diff --git a/APPL/Shared/selector.inc b/APPL/Shared/selector.inc index 09c8858c0d..0d20369dec 100644 --- a/APPL/Shared/selector.inc +++ b/APPL/Shared/selector.inc @@ -139,12 +139,7 @@ function FCLTselector(fieldName, sql, params) startmulti = true; if (params.multi && !params.initKey && params.initKey != "" && !params.emptyOption && params.emptyOption != "") startmulti = true; - /* a list on mobile with a dataFilter has to be a table */ - %> - <%=((params.mobile && params.datafilter) ? " - class='fld<%=(params.startmulti?"multi":"")%><%=params.required? " required" : ""%> <%=params.extraclass? " " + params.extraclass : ""%>' - <%=params.datafilter? " data-filter='true'" : ""%> - <%=params.datainput? " data-input='"+ safe.htmlattr(params.datainput) +"'" : ""%> + %>
" : "")%> -<%} +<% result = FCLTselectorOptions(sql, params) %> + <% + } else { // we moeten hier wat ingewikkeld doen omdat we wel de key hebben van de te tonen waarde, maar niet de waarde zelf // NB: in het geval van een readonly/multi listbox toont-ie maar 1 waarde. @@ -251,10 +243,8 @@ function FCLTselectorOptions(sql, params) // TODO: als required en initKey dan hoeft emptyoption er natuurlijk niet bij zou ik zeggen if ((((params.emptyOption || params.emptyOption == "") && !(justone && params.required == 1)) || params.initEmpty) && !(params.selectjustone && justone)) { var hasEmpty = true; // afgeleide var voor het gemak - /* a list on mobile with a dataFilter has to be a table */ %> -<%=((params.mobile && params.datafilter) ? " - value="<%=params.emptyKey%>" <%=params.required? " class='" + required_class + "'" : ""%> <%=valueInArray(params.initKey, params.emptyKey, params.multi)? " selected" : ""%> + ")%> + <%=(!noresults || params.emptyIsRealValue) && params.emptyOption? safe.html(params.emptyOption) : " "%> <% } while (!oRs.eof) @@ -276,10 +263,7 @@ function FCLTselectorOptions(sql, params) result.initKey = oRs(0).value; result.initText = oRs(1).value; } - /* a list on mobile with a dataFilter has to be a table */ -%> -<%=((params.mobile && params.datafilter) ? " - value="<%=safe.htmlattr(oRs(0).value)%>" <%=valueInArray(params.initKey, oRs(0).value, params.multi) || (justone && !hasEmpty)? " selected " : ""%> +%> ")%> + } /* LET OP DAT HTML-HAAKJE HIERACHTER */ %>><%=safe.html(oRs(1).value)%> <% oRs.MoveNext(); } oRs.close(); diff --git a/APPL/Shared/srtdeelselector.inc b/APPL/Shared/srtdeelselector.inc index 9973548eb4..f112f7865d 100644 --- a/APPL/Shared/srtdeelselector.inc +++ b/APPL/Shared/srtdeelselector.inc @@ -50,10 +50,12 @@ function FCLTsrtdeelselector(fieldName, objectName, params) { var sql = "SELECT " + lcl.xsql ("sd." + module + "_srtdeel_omschrijving", "sd." + module + "_srtdeel_key") + " srtdeel_omschrijving" + + getExtraInfSrtdeel(params.extracode, module) + " FROM " + module + "_srtdeel sd" + " WHERE " + module + "_srtdeel_key = " + params.srtdeel_key; var oRs = Oracle.Execute(sql); lsrtdeelName = oRs("srtdeel_omschrijving").value; + lextraInit = oRs("extra").value; oRs.Close(); } else diff --git a/APPL/Shared/srtgroepselector.inc b/APPL/Shared/srtgroepselector.inc index 9c48120c2c..030536ca22 100644 --- a/APPL/Shared/srtgroepselector.inc +++ b/APPL/Shared/srtgroepselector.inc @@ -48,10 +48,12 @@ function FCLTsrtgroepselector(fieldName, objectName, params) { var sql = "SELECT " + lcl.xsql("sg." + module + "_srtgroep_omschrijving", "sg." + module + "_srtgroep_key") + "srtgroep_omschrijving" + + ", sg.ins_discipline_key extra" + " FROM " + module + "_srtgroep sg" + " WHERE " + module + "_srtgroep_key = " + params.srtgroep_key; var oRs = Oracle.Execute(sql); lsrtgroepName = oRs("srtgroep_omschrijving").value; + lextraInit = oRs("extra").value; oRs.Close(); } else @@ -71,7 +73,7 @@ function FCLTsrtgroepselector(fieldName, objectName, params) { sql = "SELECT sg." + module + "_srtgroep_key srtgroep_key" + ", " + lcl.xsql("sg." + module + "_srtgroep_omschrijving", "sg." + module + "_srtgroep_key") + "srtgroep_omschrijving" - + ", td.ins_discipline_key extra" + + ", sg.ins_discipline_key extra" + " FROM " + module + "_v_aanwezigsrtgroep sg" + ", ins_tab_discipline td" + " WHERE td.ins_discipline_key = sg.ins_discipline_key" diff --git a/UTILS/Exchange/exchange_graph.js b/UTILS/Exchange/exchange_graph.js index 3cdeaead2c..7ad49effca 100644 --- a/UTILS/Exchange/exchange_graph.js +++ b/UTILS/Exchange/exchange_graph.js @@ -248,82 +248,85 @@ function makeCSV(data, zaalemail) { trs.push(tds.join(";")); // header row first } - var _startDate = internal_parsedate(null, data[index].start.dateTime); - var _endDate = internal_parsedate(null, data[index].end.dateTime); - if (data[index]["@removed"] || data[index].isCancelled || _startDate.getTime() >= curDate.getTime()) + // deleted event + if (data[index]["@removed"] || data[index].isCancelled) + { // {"@odata.type":"#microsoft.graph.event","id":"AAMkAGQ1Yz.......","@removed":{"reason":"deleted"}} + tds = [ + "", + "", + "", + "", + "", + "", + "D", // cancelled or deleted + data[index].id, + "", + ++seqNbr + ]; + trs.push(tds.join(";")); + } + else { - // deleted event - if (data[index]["@removed"] || data[index].isCancelled) + var _startDate = internal_parsedate(null, data[index].start.dateTime); + var _endDate = internal_parsedate(null, data[index].end.dateTime); + + if (_startDate.getTime() >= curDate.getTime()) { - tds = [ - data[index].subject, - _startDate.toISOString(), - _endDate.toISOString(), - data[index].organizer.emailAddress.address, - data[index].organizer.emailAddress.address, - data[index].organizer.emailAddress.name, - "D", // cancelled or deleted - data[index].id, - "", - ++seqNbr - ]; - trs.push(tds.join(";")); - } - else - { - // repeating event - if (data[index].type == "occurrence") { - masterEvent = getMasterEvent(data, data[index].seriesMasterId) || {}; - tds = [ - masterEvent.subject, - _startDate.toISOString(), - _endDate.toISOString(), - masterEvent.organizer.emailAddress.address, - masterEvent.organizer.emailAddress.address, - masterEvent.organizer.emailAddress.name, - eventFound(data[index].id, data[index].OccurrenceId, zaalemail) ? "U" : "C", // C or U here - data[index].id, - data[index].OccurrenceId, - ++seqNbr - ]; - } - // singleInstance / seriesMaster / exception - else if (inArray(data[index].type, ["singleInstance","seriesMaster","exception"])) - { - tds = [ - data[index].subject, - _startDate.toISOString(), - _endDate.toISOString(), - data[index].organizer.emailAddress.address, - data[index].organizer.emailAddress.address, - data[index].organizer.emailAddress.name, - eventFound(data[index].id, data[index].OccurrenceId, zaalemail) ? "U" : "C", // C or U here - data[index].id, - inArray(data[index].type, ["seriesMaster","exception"]) ? data[index].OccurrenceId : "", - ++seqNbr - ]; - } - trs.push(tds.join(";")); - // attendees - if ("attendees" in data[index]) - { - var attendee; - for (attendee in data[index].attendees) + // repeating event + if (data[index].type == "occurrence") + { + masterEvent = getMasterEvent(data, data[index].seriesMasterId) || {}; + tds = [ + masterEvent.subject, + _startDate.toISOString(), + _endDate.toISOString(), + masterEvent.organizer.emailAddress.address, + masterEvent.organizer.emailAddress.address, + masterEvent.organizer.emailAddress.name, + eventFound(data[index].id, data[index].OccurrenceId, zaalemail) ? "U" : "C", // C or U here + data[index].id, + data[index].OccurrenceId, + ++seqNbr + ]; + } + // singleInstance / seriesMaster / exception + else if (inArray(data[index].type, ["singleInstance","seriesMaster","exception"])) { tds = [ data[index].subject, _startDate.toISOString(), _endDate.toISOString(), data[index].organizer.emailAddress.address, - data[index].attendees[attendee].emailAddress.address, - data[index].attendees[attendee].emailAddress.name, + data[index].organizer.emailAddress.address, + data[index].organizer.emailAddress.name, eventFound(data[index].id, data[index].OccurrenceId, zaalemail) ? "U" : "C", // C or U here data[index].id, inArray(data[index].type, ["seriesMaster","exception"]) ? data[index].OccurrenceId : "", - seqNbr + ++seqNbr ]; - trs.push(tds.join(";")); + } + trs.push(tds.join(";")); + // attendees + if ("attendees" in data[index]) + { + var attendee; + for (attendee in data[index].attendees) + { + tds = [ + data[index].subject, + _startDate.toISOString(), + _endDate.toISOString(), + data[index].organizer.emailAddress.address, + data[index].attendees[attendee].emailAddress.address, + data[index].attendees[attendee].emailAddress.name, + eventFound(data[index].id, data[index].OccurrenceId, zaalemail) ? "U" : "C", // C or U here + data[index].id, + inArray(data[index].type, ["seriesMaster","exception"]) ? data[index].OccurrenceId : "", + seqNbr + ]; + trs.push(tds.join(";")); + } } } } diff --git a/UTILS/PutOrders/puo_notifications.js b/UTILS/PutOrders/puo_notifications.js index 1027244ff6..2e27e95128 100644 --- a/UTILS/PutOrders/puo_notifications.js +++ b/UTILS/PutOrders/puo_notifications.js @@ -112,7 +112,6 @@ function sendNotification(ref_key, pcode, params) var notiPRSed = 0; while (!oRs.Eof) { - Log2File(1, "\n"); Log2File(2, "\n\n" + Fill(100, "=")); Log2File(1, "== Notificatie: " + oRs("fac_notificatie_key").value + " " diff --git a/UTILS/PutOrders/puo_shared.js b/UTILS/PutOrders/puo_shared.js index 8ddd734b77..06a688713d 100644 --- a/UTILS/PutOrders/puo_shared.js +++ b/UTILS/PutOrders/puo_shared.js @@ -37,7 +37,8 @@ function Log2File(level, str, severity) logfilename = PUO_LOGPATH + "putordersI_" + logfilename; // voorkennis: de immediate versie var simpellogfilename = logfilename.replace(/\.log$/, ".compact.log"); - if ((level <= S("puo_loglevel") && level < 2) || severity == "E" || severity == "F") + var excludesimpel = /^(SELECT xml.|XML blob|Load company style|Searching attachments|====== Skip opdracht\/bestelopdr)/; + if ((level <= S("puo_loglevel") && level < 2 && !str.match(excludesimpel) && str != "\n") || severity == "E" || severity == "F") { try { diff --git a/UTILS/PutOrders/puo_xmltools.js b/UTILS/PutOrders/puo_xmltools.js index e9871f9b2f..f48b7b20c1 100644 --- a/UTILS/PutOrders/puo_xmltools.js +++ b/UTILS/PutOrders/puo_xmltools.js @@ -287,7 +287,7 @@ function mergeXMLAttachments2(iXml, p_xslPath, xmltag, keynaam, pNiveau) var NodeList = iXml.documentElement.selectNodes(xmltag); if (NodeList.length > 0) { - Log2File(1, "*> mergeXMLAttachments"); + Log2File(2, "*> mergeXMLAttachments"); for (var index=0; index < NodeList.length; index++) {