diff --git a/APPL/FAC/fac_show_faq.asp b/APPL/FAC/fac_show_faq.asp index 7dc75d096f..a78f6d33eb 100644 --- a/APPL/FAC/fac_show_faq.asp +++ b/APPL/FAC/fac_show_faq.asp @@ -129,13 +129,8 @@ var canChange = canWriteFAQBOF || (canWriteFAQFOF && datum == null) <% BLOCK_START("mldFaqedit", L("lcl_faq_item")); ROTEXTAREATR("fldtxt", L("lcl_faq_question"), question, {id: "fac_question", html: "rows='3' maxlength='4000'"}); - if (isProf) - { // Expliciet RW (met html: "readonly") om te forceren dat het een - // textarea blijft ipv gerenderd als een DIV. Anders werkt CopyToClipboard niet - RWTEXTAREATR("fac_answer", "fldtxt", L("lcl_faq_answer")+""+L("lcl_faq_kopieer")+"", answer, { html: "rows='3' readonly maxlength='4000'"}); - } - else - ROTEXTAREATR("fldtxt", L("lcl_faq_answer"), answer); + // PF: Aaqngepast. Zo kon je geen html formatting toepassen, dan maar niet meer die gekke kopieeroptie + ROTEXTAREATR("fldtxt fclthtml", L("lcl_faq_answer"), answer); ROTEXTAREATR("fldtxt", L("lcl_faq_hint"), hint, { suppressEmpty: true } ); BLOCK_END(); @@ -144,7 +139,7 @@ var canChange = canWriteFAQBOF || (canWriteFAQFOF && datum == null) BLOCK_START("mldInfo", L("lcl_faq_itemadm")); ROFIELDTR("fld", L("lcl_faq_level"), fac.getfaqleveltext(level)); ROCHECKBOXTR("fldcheck", L("lcl_faq_displaymode"), displaymode); - ROFIELDTR("fld", L("lcl_faq_bron"), source); + ROFIELDTR("fld", L("lcl_faq_bron"), source, { suppressEmpty: true}); ROFIELDTR("fld", L("lcl_faq_link"), url, { infoPointer: {Url: url, Title: L("lcl_faq_item"), NewWindow: true}, suppressEmpty: true}); FCLTpersoonselector("sgPers", "sgPers", diff --git a/APPL/FAC/prodsearch.asp b/APPL/FAC/prodsearch.asp index f02a88c400..3760997a48 100644 --- a/APPL/FAC/prodsearch.asp +++ b/APPL/FAC/prodsearch.asp @@ -113,7 +113,7 @@ function fncolType(oRs) txt = queries[srt].intern; if (oRs.Fields("extra").Value != null) { - var resstr = safe.html(oRs.Fields("extra").Value); + var resstr = safe.fclthtml(oRs.Fields("extra").Value); txt = makestrong(resstr, filter.s.val); } return txt; diff --git a/APPL/MLD/mld.inc b/APPL/MLD/mld.inc index 6b38c681fc..4884aca0a3 100644 --- a/APPL/MLD/mld.inc +++ b/APPL/MLD/mld.inc @@ -994,7 +994,8 @@ mld = {setmeldingstatus: function(pautfunction, params) { var mld_key = params.mld_key; - var opdr_key = params.opdr_key; + var opdr_key = params.opdr_key; // de zichtbare opdrachtkey (eigenlijk meldingkey) + var intopdr_key = params.intopdr_key; // de technische echte mld_opdr_key var mldstatus_arr = params.mldstatus_arr; var opdrstatus_arr = params.opdrstatus_arr; var caller_key = params.caller_key; @@ -1162,7 +1163,7 @@ mld = {setmeldingstatus: ? " AND m.mld_melding_key = invoerder.mld_melding_key" : ""); - if (handler_key || opdrtype_key || contact_key || opdr_key || opdrstatus_arr) + if (handler_key || opdrtype_key || contact_key || opdr_key || opdrstatus_arr || intopdr_key) { // meldingen filter je op 'die een opdracht hebben met xxxxxx' // opdrachten filter je rechtstreeks if (!toon_opdr_overz) @@ -1182,6 +1183,9 @@ mld = {setmeldingstatus: + (opdr_key // Selectie op nummer negeert alle andere filters (Andere waarde zijn niet doorgegeven ? " AND o.mld_melding_key = " + opdr_key // seems odd, but is right -PF : "") + + (intopdr_key // de interne (echte) opdrachtkey + ? " AND o.mld_opdr_key = " + intopdr_key + : "") + (opdrstatus_arr ? " AND o.mld_statusopdr_key IN (" + opdrstatus_arr.join(",") + ")" : "") @@ -2510,7 +2514,7 @@ mld = {setmeldingstatus: else { var data = { question: oRs("fac_faq_question").Value, - answer: oRs("fac_faq_answer").Value, + answer: safe.fclthtml(oRs("fac_faq_answer").Value), displaymode: oRs("fac_faq_displaymode").Value }; var fac_url = oRs("fac_faq_url").value; @@ -3058,14 +3062,14 @@ mld = {setmeldingstatus: + " , prs_kostenplaats k" + " , prs_kostenplaatsgrp kg" + " , mld_v_uitvoerende mu" - + " WHERE o.mld_melding_key = m.mld_melding_key" // bij bgt-mode: opdracht zonder melding TODO: zo geen errors maar hoe goed zijn de waarden? - + " AND m.mld_stdmelding_key = sm.mld_stdmelding_key" - + " AND sm.mld_ins_discipline_key = d.ins_discipline_key" - + " AND d.ins_discipline_key = mdp.mld_ins_discipline_key" + + " WHERE o.mld_melding_key = m.mld_melding_key(+)" // bij bgt-mode: opdracht zonder melding + + " AND m.mld_stdmelding_key = sm.mld_stdmelding_key(+)" + + " AND sm.mld_ins_discipline_key = d.ins_discipline_key(+)" + + " AND d.ins_discipline_key = mdp.mld_ins_discipline_key(+)" + " AND o.prs_kostenplaats_key = k.prs_kostenplaats_key(+)" // kostenplaats van de opdracht kan leeg zijn - + " AND o.mld_typeopdr_key = mto.mld_typeopdr_key" + + " AND o.mld_typeopdr_key = mto.mld_typeopdr_key" // required + " AND k.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key(+)" - + " AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key" + + " AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key" // required + " AND o.mld_opdr_key = " + pmld_opdr_key var moRs = Oracle.Execute(msql); var opdr_status = moRs("mld_statusopdr_key").Value; @@ -4396,7 +4400,9 @@ mld = {setmeldingstatus: var showall = params.showall; var mld_key = params.mld_key; + var ks_key = params.ks_key; var opdr_key = params.opdr_key; // opdracht nummer is voor de gebruiker hetzelfde als mld_key + var intopdr_key = params.intopdr_key; // de technische echte mld_opdr_key var behandel_key = params.behandel_key; var srtdisc_key = params.srtdisc_key; var searchtekst = params.searchtekst; @@ -4666,17 +4672,17 @@ mld = {setmeldingstatus: + " , mld_typeopdr t" + " , prs_v_perslid_fullnames_all pfiat" + " , prs_perslid p" // de melder - + " WHERE o.mld_melding_key = m.mld_melding_key" + (urole == 'bgt' ? '(+)' : '') // dat is nog niet genoeg + + " WHERE o.mld_melding_key = m.mld_melding_key" + (urole == 'bgt' ? '(+)' : '') + " AND pfiat.prs_perslid_key(+) = prs.getkpverantwoordelijke(o.prs_kostenplaats_key, "+S("prs_approvemethod")+", -1)" + " AND m.mld_alg_locatie_key = l.alg_locatie_key(+)" + " AND l.alg_district_key = di.alg_district_key(+)" - + " AND std.mld_ins_discipline_key = md.ins_discipline_key" - + " AND md.ins_discipline_key = mdp.mld_ins_discipline_key" + + " AND std.mld_ins_discipline_key = md.ins_discipline_key"+ (urole == 'bgt' ? '(+)' : '') + + " AND md.ins_discipline_key = mdp.mld_ins_discipline_key"+ (urole == 'bgt' ? '(+)' : '') + " AND o.fac_activiteit_key IS NULL" + " AND o.cnt_contract_key = c.cnt_contract_key(+)" - + " AND m.mld_stdmelding_key = std.mld_stdmelding_key" - + " AND p.prs_perslid_key = m.prs_perslid_key" - + " AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key" + + " AND m.mld_stdmelding_key = std.mld_stdmelding_key"+ (urole == 'bgt' ? '(+)' : '') + + " AND m.prs_perslid_key = p.prs_perslid_key"+ (urole == 'bgt' ? '(+)' : '') + + " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"+ (urole == 'bgt' ? '(+)' : '') + " AND o.mld_typeopdr_key = t.mld_typeopdr_key"; if (add_prs_restrict) @@ -4699,6 +4705,10 @@ mld = {setmeldingstatus: { sql += " AND o.mld_melding_key = " + opdr_key; // opdracht nummer is voor de gebruiker hetzelfde als mld_key } + else if (intopdr_key) + { + sql += " AND o.mld_opdr_key = " + intopdr_key; // de echte opdrachtkey + } else { // if (offerte >= 0) @@ -4781,6 +4791,9 @@ mld = {setmeldingstatus: sql += " AND m.mld_adres_key = " + adr_key; } + if (ks_key) + sql += " AND o.prs_kostensoort_key = " + ks_key; // nog ff geen array dus + if (kp) sql += " AND o.prs_kostenplaats_key IN" + " (SELECT k.prs_kostenplaats_key" @@ -4943,50 +4956,51 @@ mld = {setmeldingstatus: pautfunction = [pautfunction]; var sqlAB = ""; - for (var jj = 0; jj < sqlA.length; jj++) + if (urole != 'bgt') { - // pautfunction is nu altijd een Array met webfuncties - for (var ii = 0; ii < pautfunction.length; ii++) - { - // Voorwaarde sql_extern t.b.v. setting mld_typeopdr_afmelden_extern alleen toevoegen voor WEB_ORDBO2 rechten. - var sql3d = sqlA[jj] + (pautfunction[ii] == "WEB_ORDBO2"? sql_extern : ""); - // apply 3D authorization to the locations and to the organisations (both ALG and PRS) - // if "disc == 0" or disc is not defined then disc should be "" - // otherwise de 3d authorization adds a "AND (1=0)" line to the query and you will have never a result - sqlB = (ii > 0? sqlB + " UNION " : "") + discx3d (sql3d, - "md.ins_discipline_key", - "di.alg_regio_key", - "l.alg_district_key", - "l.alg_locatie_key", - "g.alg_gebouw_key", - "g.alg_verdieping_key", - "g.alg_ruimte_key", - "b.prs_bedrijf_key", - "b.prs_afdeling_key", - pautfunction[ii], - (!(mld_key || opdr_key) && disc_key_arr ? disc_key_arr.join(",") : ""), - (add_prs_restrict ? 2 : 0) - ); - } - sqlAB = sqlAB + (jj > 0? " UNION " : "") + sqlB; + for (var jj = 0; jj < sqlA.length; jj++) + { + // pautfunction is nu altijd een Array met webfuncties + for (var ii = 0; ii < pautfunction.length; ii++) + { + // Voorwaarde sql_extern t.b.v. setting mld_typeopdr_afmelden_extern alleen toevoegen voor WEB_ORDBO2 rechten. + var sql3d = sqlA[jj] + (pautfunction[ii] == "WEB_ORDBO2"? sql_extern : ""); + // apply 3D authorization to the locations and to the organisations (both ALG and PRS) + // if "disc == 0" or disc is not defined then disc should be "" + // otherwise de 3d authorization adds a "AND (1=0)" line to the query and you will have never a result + sqlB = (ii > 0? sqlB + " UNION " : "") + discx3d (sql3d, + "md.ins_discipline_key", + "di.alg_regio_key", + "l.alg_district_key", + "l.alg_locatie_key", + "g.alg_gebouw_key", + "g.alg_verdieping_key", + "g.alg_ruimte_key", + "b.prs_bedrijf_key", + "b.prs_afdeling_key", + pautfunction[ii], + (!(mld_key || opdr_key) && disc_key_arr ? disc_key_arr.join(",") : ""), + (add_prs_restrict ? 2 : 0) + ); + } + sqlAB = sqlAB + (jj > 0? " UNION " : "") + sqlB; + } + + if (pautfunction.length > 1) + { // We hebben dan rechten van meerdere autorisatie functies. Daardoor kan door discx3d() " UNION ALL " gebruikt worden om verschillende SELECT aan elkaar te plakken. + // In dat geval krijgen we dan dubbele resultataten. + // We moeten daarom deze UNION ALL's vervangen door UNION's. + sqlAB = sqlAB.replace(/UNION ALL/g, "UNION"); + } + // Voeg laatste tracking datum toe + sql = "SELECT * FROM (" + sqlAB + ") us" + + whereUs + + " ORDER BY" // ins_discipline_omschrijving is hier al vertaald + + (planb? " behandelaar," : "") + + (excel? " UPPER(ins_discipline_omschrijving), mld_typeopdr_key," : "") // Flexkenmerken verschillen per opdrachttype (mld_typeopdr_key) + + " mld_opdr_einddatum, mld_opdr_bedrijfopdr_volgnr"; } - if (pautfunction.length > 1) - { // We hebben dan rechten van meerdere autorisatie functies. Daardoor kan door discx3d() " UNION ALL " gebruikt worden om verschillende SELECT aan elkaar te plakken. - // In dat geval krijgen we dan dubbele resultataten. - // We moeten daarom deze UNION ALL's vervangen door UNION's. - sqlAB = sqlAB.replace(/UNION ALL/g, "UNION"); - } - - // Voeg laatste tracking datum toe - sql = "SELECT * FROM (" + sqlAB + ") us" - + whereUs - + " ORDER BY" // ins_discipline_omschrijving is hier al vertaald - + (planb? " behandelaar," : "") - + (excel? " UPPER(ins_discipline_omschrijving), mld_typeopdr_key," : "") // Flexkenmerken verschillen per opdrachttype (mld_typeopdr_key) - + " mld_opdr_einddatum, mld_opdr_bedrijfopdr_volgnr"; - - return sql; } diff --git a/APPL/MLD/mld_edit_melding.js b/APPL/MLD/mld_edit_melding.js index 51bb86c834..0931829453 100644 --- a/APPL/MLD/mld_edit_melding.js +++ b/APPL/MLD/mld_edit_melding.js @@ -544,10 +544,10 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel. FcltMgr.resized(window); }); $tbl.append($newrow) - var safeanswer = $("").text(data.fixed_faq[i].answer).html().replace(/\n/g, "
"); + var safeanswer = $("").text(data.fixed_faq[i].answer).text().replace(/\n/g, "
"); if (data.fixed_faq[i].hurl) safeanswer += "
{1}".format(data.fixed_faq[i].hurl, data.fixed_faq[i].hlnk); - $tbl.append("" + safeanswer + ""); + $tbl.append("" + safeanswer + "
"); } $("#mldFaq").show(); } diff --git a/APPL/MLD/mld_faq.asp b/APPL/MLD/mld_faq.asp index 1b7ce62cee..708e792a98 100644 --- a/APPL/MLD/mld_faq.asp +++ b/APPL/MLD/mld_faq.asp @@ -91,8 +91,8 @@ user.auth_required_or_abort(authparamsUSE || authparamsFOF); %>
  • -
    - <%=safe.html(oRs("fac_faq_answer").value)%>
    +
    + <%=safe.fclthtml(oRs("fac_faq_answer").value)%>
    <% if (oRs("fac_faq_url").value) { fac_url = oRs("fac_faq_url").value; @@ -106,9 +106,9 @@ user.auth_required_or_abort(authparamsUSE || authparamsFOF); hurl = custpath + "/" + hurl; %> <%=safe.html(hlnk)%>
    <% } %> -
    );" class="ref">
    +
    );" class="ref"> "> - <%=L("lcl_faq_mld_3")%>
    + <%=L("lcl_faq_mld_3")%>