diff --git a/APPL/API2/model_aut_idp_map.inc b/APPL/API2/model_aut_idp_map.inc index 3f7d64fea2..d89c6d495a 100644 --- a/APPL/API2/model_aut_idp_map.inc +++ b/APPL/API2/model_aut_idp_map.inc @@ -64,7 +64,7 @@ function model_aut_idp_map(params) // De 1-n + ";100;*" + L("fac_groep_m") + ";101;*" + L("lcl_workplace") - + ";102;*" + L("lcl_workplace") + " " + L("lcl_estate_wp_virt") + //+ ";102;*" + L("lcl_workplace") + " " + L("lcl_estate_wp_virt") // gaan via @prefix //+ ";103;*" + L("lcl_prs_mandatering") reserved voor mandatering // 1000 + kenmerk_key komt hier nog achter }, diff --git a/APPL/API2/model_objects.inc b/APPL/API2/model_objects.inc index 877d94bd17..1acec1c259 100644 --- a/APPL/API2/model_objects.inc +++ b/APPL/API2/model_objects.inc @@ -13,7 +13,9 @@ %> + + <% model_objects = { @@ -40,7 +42,12 @@ model_objects = includes: { "tracking": { model: new model_tracking(['deel']), joinfield: "trackingrefkey" - } + }, + "custom_fields" : { + "model": new model_custom_fields(this, new model_ins_kenmerk({ internal: true }), { readman: true, readuse: true }), + "joinfield": "flexparentkey", + "enable_update": true + } }, REST_GET: function _GET(params) { diff --git a/APPL/AUT/Login.inc b/APPL/AUT/Login.inc index cfe0628f12..641ce4b8c3 100644 --- a/APPL/AUT/Login.inc +++ b/APPL/AUT/Login.inc @@ -1334,6 +1334,7 @@ function process_claim(claim, idp_data, params) params = params || {}; var hasIdentify = false; + var hasIdentifyVal = false; var isFACFACinternal = idp_data.internal != 0; for (var i =0; i < idp_data.idpmappings.length; i++) { @@ -1343,6 +1344,8 @@ function process_claim(claim, idp_data, params) hasIdentify = true; if (!claim[idpm.from]) // niet meegegeven continue; + if (idpm.identify == 1) + hasIdentifyVal = true; switch (idpm.name.id) { case 1: // login @@ -1383,6 +1386,9 @@ function process_claim(claim, idp_data, params) } if (!hasIdentify) shared.internal_error("IdP {0} has no identifying attribute defined.".format(idp_data.code)); + if (!hasIdentifyVal) + shared.internal_error("IdP {0} has not supplied a value for any identifying attribute.".format(idp_data.code)); + if ( user_key < 0 && idp_data.autocreate.id & 1 // Misschien dan maar aanmaken? || user_key > 0 && idp_data.autocreate.id & 2 // en/ of bijwerken @@ -1523,13 +1529,32 @@ function process_claim(claim, idp_data, params) Oracle.Execute(sql); } - if ("workplace" in persdata && persdata["workplace"]) - { // workplace bevat ruimtes gescheiden door '|' of ';' + if ("workplace" in persdata) + { + // Eerst oude werkplekken ophalen + var sql = "SELECT pw.prs_werkplek_key, UPPER(alg_plaatsaanduiding) alg_plaatsaanduiding" + + " FROM prs_perslidwerkplek pw, prs_werkplek wp, alg_v_plaatsaanduiding" + + " WHERE pw.prs_perslid_key = " + user_key + + " AND pw.prs_werkplek_key = wp.prs_werkplek_key" + + " AND wp.prs_werkplek_type = 0" // alleen vaste plekken + + " AND alg_onroerendgoed_keys = wp.prs_alg_ruimte_key" + + " AND alg_onroerendgoed_type = 'R'"; + + var oRs = Oracle.Execute(sql); + var oldWP = {}; + while (!oRs.Eof) + { + oldWP[oRs("alg_plaatsaanduiding").Value] = oRs("prs_werkplek_key").Value; + oRs.MoveNext(); + } + oRs.Close(); + + // workplace bevat ruimtes gescheiden door '|' of ';' // (we ondersteunen alleen impliciete werkplekken, geen 'named') // Codering moet volgens alg_v_plaatsaanduiding zijn (locatiecode-gebouwcode-verdiepingcode-ruimtenr) // Als er een '@' voor staat is het een virtuele werkplek + persdata["workplace"] = persdata["workplace"] || ""; var workplacearr = persdata["workplace"].split(/[;\|]/); - var keepwp = []; for (var i = 0; i < workplacearr.length; i++) { var wpcode = workplacearr[i]; @@ -1539,22 +1564,47 @@ function process_claim(claim, idp_data, params) virtual = 1; wpcode = wpcode.substr(1); } - var sql = "SELECT alg_onroerendgoed_keys, alg_onroerendgoed_type" - + " FROM alg_v_plaatsaanduiding" - + " WHERE alg_plaatsaanduiding = " + safe.quoted_sql_upper(wpcode); - var oRs = Oracle.Execute(sql); - if (!oRs.Eof) + + if (wpcode in oldWP) { - var okey = oRs("alg_onroerendgoed_keys").Value; - var otype = oRs("alg_onroerendgoed_type").Value; - sql = "BEGIN" - + " prs.movetoruimte ({0}, {1}, '{2}', {3}); ".format(user_key, okey, 'G', virtual) // G want maar één werkplek per gebouw - + "END;"; - Oracle.Execute(sql); + delete oldWP[wpcode]; // Hoeven we straks niet te wissen + } + else // Toevoegen + { + var sql = "SELECT alg_onroerendgoed_keys" + + " FROM alg_v_plaatsaanduiding" + + " WHERE alg_onroerendgoed_type = 'R'" + + " AND UPPER(alg_plaatsaanduiding) = " + safe.quoted_sql_upper(wpcode); + var oRs = Oracle.Execute(sql); + if (!oRs.Eof) + { + delete oldWP[wpcode.toUpperCase()]; // Die zal hergebruikt worden + var okey = oRs("alg_onroerendgoed_keys").Value; + sql = "BEGIN" + + " prs.movetoruimte ({0}, {1}, '{2}', {3}); ".format(user_key, okey, 'G', virtual) // G want maar één werkplek per gebouw + + "END;"; + Oracle.Execute(sql); + } + else + __Log("Workplace '{0}' not found".format(workplacearr[i])); + oRs.Close(); + } + } + for (wpcode in oldWP) // restant opruimen + { + __Log("Persoon verwijderen van WP {0}, wp-key {1}".format(wpcode, oldWP[wpcode])); + if (S("prs_werkplek_implicit") == 1) + { + var sql = "DELETE FROM prs_werkplek" + + " WHERE prs_werkplek_key = " + oldWP[wpcode]; } else - __Log("Workplace '{0}' not found".format(workplacearr[i])); - oRs.Close(); + { + var sql = "DELETE FROM prs_perslid_werkplek" + + " WHERE prs_perslid_key = " + user_key + + " AND prs_werkplek_key = " + oldWP[wpcode]; + } + Oracle.Execute(sql); } } } diff --git a/APPL/AUT/SAML/default.asp b/APPL/AUT/SAML/default.asp index 81b547a38c..c00f8e3936 100644 --- a/APPL/AUT/SAML/default.asp +++ b/APPL/AUT/SAML/default.asp @@ -24,6 +24,7 @@ */ %> <% ANONYMOUS_Allowed = 1; + LOGIN_try = 1; // we zitten al in een login-try dus geen os_logon meer of zo %> @@ -45,16 +46,24 @@ var svars = ["
"]; // Voor logging
 
