From 1ca35a54a7c515ef8a1a51ddfa0d27826e0ebfe5 Mon Sep 17 00:00:00 2001 From: Jos Groot Lipman Date: Thu, 29 Oct 2015 15:17:48 +0000 Subject: [PATCH] Merge 2015.2 Gold C/D changes svn path=/Website/trunk/; revision=26827 --- APPL/API/api_hmail.asp | 2 +- APPL/API/api_opdrsoap.asp | 3 +- APPL/API2/model_approvals.inc | 1 - APPL/API2/model_orders.inc | 2 +- APPL/API2/model_reportcolumns.inc | 16 ++++++++++- APPL/API2/model_reportsx.inc | 5 ++++ APPL/CNT/cnt.inc | 31 +++++++++++--------- APPL/FAC/fac_fiattering_list_xd.asp | 44 +++++++++++++++++++++++++++-- APPL/FAC/fac_rewrite.config | 1 + APPL/Localscripts/FcltMgr.js | 5 ++-- APPL/MLD/mld_edit_melding.js | 5 ++-- APPL/MLD/mld_edit_opdr_save.asp | 2 +- APPL/MLD/mld_show_note.asp | 31 ++++++++++---------- APPL/PDA/bez_list.asp | 4 +-- APPL/PDA/orders_list.asp | 6 ++-- APPL/RES/res_edit_multi_save.asp | 4 +-- APPL/Shared/Shared.inc | 2 +- APPL/Shared/ie-fix.css | 2 ++ APPL/Shared/login.asp | 2 +- UTILS/gen_import/gen_import.wsf | 2 +- 20 files changed, 119 insertions(+), 51 deletions(-) diff --git a/APPL/API/api_hmail.asp b/APPL/API/api_hmail.asp index 6c92f661a5..404cfa5141 100644 --- a/APPL/API/api_hmail.asp +++ b/APPL/API/api_hmail.asp @@ -128,7 +128,7 @@ if (action) // Bijv "fac.processemail" of "uwva.closeorder-sample" } sql = "BEGIN " + action + " (" + safe.quoted_sql(fromAddr) + "," + safe.quoted_sql(toAddr) + "," - + safe.quoted_sql(Subject) + "," + + safe.quoted_sql(Subject || "") + "," // de actions kunnen slecht tegen lege subject + safe.quoted_sql(v_body) + "," + safe.quoted_sql(psession_id) + "," + user_key + ");" diff --git a/APPL/API/api_opdrsoap.asp b/APPL/API/api_opdrsoap.asp index 12294a501e..8d242ebde5 100644 --- a/APPL/API/api_opdrsoap.asp +++ b/APPL/API/api_opdrsoap.asp @@ -50,7 +50,8 @@ if ("MLDremark" in API.apidata.options) if ("ORDremark" in API.apidata.options) ORDremark = API.apidata.options["ORDremark"]; -Session("logging") = API.apidata.loglevel||0; +if (API.apidata.loglevel > 1) // Zet maar op 3 als je HTML logging wilt + Session("logging") = API.apidata.loglevel||0; //user.checkAutorisation("WEB_MLDUSE"); // Dit is nog ongeacht de melding. diff --git a/APPL/API2/model_approvals.inc b/APPL/API2/model_approvals.inc index 9a42bb6424..dbafcd2a91 100644 --- a/APPL/API2/model_approvals.inc +++ b/APPL/API2/model_approvals.inc @@ -51,7 +51,6 @@ model_approvals = getopen: inArray("o", statussen), getclosed: inArray("c", statussen), getrejected: inArray("r", statussen)} -__DoLog(fparams); var sql = fiattering_sql(fparams); var json = api2.sql2json (params, sql, model_approvals); return json; diff --git a/APPL/API2/model_orders.inc b/APPL/API2/model_orders.inc index fd68ac1e72..0ccd319e85 100644 --- a/APPL/API2/model_orders.inc +++ b/APPL/API2/model_orders.inc @@ -540,7 +540,7 @@ function model_orders(opdr_key, params) opdr_handfiat: voluntaryApproval}; var approver = mld.getFirstApprover(mld_info, mld_opdr); approver_key = approver.approver_key; - for_approval = approver.fiat; + for_approval = approver.for_approval; } if (for_approval && kp_fiat) diff --git a/APPL/API2/model_reportcolumns.inc b/APPL/API2/model_reportcolumns.inc index 5b85b791a4..77db4f23bd 100644 --- a/APPL/API2/model_reportcolumns.inc +++ b/APPL/API2/model_reportcolumns.inc @@ -117,7 +117,7 @@ function model_reportcolumns(usrrap_key, params) if (i != -1) view_name_short = view_name_short.substring(i+1); - var sql = "SELECT object_name, object_type, last_ddl_time" + var sql = "SELECT object_name, object_type, last_ddl_time, status" + " FROM user_objects" + " WHERE " + (user.oslogin() == "_FACILITOR" ? "object_type IN ('VIEW', 'TABLE')" : " object_type = 'VIEW'") @@ -125,6 +125,20 @@ function model_reportcolumns(usrrap_key, params) var oRs = Oracle.Execute(sql); if (oRs.Eof) abort_with_warning("Unable to determine columns for report view '{0}'!".format(view_name_short)); + + if (oRs("status").Value != 'VALID') // Gebeurt nog wel eens na een dump-refresh + { + if (oRs("object_type").Value == 'VIEW') + { + __DoLog("Auto compile invalid {0}".format(view_name_short)); + Oracle.Execute("ALTER VIEW {0} COMPILE".format(view_name_short)); + oRs.Close(); + var oRs = Oracle.Execute(sql); // Tweede poging + } + } + if (oRs("status").Value != 'VALID') + abort_with_warning("Report view '{0}' is INVALID!".format(view_name_short)); + var view_ddl_time = new Date(oRs("last_ddl_time").Value); oRs.Close(); var mustRefresh = (oldcols.length == 0 || !lastrefresh || view_ddl_time > lastrefresh); diff --git a/APPL/API2/model_reportsx.inc b/APPL/API2/model_reportsx.inc index 4d951c3d32..e20b289489 100644 --- a/APPL/API2/model_reportsx.inc +++ b/APPL/API2/model_reportsx.inc @@ -112,6 +112,11 @@ function model_reportsx(usrrap_key, rapparams) __Log(new_model); }; + this.hook_pre_edit = function (obj) + { + this.fields.styling.LOV = api2.filterLOV(L("lcl_usrrap_stylingLOV"), "0,1,2,3,8,16"); // De meesten mogen L(ike) niet + }; + this.REST_GET = function _reportsx_GET(params, jsondata) { var query = api2.sqlfields(params, this); diff --git a/APPL/CNT/cnt.inc b/APPL/CNT/cnt.inc index 4be968216d..13345b809c 100644 --- a/APPL/CNT/cnt.inc +++ b/APPL/CNT/cnt.inc @@ -111,10 +111,6 @@ cnt = { setcontractstatus: // Daarvoor hebben we de locatie van de contracten nodig. var sql_cntloc = cnt.getCntLocationsSql(); - var ALGwritelevel = 9; - var authparams = user.checkAutorisation(functie_code, true); - if (authparams) - var ALGwritelevel = authparams.ALGwritelevel; // Bepaal de fiatteurs. // De functiekey apart bepalen is 15x sneller @@ -122,23 +118,30 @@ cnt = { setcontractstatus: oRs = Oracle.Execute(sql); var functie_key = oRs("fac_functie_key").Value; + // De ALGwritelevel (niveau) van de te bepalen goedkeurders weet ik niet. + // Dat moet dus in de query zelf opgevraagd worden. + var AlGwritelevel_GOE = "SELECT COALESCE (MIN (fac_gebruiker_alg_level_write), 9) awrite" + + " FROM fac_v_webgebruiker w" + + " WHERE w.prs_perslid_key = g.prs_perslid_key" + + " AND w.fac_functie_key IN (" + functie_key + ")"; + sql = "SELECT DISTINCT g.prs_perslid_key" + " FROM fac_functie f" + " , fac_v_webgebruiker g" + " , cnt_contract c" - + (ALGwritelevel >= 0 - ? " , (" + sql_cntloc + ") cntloc" - : "") + + " , (" + sql_cntloc + ") cntloc" + " WHERE g.fac_functie_key = " + functie_key + " AND g.ins_discipline_key = c.ins_discipline_key" + " AND c.cnt_contract_key = " + cnt_key - + (ALGwritelevel >= 0 - ? " AND c.cnt_contract_key = cntloc.cnt_contract_key(+)" - + " AND (cntloc.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations" - + " WHERE prs_perslid_key = g.prs_perslid_key" - + " AND niveau = 2)" // locatie - + " OR cntloc.alg_locatie_key IS NULL)" // Op contracten zonder locatie(s) heeft iedereen rechten. - : ""); + + " AND c.cnt_contract_key = cntloc.cnt_contract_key(+)" + // Als AlGwritelevel_GOE > -1 is dan moet de contract locatie(s) binnen de locatie scope van de goedkeurders zitten. + + " AND (cntloc.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations" + + " WHERE prs_perslid_key = g.prs_perslid_key" + + " AND niveau = (" + AlGwritelevel_GOE + "))" + // Op contracten zonder locatie(s) heeft iedereen rechten. + + " OR cntloc.alg_locatie_key IS NULL" + // Heeft een goedkeurder alle CNTGOX rechten dan hoef je niet naar locatie(s) te kijken. + + " OR (" + AlGwritelevel_GOE + ") = -1)"; oRs = Oracle.Execute(sql); while(!oRs.eof) { diff --git a/APPL/FAC/fac_fiattering_list_xd.asp b/APPL/FAC/fac_fiattering_list_xd.asp index 2fefae426e..fa9feddf1c 100644 --- a/APPL/FAC/fac_fiattering_list_xd.asp +++ b/APPL/FAC/fac_fiattering_list_xd.asp @@ -49,14 +49,45 @@ FCLTHeader.Requires({ plugins: ["jQuery"] }); @@ -119,6 +150,13 @@ for(var cid in gottenitems){ // per omgeving } dataset.sort(function (a, b) { return (a.sortdate <= b.sortdate? -1: 1) }); + function fnRowData(oRs) + { + var data = { custid: oRs.Fields("custid").Value, + module: oRs.Fields("module").Value }; + return JSON.stringify(data); + } + function fncolBesNr(oRs) { // Eigenlijk wil je een markering bij de parent, niet bij het child TODO if (oRs.Fields("module").Value != "BES") @@ -187,7 +225,7 @@ dataset.sort(function (a, b) { return (a.sortdate <= b.sortdate? -1: 1) }); var rst = new ResultsetTable({keyColumn: "id", ID: "multi-approve-table", dataset: dataset, - rowData: xd.fnRowData, + rowData: fnRowData, outputmode: outputmode, //filterParams: params, showAll: showall, diff --git a/APPL/FAC/fac_rewrite.config b/APPL/FAC/fac_rewrite.config index c62b9f1c77..c2d3e8ac41 100644 --- a/APPL/FAC/fac_rewrite.config +++ b/APPL/FAC/fac_rewrite.config @@ -1,4 +1,5 @@ + diff --git a/APPL/Localscripts/FcltMgr.js b/APPL/Localscripts/FcltMgr.js index edcaa56984..0ad2e7fef1 100644 --- a/APPL/Localscripts/FcltMgr.js +++ b/APPL/Localscripts/FcltMgr.js @@ -810,7 +810,7 @@ var FcltMgr = // Ietwat getruct alleen voor result-sets, anders willen gewone schermen // niet altijd goed resizen van klein naar groot. // 1 pixel extra marge voor IE-bug FSN#32255 - if (frmcontent.width() > $elm_iframe.width() + 1&& elm_iframe.parentElement.id == "result") + if (frmcontent.width() > $elm_iframe.width() + 1 && elm_iframe.parentElement.id == "result") { widthToo = true; } @@ -846,7 +846,8 @@ var FcltMgr = elm_iframe.parentElement && elm_iframe.parentElement.id == 'result' && !frmcontent[0].URL.match("empty\.(asp|html)") && !$elm_iframe.attr("skipautoscroll") && - !largerOnly) + !largerOnly && + $('#result').offset()) { //window.location.hash = "result"; $('html, body').animate({ diff --git a/APPL/MLD/mld_edit_melding.js b/APPL/MLD/mld_edit_melding.js index 6d9990ca3c..ec80aa571b 100644 --- a/APPL/MLD/mld_edit_melding.js +++ b/APPL/MLD/mld_edit_melding.js @@ -468,7 +468,8 @@ function GetSetCallInfo(perslid_key) //changeDisciplineList(); // Mogelijk zijn niet alle disciplines toegestaan // Persoon is aangepast. Aangezien stdmelding afhankelijk is voor de persoon, kijken of de huidige waarde nog mag // setValue(key, txt, doonChange, checkExist, extraParam, lastTry); - sgStdm.setValue(sgStdm.getValue(), $("#stdm_show").val(), true, true, null, true); + if (window.sgStdm) + sgStdm.setValue(sgStdm.getValue(), $("#stdm_show").val(), true, true, null, true); } if (perslid_key > 0) @@ -527,7 +528,7 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel. if (data.fixed_faq.length > 0) { var $tbl = $("#mldFaq").find("table"); - $tbl.empty().append(data.fixed_faq); + $tbl.empty(); for (var i = 0; i < data.fixed_faq.length; i++) { var safequestion = $("").text(data.fixed_faq[i].question).html().replace(/\n/g, "
"); diff --git a/APPL/MLD/mld_edit_opdr_save.asp b/APPL/MLD/mld_edit_opdr_save.asp index 75492101ad..b25a6da301 100644 --- a/APPL/MLD/mld_edit_opdr_save.asp +++ b/APPL/MLD/mld_edit_opdr_save.asp @@ -281,7 +281,7 @@ for (var u = 0; u < uitvkeyArray.length; u++) opdr_handfiat: voluntaryApproval}; var approver = mld.getFirstApprover(mld_info, mld_opdr); approver_key = approver.approver_key; - for_approval = approver.fiat; + for_approval = approver.for_approval; } if (for_approval && kp_fiat) diff --git a/APPL/MLD/mld_show_note.asp b/APPL/MLD/mld_show_note.asp index 1ac8cca1c9..77a5e886fe 100644 --- a/APPL/MLD/mld_show_note.asp +++ b/APPL/MLD/mld_show_note.asp @@ -154,25 +154,26 @@ var tracking = getQParamInt("tracking", 1) == 1; // tracking erbij tonen? Onderd + " WHERE n.prs_perslid_key = pf.prs_perslid_key (+)" + " AND n.mld_melding_key = " + mld_key + (mfe.haveOnlyFErights? " AND mld_melding_note_flag = 1" : ""); + var sqls = [sql]; if (S("mld_merge_notes_and_tracking") == 1 && tracking) // tracking info erbij? { - var sql11 = "SELECT tr.fac_tracking_datum" - + " , tr.fac_tracking_key" - + " , tr.prs_perslid_key" - + " , pf.prs_perslid_naam_friendly" - + " , tr.fac_tracking_oms" - + " , NULL mld_melding_note_flag" - + " , str.fac_srtnotificatie_code" - + " FROM fac_tracking tr, fac_srtnotificatie str, prs_v_perslid_fullnames_all pf" - + " WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key" - + " AND tr.prs_perslid_key = pf.prs_perslid_key (+)" - + " AND str.fac_srtnotificatie_code <> 'MLDNOT'" // beetje dubbelop - + " AND (tr.fac_tracking_refkey = " + mld_key + " AND str.fac_srtnotificatie_xmlnode IN ('melding'))"; - - sql= "SELECT * FROM ("+ sql + " UNION " + sql11 + ") ORDER BY 1 DESC"; + var sql = "SELECT tr.fac_tracking_datum" + + " , tr.fac_tracking_key" + + " , tr.prs_perslid_key" + + " , pf.prs_perslid_naam_friendly" + + " , tr.fac_tracking_oms" + + " , NULL mld_melding_note_flag" + + " , str.fac_srtnotificatie_code" + + " FROM fac_tracking tr, fac_srtnotificatie str, prs_v_perslid_fullnames_all pf" + + " WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key" + + " AND tr.prs_perslid_key = pf.prs_perslid_key (+)" + + " AND str.fac_srtnotificatie_code <> 'MLDNOT'" // beetje dubbelop + + " AND (tr.fac_tracking_refkey = " + mld_key + " AND str.fac_srtnotificatie_xmlnode IN ('melding'))"; + sqls.push(sql) } - + sql = "SELECT * FROM ("+ sqls.join(" UNION ") + ") ORDER BY 1" + + (S("mld_note_sort_ascending") == 0 ? " DESC " : "") } else { // Geen mld_key dus kom vanuit het menu. diff --git a/APPL/PDA/bez_list.asp b/APPL/PDA/bez_list.asp index f688545e1e..b4207a45c5 100644 --- a/APPL/PDA/bez_list.asp +++ b/APPL/PDA/bez_list.asp @@ -96,13 +96,13 @@ + " AND gr.niveau = " + authparams.ALGreadlevel + ")"; } - if (gebouw_key > -1) { + if (gebouw_key > -1 && S("vis_afspraak_onrgoed_uses_keys") == 1) { sql += " AND (l.alg_locatie_key IS NULL OR v.alg_gebouw_key = " + gebouw_key +")"; } if (locatie_key > -1) { sql += " AND (l.alg_locatie_key IS NULL OR l.alg_locatie_key = " + locatie_key +")"; } - if (verdieping_key > -1) { + if (verdieping_key > -1 && S("vis_afspraak_onrgoed_uses_keys") == 1) { sql += " AND (l.alg_locatie_key IS NULL OR v.alg_verdieping_key = " + verdieping_key +")"; } sql += " ORDER BY bez_afspraak_datum, bez_afspraak_naam"; diff --git a/APPL/PDA/orders_list.asp b/APPL/PDA/orders_list.asp index d04cca6235..9ac0b6408d 100644 --- a/APPL/PDA/orders_list.asp +++ b/APPL/PDA/orders_list.asp @@ -73,6 +73,8 @@ var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({wit if (exhandler) { listmode = 1; + // Autorisatie (WEB_ORDBO2: Om alleen eigen opdrachten te kunnen afmelden) hierin toch meenemen. Mocht je alles willen zien dan kan je hier de autorisatie altijd op aanpassen. + autfunction = ["WEB_ORDBO2"]; } else { // b. heb ik dan opdrachtrechten binnen een scope, dat is ORDBOF of ORDBO2? Dan mag ik opdrachten binnen de scope zien. @@ -209,8 +211,8 @@ var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({wit + " )"; var sqlA = ""; - if ((listmode == 1) || (listmode == 4)) - sqlA = sql; // Voor listmode 1 geen autorisatie check nodig. Mag opdrachten van mijn eigen bedrijf zien. + if (listmode == 4) + sqlA = sql; else { // pautfunction is nu altijd een Array met webfuncties for (var ii = 0; ii < autfunction.length; ii++) diff --git a/APPL/RES/res_edit_multi_save.asp b/APPL/RES/res_edit_multi_save.asp index b60a9ab2e4..8438be900f 100644 --- a/APPL/RES/res_edit_multi_save.asp +++ b/APPL/RES/res_edit_multi_save.asp @@ -53,8 +53,8 @@ var sql = "SELECT rr.res_reservering_key" + " FROM res_rsv_ruimte rr" + " , res_ruimte_opstelling ro" + " , res_ruimte r" - + " WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key" - + " AND ro.res_ruimte_key = r.res_ruimte_key" + + " WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key(+)" + + " AND ro.res_ruimte_key = r.res_ruimte_key(+)" + " AND rr.res_rsv_ruimte_key = " + rsv_ruimte_key; oRs = Oracle.Execute(sql); var resnum = oRs("res_reservering_key").value + "/" + oRs("res_rsv_ruimte_volgnr").value; diff --git a/APPL/Shared/Shared.inc b/APPL/Shared/Shared.inc index cb279d2c2f..681df6f8f8 100644 --- a/APPL/Shared/Shared.inc +++ b/APPL/Shared/Shared.inc @@ -104,7 +104,7 @@ var shared = { // (Anders zou er waarschijnlijk een Ajax Error optreden) simpel_page: function(bodyhtml) { - if (typeof mobile == "boolean" && mobile) + if (typeof mobile == "object" && 'simpel_page' in mobile) mobile.simpel_page(bodyhtml); else if (typeof DOCTYPE_Disable == "undefined" || typeof JSON == "undefined") diff --git a/APPL/Shared/ie-fix.css b/APPL/Shared/ie-fix.css index 7184b9744c..a7d6ae1cbc 100644 --- a/APPL/Shared/ie-fix.css +++ b/APPL/Shared/ie-fix.css @@ -69,9 +69,11 @@ div.leftcontainer, #finRefInfo, #finFlex, #insGeo, +#kpnGrp, #menuCust, #mldFlex, #mldInfo, +#mldFaq, #mldIns, #mldObjD, #mldOverig, diff --git a/APPL/Shared/login.asp b/APPL/Shared/login.asp index 4d91841206..720b7e5321 100644 --- a/APPL/Shared/login.asp +++ b/APPL/Shared/login.asp @@ -86,7 +86,7 @@ checkUserAgent(); // heeft device capability bits gezet
- +
<% if (S("mobile_password") == 1 || (S("mobile_password_pda") == 1 && device.test(device.isMobile)) diff --git a/UTILS/gen_import/gen_import.wsf b/UTILS/gen_import/gen_import.wsf index d1a9530b82..7bde9351a5 100644 --- a/UTILS/gen_import/gen_import.wsf +++ b/UTILS/gen_import/gen_import.wsf @@ -129,7 +129,7 @@ if (!importres.success) { - __Log(res.warning); + __Log(importres.warning); WScript.Quit(); // Hopelijk is de file al wel weg } }