+    var wasCodePage = Session.Codepage;
+    Session.Codepage = 65001; // Van Shibboleth krijgen we UTF-8 namen
+
     var claim = {}; // We bouwen een claim op uit alle servervariabelen die met HTTP_ beginnen
+
+    var ignoreHTTP = "HTTP_COOKIE,HTTP_REFERER".split(","); // Ik wil ze vooral niet in de logfile krijgen
+
     for (i=1; i <= Request.ServerVariables.Count; i++)
     {
         var name = Request.ServerVariables.key(i);
-        if (name.match(/^HTTP_/))
+        if (name.match(/^HTTP_/) && !inArray(name, ignoreHTTP))
         {
             claim[name] = String(Request.ServerVariables(i));
             svars.push(Request.ServerVariables.key(i) + ": " + Request.ServerVariables(i));
         }
     }
+    Session.Codepage = wasCodePage; // Geen risico lopen
+
     svars.push("
"); __SafeLog(svars.join("\n")); diff --git a/APPL/BEZ/bez_edit_bezoekers.inc b/APPL/BEZ/bez_edit_bezoekers.inc index 97454849c8..0c694cf1a3 100644 --- a/APPL/BEZ/bez_edit_bezoekers.inc +++ b/APPL/BEZ/bez_edit_bezoekers.inc @@ -51,13 +51,9 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key } var flexfilter = []; - if (params.bezoeker_key) // bestaande bezoekers - { // Mag hier alleen kenmerken < 900 zien. - // Zie ook bez_flexkenmerk.inc (function isReadonly() en load_kenmerk.asp - backo = !user.has("WEB_BEZFOF"); - if (backo) - flexfilter = ["k.bez_kenmerk_volgnr < 900"]; - } + if (!user.has("WEB_BEZBOF")) + flexfilter = ["k.bez_kenmerk_volgnr < 900"]; + // else: kenmerken voor nieuwe bezoekers worden aangemaakt door load_kenmerk.asp %> diff --git a/APPL/BEZ/load_kenmerk.asp b/APPL/BEZ/load_kenmerk.asp index bef2ef6341..be65245863 100644 --- a/APPL/BEZ/load_kenmerk.asp +++ b/APPL/BEZ/load_kenmerk.asp @@ -37,9 +37,9 @@ if (!notr) <% // Zie ook bez_flexkenmerk.inc (function isReadonly() en bez_edit_bezoekers.inc -var backo = !user.has("WEB_BEZFOF"); +var backo = user.has("WEB_BEZBOF"); var flexfilter = []; -if (backo) +if (!backo) flexfilter = ["k.bez_kenmerk_volgnr < 900 "]; generateFlexKenmerkCode ({ urole: getQParamSafe("urole"), diff --git a/APPL/FAC/fac_setting.asp b/APPL/FAC/fac_setting.asp index f0c5d6d503..9fb6fd896f 100644 --- a/APPL/FAC/fac_setting.asp +++ b/APPL/FAC/fac_setting.asp @@ -43,15 +43,19 @@ var sql = "SELECT * FROM fac_setting s, prs_v_perslid_fullnames pf" + " AND fac_setting_key ="+fac_key; var oRs = Oracle.Execute(sql); - -if (!authFACFAC) - user.auth_required_or_abort(oRs("fac_setting_flags").Value & 1); // moet zichtbaar zijn voor PRSSYS - var functie_key = oRs("fac_functie_key").Value; +var sname = oRs("fac_setting_name").value; + +var canView = authFACFAC || + (oRs("fac_setting_flags").Value & 1) || + (authFACTAB && (functie_key == authFACTAB.autfunctionkey || sname == 'flexfilespath')); + +user.auth_required_or_abort(canView); // moet zichtbaar zijn voor PRSSYS + var isProtected = (functie_key != authPRSSYS.autfunctionkey); canChange = (!isProtected || authFACFAC && functie_key == authFACFAC.autfunctionkey || - authFACTAB && functie_key == authFACTAB.autfunctionkey) + authFACTAB && (functie_key == authFACTAB.autfunctionkey || sname == 'flexfilespath')) %> @@ -165,7 +169,6 @@ canChange = (!isProtected || if (canChange) buttons.push ({title: L("lcl_submit"), icon: "opslaan.png", action: "doSubmit()" }); buttons.push( {title: L("lcl_cancel"), icon: "undo.png", action: "doCancel()" } ); - var sname = oRs("fac_setting_name").value; if (fac_key > 0) { var historytitle = sname; diff --git a/APPL/FAC/fac_setting_save.asp b/APPL/FAC/fac_setting_save.asp index d00cc8a9bf..8c11102bb5 100644 --- a/APPL/FAC/fac_setting_save.asp +++ b/APPL/FAC/fac_setting_save.asp @@ -31,10 +31,12 @@ var sql = "SELECT * FROM fac_setting s" var oRs = Oracle.Execute(sql); var functie_key = oRs("fac_functie_key").Value; +var sname = oRs("fac_setting_name").value; + var isProtected = (functie_key != authPRSSYS.autfunctionkey); canChange = (!isProtected || authFACFAC && functie_key == authFACFAC.autfunctionkey || - authFACTAB && functie_key == authFACTAB.autfunctionkey) + authFACTAB && (functie_key == authFACTAB.autfunctionkey || sname == 'flexfilespath')) user.auth_required_or_abort(canChange); diff --git a/APPL/FAC/fac_settings_list.asp b/APPL/FAC/fac_settings_list.asp index 577fecd08b..f74ff30bc4 100644 --- a/APPL/FAC/fac_settings_list.asp +++ b/APPL/FAC/fac_settings_list.asp @@ -28,6 +28,7 @@ var outputmode = getQParamInt("outputmode", 0); var autfunction = "WEB_PRSSYS"; var authparams = user.checkAutorisation(autfunction); var hasFACFAC = user.checkAutorisation("WEB_FACFAC", true); +var hasFACTAB = user.checkAutorisation("WEB_FACTAB", true); var overruled = (getQParam("is_overrule", "") == "on") FCLTHeader.Requires({ plugins: ["jQuery"] }) @@ -60,16 +61,15 @@ FCLTHeader.Requires({ plugins: ["jQuery"] }) + " OR UPPER(fac_setting_pvalue) LIKE " + safe.quoted_sql_wild("%" + zoek + "%") + ")" : "") - + (smodule != "-1" - ? " AND fac_setting_module = " + safe.quoted_sql(smodule) - : "") - + (!hasFACFAC - ? " AND BITAND (fac_setting_flags, 1) = 1" // zichtbaar voor PRSSYS - :"") - + (overruled - ? " AND fac_setting_pvalue IS NOT NULL" - :"") - + " ORDER BY fac_setting_name"; + if (smodule != "-1") + sqln += " AND fac_setting_module = " + safe.quoted_sql(smodule); + if (!hasFACFAC) + sqln += " AND (BITAND (fac_setting_flags, 1) = 1" // zichtbaar voor PRSSYS + + (hasFACTAB? " OR fac_functie_code = 'WEB_FACTAB' OR fac_setting_name = 'flexfilespath'":"") + + ")" + if (overruled) + sqln += " AND fac_setting_pvalue IS NOT NULL"; + sqln += " ORDER BY fac_setting_name"; diff --git a/APPL/FAC/fac_verify.inc b/APPL/FAC/fac_verify.inc index 7c9f56d6ae..11cf66e1c6 100644 --- a/APPL/FAC/fac_verify.inc +++ b/APPL/FAC/fac_verify.inc @@ -737,6 +737,22 @@ __GROUP = "FACILITOR software"; testfolder(rooturl + "/cust", true); // mustbethere testfolder(rooturl + "/temp", true); // mustbethere +if (typeof __DoLog == "function") +checker("Logfile writable?", + function () + { + var result = { result: resultcodes.ok, + message: " View the logfile" + }; + if (!__DoLog("Fac_verify test {0}".format(toDateTimeString(new Date())), "#0ff" )) + { + result.result = resultcodes.error; + result.message += "
" + safe.html(__LogError); + } + return result; + } + ) + // TODO: Zelf onder cust zoeken naar een (enkele) folder met een Oracle.udl? checker("Determine customerID", function () diff --git a/APPL/Localscripts/iface.js b/APPL/Localscripts/iface.js index 56bf4ba9fb..7facde5c2a 100644 --- a/APPL/Localscripts/iface.js +++ b/APPL/Localscripts/iface.js @@ -276,10 +276,14 @@ function validateForm(fName, params) { hint = spantitle[0].getAttribute("title"); if (hint == '') - { hint = L("lcl_shared_validator_format"); - } - validatorHint.push((spantitle[0].textContent || spantitle[0].innerText) + ' ' + hint); + + hint = (spantitle[0].textContent || spantitle[0].innerText) + ' ' + hint + + // FSN#41130, voorkomen van dubbele hint's + // door datum-validatie wordt _isGoodTextFormat() 2x doorlopen + if ($.inArray(hint, validatorHint) == -1) + validatorHint.push(hint); } vIsGood = false; } diff --git a/APPL/Localscripts/sorttable.js b/APPL/Localscripts/sorttable.js index 5a22f38fc5..80ad30d897 100644 --- a/APPL/Localscripts/sorttable.js +++ b/APPL/Localscripts/sorttable.js @@ -240,7 +240,8 @@ var sorttable = { node.getElementsByTagName('input').length; var hasFontAwesome = node.querySelectorAll('i.fa').length > 0; - var prefix, infix, postfix = ""; + var prefix = ""; + var postfix = ""; if (hasFontAwesome) { diff --git a/APPL/PDA/melding.asp b/APPL/PDA/melding.asp index aafe2461d7..67107e85fc 100644 --- a/APPL/PDA/melding.asp +++ b/APPL/PDA/melding.asp @@ -286,7 +286,11 @@ if (addSubheader) } function mld_accept() - { // Eérst accepteren, dan saven. Ander heb je met BOF maar zonder FOF een probleem + { + if (!validateForm("meld")) + return false; + + // Eérst accepteren, dan saven. Ander heb je met BOF maar zonder FOF een probleem $.post( "../mld/mld_accept_save.asp?mld_key=<%=mld_key%>" , $("[name=meld]").serialize() <% if (this_mld.canChange) { %> @@ -307,6 +311,9 @@ if (addSubheader) function mld_close() { + if (!validateForm("meld")) + return false; + $.post( $("form[name=meld]")[0].action , $("[name=meld]").serialize() , FcltCallbackAndThen(function () diff --git a/APPL/PRS/prs_perslidwerkplek_list.inc b/APPL/PRS/prs_perslidwerkplek_list.inc index fee7f72228..a220a88ff7 100644 --- a/APPL/PRS/prs_perslidwerkplek_list.inc +++ b/APPL/PRS/prs_perslidwerkplek_list.inc @@ -112,7 +112,8 @@ function Deleted() + " w.alg_ruimte_aanduiding || '(' || alg_locatie_omschrijving || ')' alg_ruimte_aanduiding, " + " w.prs_werkplek_aanduiding, " + " pf.prs_perslid_naam_full, " - + " prs_perslid_dienstverband " + + " prs_perslid_dienstverband, " + + " prs_werkplek_virtueel" + " FROM prs_v_werkplek_gegevens w, " + " prs_perslidwerkplek pw, " + " prs_v_aanwezigperslid p, " @@ -143,6 +144,13 @@ function Deleted() sqln += " ORDER BY prs_perslid_naam_full, prs_perslidwerkplek_volgnr, prs_werkplek_aanduiding "; + function fnVirtueel(oRs) + { + if (oRs("prs_werkplek_virtueel").Value) + return L("lcl_estate_wp_virt"); + return ""; + } + var buttons = []; if (canAdd) buttons.push({ icon: "plus.png", title: L("lcl_add"), action: "doAdd()" }); @@ -169,6 +177,8 @@ function Deleted() rst.addColumn(new Column({caption: L("lcl_prs_name"), content: "prs_perslid_naam_full", hasActions: true})); rst.addColumn(new Column({caption: L("lcl_occupation_perc"), content: "prs_perslidwerkplek_bezetting"})); + rst.addColumn(new Column({caption: L("lcl_estate_wp_virt"), content: fnVirtueel})); + rst.addAction({ action: "bezettingEdit", caption: L("lcl_edit"), isDefault: true}); if (canAdd) rst.addAction({ action: "doDelete", caption: L("lcl_delete"), multi: !embedded, multiOnce: true}); diff --git a/APPL/Shared/FlexFiles.inc b/APPL/Shared/FlexFiles.inc index c51ef99dd1..4752667e4e 100644 --- a/APPL/Shared/FlexFiles.inc +++ b/APPL/Shared/FlexFiles.inc @@ -55,10 +55,16 @@ function bepaalNiveau(pModule, pNiveau) return pNiveau; } +var cache_bepaalKenmerkGegevens = []; // vanuit API2 mogelijk voor heel veel records aangeroepen function bepaalKenmerkGegevens(pModule, pKenmerkkey) { if (pKenmerkkey == null) return {kenmerk_omschrijving: null, kenmerk_type: null}; + + var cache_code = pModule + "_" + pKenmerkkey; + if (cache_code in cache_bepaalKenmerkGegevens) + return cache_bepaalKenmerkGegevens[cache_code]; + var table; var srttable; switch (pModule) @@ -105,7 +111,8 @@ function bepaalKenmerkGegevens(pModule, pKenmerkkey) var kenmerk_type = oRs("kenmerk_type").Value; oRs.close(); - return {kenmerk_omschrijving: kenmerk_omschrijving, kenmerk_type: kenmerk_type}; + cache_bepaalKenmerkGegevens[cache_code] = {kenmerk_omschrijving: kenmerk_omschrijving, kenmerk_type: kenmerk_type} + return cache_bepaalKenmerkGegevens[cache_code]; } function subfolderNew(pNiveau, pId) diff --git a/APPL/Shared/Shared.inc b/APPL/Shared/Shared.inc index 66a7189d0e..c41c556098 100644 --- a/APPL/Shared/Shared.inc +++ b/APPL/Shared/Shared.inc @@ -1127,7 +1127,7 @@ function abort_with_warning(warning, code) Response.Status = code; Response.End; } - else if (JSON_Result && JSON) + else if (JSON_Result && typeof JSON != "undefined") { Response.Write(JSON.stringify({ warning: warning, keepForm: true })); } diff --git a/APPL/Shared/default.csx b/APPL/Shared/default.csx index 99c64ce233..a7d32b8a7a 100644 --- a/APPL/Shared/default.csx +++ b/APPL/Shared/default.csx @@ -4336,7 +4336,7 @@ body.floorscreen3d { transition: color 0.4s; } .hasIcon i.fa, i.fa.hasIcon { - color:==iconhovercolor==; + color:==iconcolor==; font-size: 1.2em; } diff --git a/APPL/Shared/kenmerk_common.inc b/APPL/Shared/kenmerk_common.inc index 7f5f047077..2476d6df8b 100644 --- a/APPL/Shared/kenmerk_common.inc +++ b/APPL/Shared/kenmerk_common.inc @@ -520,7 +520,7 @@ function listKenmerk(sql, module, key, props) else forceNewLine = false; - if (kenmerk_search || val && val!="") + if (kenmerk_search || val != null && val != "") allCollapsable = false; // Eerst de simpele datatypes ('C', 'D' en 'N'). De complexere overrulen kv mogelijk later nog wel. diff --git a/APPL/Shared/logger.inc b/APPL/Shared/logger.inc index 1e194f3372..8cfed86818 100644 --- a/APPL/Shared/logger.inc +++ b/APPL/Shared/logger.inc @@ -257,7 +257,7 @@ function __LogCloseLine(handle, s_extra, optionalColor) { if (__Logging & 1) { - __DoLogCloseLine(handle, s_extra, optionalColor) + return __DoLogCloseLine(handle, s_extra, optionalColor) } } @@ -268,9 +268,13 @@ function __DoLogCloseLine(handle, s_extra, optionalColor) try { theLogger.log_close(handle, s_extra?String(s_extra):null, optionalColor); + return true; } catch(e) { // Waarschijnlijk een permission denied omdat twee processen tegelijk proberen te schrijven + __LogError = e.description; + debugger; + return false; } } @@ -331,10 +335,11 @@ function __DoLog(s, optionalColor, optionalCaller, leave_open) } else s = Server.HTMLEncode(String(s)).replace(/\n/g, "
"); - __SafeDoLog(s, optionalColor, optionalCaller||__DoLog.caller, leave_open); + return __SafeDoLog(s, optionalColor, optionalCaller||__DoLog.caller, leave_open); } // Veronderstel dat s HTML-safe is +var __LogError = ""; function __SafeDoLog(s, optionalColor, optionalCaller, leave_open) { if (typeof Logging_disable != "undefined") @@ -346,7 +351,9 @@ function __SafeDoLog(s, optionalColor, optionalCaller, leave_open) catch(e) { // Waarschijnlijk een permission denied omdat twee processen tegelijk proberen te schrijven //throw(e); + __LogError = e.description; debugger; + return false; } } @@ -410,13 +417,13 @@ function __DumpCollection(pCollection, title, optionalColor) // Log alle Request.Form variabelen in een tabel onvoorwaardelijk function __DoLogForm(optionalColor) { - __SafeDoLog(__DumpCollection(Request.Form, "Request.Form", optionalColor)); + return __SafeDoLog(__DumpCollection(Request.Form, "Request.Form", optionalColor)); } function __LogForm() { if (!(__Logging & 1)) return; // Don't bother - __DoLogForm(); + return __DoLogForm(); } // Noot: altijd jaar vooraan, goed voor logfiles, niet bedoeld voor presentatie diff --git a/APPL/Shared/resultset_flex.inc b/APPL/Shared/resultset_flex.inc index 75d6f41ac3..3dd8e26659 100644 --- a/APPL/Shared/resultset_flex.inc +++ b/APPL/Shared/resultset_flex.inc @@ -134,6 +134,10 @@ function getSqlFlex(flexModule, flexId, flexParams) + ", bez_kenmerk k" + " WHERE kb.bez_kenmerk_key = k.bez_kenmerk_key" + " AND k.bez_kenmerk_verwijder IS NULL"; + if (!user.has("WEB_BEZBOF")) + { + sqlFlex += " AND k.bez_kenmerk_volgnr < 900"; + } break; } diff --git a/CUST/MARX/xsl/F_GetOnderhoudsOpdrachtSIDB_SALES005_etim.xsl b/CUST/MARX/xsl/F_GetOnderhoudsOpdrachtSIDB_SALES005_etim.xsl new file mode 100644 index 0000000000..ffebea1b42 --- /dev/null +++ b/CUST/MARX/xsl/F_GetOnderhoudsOpdrachtSIDB_SALES005_etim.xsl @@ -0,0 +1,403 @@ + + + + + + + + + + + + + + + + +
+ + + --T + +
+ + + + + @ + + -- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + -- + + :00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- + + :00 + + + + + -- + + + + -- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S + + + + + + + + + + + + + + + + + + + + false + + NL + false + + + Mareon + + + + + + + + + + + + 1 + ORDERS + SALES + 005 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Foutmelding: + + + + + + + + + + + + + + + cxml + + + + + + + + + + + + + + + + + + + + +
diff --git a/CUST/MARX/xsl/F_GetOnderhoudsOpdrachtSIDB_SALES005_etim_cdata.xsl b/CUST/MARX/xsl/F_GetOnderhoudsOpdrachtSIDB_SALES005_etim_cdata.xsl new file mode 100644 index 0000000000..4fe24d1361 --- /dev/null +++ b/CUST/MARX/xsl/F_GetOnderhoudsOpdrachtSIDB_SALES005_etim_cdata.xsl @@ -0,0 +1,406 @@ + + + + + + + + + + + + + + + + +
+ + + --T + +
+ + + + + @ + + -- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + -- + + :00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- + + :00 + + + + + -- + + + + -- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + S + + + + + + + + + + + + + + + + + + + + false + + NL + false + + + Mareon + + + + + + + + + + + + 1 + ORDERS + SALES + 005 + + + + + + + + + + + + + + + + <![CDATA[ + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Foutmelding: + + + + + + + + + + + + + + + cxml + + + + + + + + + + + + + + + + + + + + +
diff --git a/CUST/UWVA/xsl/cust.xsl b/CUST/UWVA/xsl/cust.xsl index b356ff13ed..a1766f86a5 100644 --- a/CUST/UWVA/xsl/cust.xsl +++ b/CUST/UWVA/xsl/cust.xsl @@ -10,7 +10,7 @@ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ - CUST19 + CUST28 @@ -552,7 +552,7 @@ - + @@ -767,8 +767,8 @@
-
- + + @@ -975,7 +975,134 @@
-
+ + + + + + + + + +
+ + + + +
+ + + + + ../../cust//tmpl_logo.gif + 78px + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Melding  +  SPOED! +
Aan:
Kostenplaats: - / 
+ Onderstaande melding is automatisch aangemaakt op basis van een boeking bij Worldmeetings van je medewerker .

+ Het boekingsnummer van Worldmeetings staat hieronder in de omschrijving genoemd als referentie. Je medewerker beheert de details van de boeking in de webshop van Worldmeetings. +
Aan:
E-mail adres:
Telefoonnummer:
Locatie: -
Afdeling: -
Kostenplaats: - / 
+ Onderstaande melding is automatisch aangemaakt op basis van je boeking bij Worldmeetings.

+ Het boekingsnummer van Worldmeetings staat hieronder in de omschrijving genoemd als referentie. Klik op de URL om de boeking in de webshop van Worldmeetings te openen. +
Meldingstijdstip:  
Melding:
Backoffice:
Einddatum:
Omschrijving:
Status:
: + + + + +
+
+
@@ -1195,12 +1322,11 @@
- + - + -