KFNS#38663 adding alg scoping to kennisbank items
svn path=/Website/branches/v2017.1/; revision=34007
This commit is contained in:
@@ -122,7 +122,7 @@ else
|
||||
label: L("lcl_faq_level")
|
||||
});
|
||||
|
||||
RWCHECKBOXTR("fac_faq_displaymode", "fldcheck", L("lcl_faq_displaymode"), displaymode);
|
||||
RWCHECKBOXTR("fac_faq_displaymode", "fldcheck", L("lcl_faq_displaymode"), !displaymode); // KFNS#38663 inverted
|
||||
RWFIELDTR("fac_bron", "fld", L("lcl_faq_bron"), source);
|
||||
RWFIELDTR("fac_url", "fld", L("lcl_faq_link"), url);
|
||||
if (!canWriteFAQBOF && datum==null)
|
||||
|
||||
@@ -30,12 +30,14 @@ var authparamsFAQBOF = user.checkAutorisation("WEB_FAQBOF", true); // Backoffice
|
||||
var canWriteFAQFOF = authparamsFAQFOF && authparamsFAQFOF.PRSwritelevel < 9 && authparamsFAQFOF.ALGwritelevel < 9;
|
||||
var canWriteFAQBOF = authparamsFAQBOF && authparamsFAQBOF.PRSwritelevel < 9 && authparamsFAQBOF.ALGwritelevel < 9;
|
||||
|
||||
var displaymode = getFParam("fac_faq_displaymode", "off") == "on" ? 0 : 1; // KFNS#38663 inverted
|
||||
|
||||
var fields = [ { dbs: "fac_faq_question", typ: "varchar", frm: "fac_question", len: 200 },
|
||||
{ dbs: "fac_faq_answer", typ: "varchar", frm: "fac_answer" },
|
||||
{ dbs: "fac_faq_source", typ: "varchar", frm: "fac_bron", len: 60 },
|
||||
{ dbs: "fac_faq_url", typ: "varchar", frm: "fac_url" },
|
||||
{ dbs: "fac_faq_level", typ: "number", frm: "fac_faq_level" },
|
||||
{ dbs: "fac_faq_displaymode", typ: "check0", frm: "fac_faq_displaymode" },
|
||||
{ dbs: "fac_faq_displaymode", typ: "number", val: displaymode },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
|
||||
{ dbs: "fac_faq_datum", typ: "date", frm: "date_from" },
|
||||
{ dbs: "fac_faq_lang", typ: "varchar", frm: "fac_faq_lang" },
|
||||
|
||||
@@ -138,7 +138,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);
|
||||
ROCHECKBOXTR("fldcheck", L("lcl_faq_displaymode"), !displaymode);
|
||||
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",
|
||||
|
||||
@@ -98,13 +98,18 @@ switch (req_info)
|
||||
}
|
||||
case "faq_info":
|
||||
{
|
||||
var ins_disc_key = getQParamInt("ins_disc_key", -1); // vakgroep
|
||||
var stdm_key = getQParamInt("stdm_key", -1);
|
||||
var loc_key = getQParamInt("loc_key", -1);
|
||||
var alg_key_arr = getQParamIntArray("alg_key_arr", []);
|
||||
var changed = getQParamInt("changed", 2);
|
||||
var ins_disc_key = getQParamInt("ins_disc_key", -1); // vakgroep
|
||||
var stdm_key = getQParamInt("stdm_key", -1);
|
||||
|
||||
var result = mld.faq_info(loc_key, alg_key_arr, ins_disc_key, stdm_key, changed);
|
||||
|
||||
result.ins_disc_key = ins_disc_key;
|
||||
result.stdm_key = stdm_key;
|
||||
result.loc_key = loc_key;
|
||||
result.alg_key_arr = alg_key_arr;
|
||||
result.changed = changed;
|
||||
|
||||
break;
|
||||
|
||||
260
APPL/MLD/mld.inc
260
APPL/MLD/mld.inc
@@ -2701,9 +2701,14 @@ mld = {setmeldingstatus:
|
||||
},
|
||||
faq_info:
|
||||
function _alg_faq(loc_key, alg_key_arr, ins_disc_key, stdm_key, changed) {
|
||||
if ((!loc_key || loc_key == -1) &&
|
||||
(!ins_disc_key || ins_disc_key == -1)) // Minimal requirement
|
||||
return;
|
||||
|
||||
var has = { ins: ins_disc_key && ins_disc_key != -1,
|
||||
stdm: stdm_key && stdm_key != -1,
|
||||
loc: loc_key && loc_key != -1,
|
||||
alg: alg_key_arr.length && alg_key_arr.length > 0 };
|
||||
|
||||
if (!has.ins && !has.stdm && !has.loc)
|
||||
return {};
|
||||
|
||||
var canFAQUSEread = user.checkAutorisation("WEB_FAQUSE", true);
|
||||
var canFAQFOFread = user.checkAutorisation("WEB_FAQFOF", true);
|
||||
@@ -2713,113 +2718,161 @@ mld = {setmeldingstatus:
|
||||
if (canFAQFOFread)
|
||||
faq_bits += 2;
|
||||
|
||||
var filtFROM = ""
|
||||
var filtWHERE = "";
|
||||
var plaatsChanged = changed >= 2 && changed <= 5;
|
||||
var show = changed == -1;
|
||||
var sql = [];
|
||||
|
||||
var filtSELECT = " , DECODE (sf.mld_stdmelding_key,"
|
||||
+ " NULL, DECODE (sf.ins_discipline_key,"
|
||||
+ " NULL, 'X', 'I'),"
|
||||
+ " 'S') stdm_type "
|
||||
+ " , DECODE (og.alg_onroerendgoed_keys,"
|
||||
+ " NULL, DECODE (af.alg_locatie_key,"
|
||||
+ " NULL, 'X', 'L'),"
|
||||
+ " og.alg_type) alg_type ";
|
||||
if ((has.ins || has.stdm) && (has.loc || has.alg)) // kennisbank items gekoppeld aan vakgroep/stdm en plaats
|
||||
{
|
||||
var filtSELECT = " , DECODE (sf.mld_stdmelding_key,"
|
||||
+ " NULL, DECODE (sf.ins_discipline_key,"
|
||||
+ " NULL, 'X', 'I'),"
|
||||
+ " 'S') stdm_type"
|
||||
+ " , DECODE (og.alg_onroerendgoed_keys,"
|
||||
+ " NULL, DECODE (af.alg_locatie_key,"
|
||||
+ " NULL, 'X', 'L'),"
|
||||
+ " og.alg_type) alg_type "
|
||||
+ " , 1 displaymode ";
|
||||
|
||||
var filtFROM = " , alg_algfaq af"
|
||||
+ " , mld_stdmeldingfaq sf"
|
||||
+ " , alg_v_onroerendgoed og";
|
||||
var filtFROM = " , alg_algfaq af"
|
||||
+ " , mld_stdmeldingfaq sf"
|
||||
+ " , alg_v_onroerendgoed og";
|
||||
|
||||
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key(+)"
|
||||
+ " AND ff.fac_faq_key = af.fac_faq_key(+)"
|
||||
+ " AND af.alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)";
|
||||
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key"
|
||||
+ " AND ff.fac_faq_key = af.fac_faq_key"
|
||||
+ " AND af.alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)"
|
||||
+ " AND ";
|
||||
|
||||
// Stdmfilter
|
||||
if (has.ins) // Vakgroep
|
||||
filtWHERE += " ((sf.ins_discipline_key = " + ins_disc_key
|
||||
+ " AND sf.mld_stdmelding_key IS NULL)";
|
||||
if (has.stdm) // Stdmelding
|
||||
filtWHERE += (has.ins ? " OR " : "")
|
||||
+ " sf.mld_stdmelding_key = " + stdm_key;
|
||||
if (has.ins)
|
||||
filtWHERE += " )";
|
||||
|
||||
if (ins_disc_key && ins_disc_key != -1)
|
||||
filtWHERE += " AND (sf.ins_discipline_key = " + ins_disc_key
|
||||
+ (changed == 0 ? ")" : " OR sf.ins_discipline_key IS NULL)");
|
||||
else
|
||||
filtWHERE += (changed == 1 ? "" : " AND sf.ins_discipline_key IS NULL");
|
||||
filtWHERE += " AND ";
|
||||
|
||||
if (stdm_key && stdm_key != -1)
|
||||
filtWHERE += " AND (sf.mld_stdmelding_key = " + stdm_key
|
||||
+ (changed == 1 ? ")" : " OR sf.mld_stdmelding_key IS NULL)");
|
||||
else
|
||||
filtWHERE += " AND sf.mld_stdmelding_key IS NULL";
|
||||
// Plaatsfilter
|
||||
if (has.loc)
|
||||
filtWHERE += " ((af.alg_locatie_key = " + loc_key
|
||||
+ " AND af.alg_onroerendgoed_keys IS NULL)";
|
||||
if (has.alg)
|
||||
filtWHERE += (has.loc ? " OR " : "")
|
||||
+ " af.alg_onroerendgoed_keys IN (" + alg_key_arr + ")";
|
||||
if (has.loc)
|
||||
filtWHERE += " )";
|
||||
|
||||
if (loc_key && loc_key != -1)
|
||||
filtWHERE += " AND (af.alg_locatie_key = " + loc_key
|
||||
+ (changed == 2 ? ")" : " OR af.alg_locatie_key IS NULL)");
|
||||
else
|
||||
filtWHERE += (changed > 2 ? "" : " AND af.alg_locatie_key IS NULL");
|
||||
sql.push(mld.getkennisbank_sql(filtSELECT, filtFROM, filtWHERE, faq_bits));
|
||||
}
|
||||
|
||||
if (alg_key_arr.length && alg_key_arr.length > 0)
|
||||
filtWHERE += " AND (af.alg_onroerendgoed_keys IN (" + alg_key_arr + ")"
|
||||
+ (changed > 2 ? ")" : " OR af.alg_onroerendgoed_keys IS NULL)");
|
||||
else
|
||||
filtWHERE += " AND af.alg_onroerendgoed_keys IS NULL";
|
||||
if ((plaatsChanged || show) && (has.loc || has.alg)) // kennisbank items gekoppeld aan plaats en niet aan vakgroep/stdm
|
||||
{
|
||||
var filtSELECT = " , 'X' stdm_type"
|
||||
+ " , DECODE (og.alg_onroerendgoed_keys,"
|
||||
+ " NULL, 'L', og.alg_type) alg_type "
|
||||
+ " , 1 displaymode ";
|
||||
|
||||
var filtFROM = " , alg_algfaq af"
|
||||
+ " , alg_v_onroerendgoed og";
|
||||
|
||||
var filtWHERE = " AND ff.fac_faq_key = af.fac_faq_key"
|
||||
+ " AND af.alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)";
|
||||
|
||||
// Stdmfilter
|
||||
filtWHERE += " AND NOT EXISTS (SELECT ''"
|
||||
+ " FROM mld_stdmeldingfaq sf "
|
||||
+ " WHERE sf.fac_faq_key = ff.fac_faq_key)"
|
||||
+ " AND ";
|
||||
|
||||
// Plaatsfilter
|
||||
if (has.loc)
|
||||
filtWHERE += " ((af.alg_locatie_key = " + loc_key
|
||||
+ " AND af.alg_onroerendgoed_keys IS NULL)";
|
||||
if (has.alg)
|
||||
filtWHERE += (has.loc ? " OR " : "")
|
||||
+ " af.alg_onroerendgoed_keys IN (" + alg_key_arr + ")";
|
||||
if (has.loc)
|
||||
filtWHERE += " )";
|
||||
|
||||
sql.push(mld.getkennisbank_sql(filtSELECT, filtFROM, filtWHERE, faq_bits));
|
||||
}
|
||||
|
||||
if ((!plaatsChanged || show) && (has.ins || has.stdm)) // kennisbank items gekoppeld aan vakgroep/stdm en niet aan plaats
|
||||
{
|
||||
var filtSELECT = " , DECODE (sf.mld_stdmelding_key,"
|
||||
+ " NULL, DECODE (sf.ins_discipline_key,"
|
||||
+ " NULL, 'X', 'I'),"
|
||||
+ " 'S') stdm_type"
|
||||
+ " , 'X' alg_type "
|
||||
+ " , fac_faq_displaymode displaymode ";
|
||||
|
||||
var filtFROM = " , mld_stdmeldingfaq sf";
|
||||
|
||||
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key"
|
||||
+ " AND ";
|
||||
|
||||
// Stdmfilter
|
||||
if (has.ins) // Vakgroep
|
||||
filtWHERE += " ((sf.ins_discipline_key = " + ins_disc_key
|
||||
+ " AND sf.mld_stdmelding_key IS NULL)";
|
||||
if (has.stdm) // Stdmelding
|
||||
filtWHERE += (has.ins ? " OR " : "")
|
||||
+ " sf.mld_stdmelding_key = " + stdm_key;
|
||||
if (has.ins)
|
||||
filtWHERE += " )";
|
||||
|
||||
// Plaatsfilter
|
||||
filtWHERE += " AND NOT EXISTS (SELECT ''"
|
||||
+ " FROM alg_algfaq af"
|
||||
+ " WHERE af.fac_faq_key = ff.fac_faq_key)";
|
||||
|
||||
sql.push(mld.getkennisbank_sql(filtSELECT, filtFROM, filtWHERE, faq_bits));
|
||||
}
|
||||
|
||||
sql = sql.join(" UNION ALL ")
|
||||
+ " ORDER BY fac_faq_rank DESC NULLS LAST"
|
||||
+ " , fac_faq_datum DESC"
|
||||
+ " , fac_faq_question";
|
||||
|
||||
var sql = "SELECT ff.fac_faq_key, "
|
||||
+ " fac_faq_question, "
|
||||
+ " fac_faq_answer, "
|
||||
+ " fac_faq_url, "
|
||||
+ " fac_faq_level, "
|
||||
+ " fac_faq_displaymode"
|
||||
+ filtSELECT
|
||||
+ " FROM fac_faq ff"
|
||||
+ filtFROM
|
||||
+ " WHERE fac_faq_datum < SYSDATE"
|
||||
+ " AND BITAND(fac_faq_level," + faq_bits + ") <> 0"
|
||||
+ " AND (fac_faq_lang = " + safe.quoted_sql(user_lang) + " OR fac_faq_lang IS NULL)"
|
||||
+ filtWHERE
|
||||
+ " ORDER BY fac_faq_rank DESC NULLS LAST"
|
||||
+ " , fac_faq_datum DESC"
|
||||
+ " , fac_faq_question";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var result = { fixed_faq: [],
|
||||
popup_faq: false,
|
||||
loc_key: loc_key,
|
||||
alg_key_arr: alg_key_arr,
|
||||
stdm_key: stdm_key,
|
||||
ins_disc_key: ins_disc_key
|
||||
};
|
||||
popup_faq: false };
|
||||
|
||||
while (!oRs.EOF)
|
||||
{
|
||||
var displaymode = oRs("fac_faq_displaymode").Value;
|
||||
if (displaymode == 0) // Auto
|
||||
{
|
||||
if ( ((S("faq_kennisbank_popup") & 1) && canFAQUSEread) // Voor FE
|
||||
|| ((S("faq_kennisbank_popup") & 2) && canFAQFOFread)) // Voor FO
|
||||
result.popup_faq = true;
|
||||
result.loc_key = loc_key || -1;
|
||||
result.alg_key_arr = alg_key_arr || [];
|
||||
result.stdm_key = stdm_key || -1;
|
||||
result.ins_disc_key = ins_disc_key || -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
var data = { question: oRs("fac_faq_question").Value,
|
||||
answer: safe.fclthtml(oRs("fac_faq_answer").Value),
|
||||
displaymode: oRs("fac_faq_displaymode").Value
|
||||
};
|
||||
var displaymode = oRs("displaymode").Value;
|
||||
if (displaymode == 0) // Popup
|
||||
{
|
||||
if ( ((S("faq_kennisbank_popup") & 1) && canFAQUSEread) // Voor FE
|
||||
|| ((S("faq_kennisbank_popup") & 2) && canFAQFOFread)) // Voor FO
|
||||
result.popup_faq = true;
|
||||
}
|
||||
|
||||
// KFNS#38663 -> always 'inline'
|
||||
var data = { question: oRs("fac_faq_question").Value,
|
||||
answer: safe.fclthtml(oRs("fac_faq_answer").Value),
|
||||
displaymode: oRs("displaymode").Value };
|
||||
|
||||
data.faq_type = "faq_" + oRs("stdm_type") + oRs("alg_type");
|
||||
data.faq_type = "faq_" + oRs("stdm_type") + oRs("alg_type");
|
||||
|
||||
var fac_url = oRs("fac_faq_url").value;
|
||||
if (fac_url)
|
||||
{
|
||||
var arr = fac_url.split("|");
|
||||
var hurl = arr[0];
|
||||
data.hlnk = arr.length>1?arr[1]:hurl;
|
||||
var fac_url = oRs("fac_faq_url").value;
|
||||
if (fac_url)
|
||||
{
|
||||
var arr = fac_url.split("|");
|
||||
var hurl = arr[0];
|
||||
data.hlnk = arr.length>1?arr[1]:hurl;
|
||||
|
||||
if (hurl.slice(0,4) == "http") // extern
|
||||
data.hurl = hurl;
|
||||
else // in cust subdir
|
||||
data.hurl = custpath + "/" + hurl;
|
||||
}
|
||||
result.fixed_faq.push(data);
|
||||
}
|
||||
oRs.MoveNext();
|
||||
if (hurl.slice(0,4) == "http") // extern
|
||||
data.hurl = hurl;
|
||||
else // in cust subdir
|
||||
data.hurl = custpath + "/" + hurl;
|
||||
}
|
||||
result.fixed_faq.push(data);
|
||||
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
return result;
|
||||
@@ -5345,8 +5398,27 @@ mld = {setmeldingstatus:
|
||||
}
|
||||
|
||||
return sql;
|
||||
}
|
||||
},
|
||||
|
||||
getkennisbank_sql:
|
||||
function (sqlSelect, sqlFrom, sqlWhere, faq_bits)
|
||||
{ // Lever kennisbank items overzicht sql op.
|
||||
|
||||
return "SELECT ff.fac_faq_key, "
|
||||
+ " fac_faq_rank, "
|
||||
+ " fac_faq_datum, "
|
||||
+ " fac_faq_question, "
|
||||
+ " fac_faq_answer, "
|
||||
+ " fac_faq_url, "
|
||||
+ " fac_faq_level "
|
||||
+ sqlSelect
|
||||
+ " FROM fac_faq ff"
|
||||
+ sqlFrom
|
||||
+ " WHERE fac_faq_datum < SYSDATE"
|
||||
+ " AND BITAND(fac_faq_level," + faq_bits + ") <> 0"
|
||||
+ " AND (fac_faq_lang = " + safe.quoted_sql(user_lang) + " OR fac_faq_lang IS NULL)"
|
||||
+ sqlWhere;
|
||||
}
|
||||
}
|
||||
|
||||
%>
|
||||
|
||||
@@ -441,7 +441,6 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
readonly: (mld_key > 0 && !this_mld.canPlaatsChange),
|
||||
filtercode: mld_melding.alg_level <= 2 ? null : "FAC", /*strict genomen alleen voor FE/FO, maar readonly maakt dit vanzelf goed toch? */
|
||||
suppressEmpty: true,
|
||||
escalateOnChUp: true,
|
||||
eindlevel: (mld_melding.alg_level ? mld_melding.alg_level : 2), // Minimaal Locatie
|
||||
cadSelect: true,
|
||||
cadShowdiscfn: "cadShowdiscfn",
|
||||
|
||||
@@ -391,8 +391,8 @@ function getObjectInfo(changed_niveau, noRecalcEinddatum)
|
||||
|
||||
function onChangeLocatie(locbld_changed)
|
||||
{
|
||||
onChangeAlg(2);
|
||||
onChangeGebouw(locbld_changed);
|
||||
onChangeAlg(2, -1);
|
||||
}
|
||||
|
||||
// Op de onchange van een gebouw controleren of er misschien een kostenplaats
|
||||
@@ -400,8 +400,7 @@ function onChangeLocatie(locbld_changed)
|
||||
// De functie onChangeGebouw() wordt ook aangeroepen bij wijzigen van melder
|
||||
function onChangeGebouw(locbld_changed, do_not_change_kp) // sl is de gebouw selectbox
|
||||
{
|
||||
if (!locbld_changed)
|
||||
onChangeAlg(3, $("#gebouwkey").val());
|
||||
onChangeAlg(3);
|
||||
|
||||
if (window.stdm_info.regime == 2) // openingstijden
|
||||
{
|
||||
@@ -434,34 +433,45 @@ function onChangeGebouw(locbld_changed, do_not_change_kp) // sl is de gebouw sel
|
||||
|
||||
function onChangeVerdieping()
|
||||
{
|
||||
onChangeAlg(4, $("#verdiepingkey").val());
|
||||
onChangeAlg(4);
|
||||
}
|
||||
|
||||
function onChangeRuimte()
|
||||
{
|
||||
onChangeAlg(5, $("#ruimtekey").val());
|
||||
onChangeAlg(5);
|
||||
}
|
||||
|
||||
function onChangeAlg(level, alg)
|
||||
function onChangeAlg(level)
|
||||
{
|
||||
var loc = $("#locatiekey").val();
|
||||
var alg = [];
|
||||
var loc = -1;
|
||||
var temp = "";
|
||||
switch (level) {
|
||||
case 5: temp = $("#ruimtekey").val(); if (temp && temp != -1) alg.push(temp);
|
||||
case 4: temp = $("#verdiepingkey").val(); if (temp && temp != -1) alg.push(temp);
|
||||
case 3: temp = $("#gebouwkey").val(); if (temp && temp != -1) alg.push(temp);
|
||||
case 2: temp = $("#locatiekey").val(); if (temp && temp != -1) loc = temp;
|
||||
break;
|
||||
default: return; // Error
|
||||
}
|
||||
|
||||
var stdm = $("#stdm").val();
|
||||
var ins_disc = $("#disc").val();
|
||||
|
||||
if ((level == 2 && loc && loc > 0) ||
|
||||
(level > 2 && alg && alg > 0))
|
||||
(level > 2 && alg.length && alg.length == (level - 2)))
|
||||
{
|
||||
$.getJSON("./get_mld_info_ajax.asp",
|
||||
{ req_info: "faq_info",
|
||||
loc_key: loc,
|
||||
alg_key_arr: [alg],
|
||||
alg_key_arr: alg.join(","),
|
||||
changed: level,
|
||||
ins_disc_key: (ins_disc || -1),
|
||||
stdm_key: stdm || -1 },
|
||||
callback_faq_info);
|
||||
}
|
||||
else
|
||||
show_fixed_faq(level, []);
|
||||
show_fixed_faq(level);
|
||||
}
|
||||
|
||||
var faq_info = {};
|
||||
@@ -483,39 +493,39 @@ function callback_faq_info(data)
|
||||
show_fixed_faq(data.changed, data.fixed_faq);
|
||||
}
|
||||
|
||||
function show_fixed_faq(changed, data_fixed_faq)
|
||||
function show_fixed_faq(changed, fixed_faq)
|
||||
{
|
||||
var $tbl = $("#mldFaq").find("table");
|
||||
|
||||
var stdm = ['I', 'S', 'X'];
|
||||
var alg = [null, 'X', 'L', 'G', 'V', 'R'];
|
||||
var error = fixed_faq == null; // veld verkeerd of leeg 'ingevuld'
|
||||
var plaatsChanged = changed >= 2 && changed <= 5;
|
||||
|
||||
if (changed == 0 || changed == 1)
|
||||
for (var a = 0; a <= 5; a++) {
|
||||
$tbl.find("tr.faq_" + stdm[changed] + alg[a]).remove();
|
||||
}
|
||||
else // changed >= 2 && changed <= 5
|
||||
for (var s = 0; s < 3; s++) {
|
||||
for (var a = changed; a <= 5; a++) {
|
||||
$tbl.find("tr.faq_" + stdm[s] + alg[a]).remove();
|
||||
}
|
||||
}
|
||||
|
||||
if (data_fixed_faq.length > 0)
|
||||
for (var a = (plaatsChanged ? (error ? changed : 2) : 1); a <= 5; a++)
|
||||
{
|
||||
for (var i = 0; i < data_fixed_faq.length; i++)
|
||||
if (plaatsChanged)
|
||||
$tbl.find("tr.faq_X" + alg[a]).remove();
|
||||
$tbl.find("tr.faq_I" + alg[a]).remove();
|
||||
$tbl.find("tr.faq_S" + alg[a]).remove();
|
||||
}
|
||||
|
||||
if (fixed_faq && fixed_faq.length)
|
||||
{
|
||||
for (var i = 0; i < fixed_faq.length; i++)
|
||||
{
|
||||
var safequestion = $("<span>").text(data_fixed_faq[i].question).html().replace(/\n/g, "<br>");
|
||||
var $newrow = $("<tr class='trlabel flexlabel flexcollapsable flexcollapsed "+data_fixed_faq[i].faq_type+"'><td class='fixedfaqquestion lhint'>" + safequestion + "</td></tr>")
|
||||
var safequestion = $("<span>").text(fixed_faq[i].question).html().replace(/\n/g, "<br>");
|
||||
var $newrow = $("<tr class='trlabel flexlabel flexcollapsable flexcollapsed "+fixed_faq[i].faq_type+"'><td class='fixedfaqquestion lhint'>" + safequestion + "</td></tr>")
|
||||
.click(function () {
|
||||
$(this).next().toggle();
|
||||
$(this).toggleClass('flexcollapsed');
|
||||
FcltMgr.resized(window);
|
||||
});
|
||||
$tbl.append($newrow)
|
||||
var safeanswer = $("<span>").text(data_fixed_faq[i].answer).text().replace(/\n/g, "<br>");
|
||||
if (data_fixed_faq[i].hurl)
|
||||
safeanswer += "<br><a href={0} target='_new'>{1}</a>".format(data_fixed_faq[i].hurl, data_fixed_faq[i].hlnk);
|
||||
$tbl.append("<tr style='display:none' class='"+data_fixed_faq[i].faq_type+"'><td class='fixedfaqanswer'><span='fclthtml'>" + safeanswer + "</span></td></tr>");
|
||||
var safeanswer = $("<span>").text(fixed_faq[i].answer).text().replace(/\n/g, "<br>");
|
||||
if (fixed_faq[i].hurl)
|
||||
safeanswer += "<br><a href={0} target='_new'>{1}</a>".format(fixed_faq[i].hurl, fixed_faq[i].hlnk);
|
||||
$tbl.append("<tr style='display:none' class='"+fixed_faq[i].faq_type+"'><td class='fixedfaqanswer'><span='fclthtml'>" + safeanswer + "</span></td></tr>");
|
||||
}
|
||||
$("#mldFaq").show();
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ var ins_disc_key = getQParamInt("ins_disc_key", -1);
|
||||
var stdm_key = getQParamInt("stdm_key", -1);
|
||||
var loc_key = getQParamInt("loc_key", -1);
|
||||
var alg_key_arr = getQParamIntArray("alg_key_arr", []);
|
||||
var changed = getQParamInt("changed", 2);
|
||||
var changed = getQParamInt("changed", 1);
|
||||
|
||||
var authparamsFOF = user.checkAutorisation("WEB_FAQFOF", true); // ziet (ook) FO-items
|
||||
var authparamsUSE = user.checkAutorisation("WEB_FAQUSE", true); // ziet (ook) FE-items
|
||||
@@ -74,56 +74,34 @@ user.auth_required_or_abort(authparamsUSE || authparamsFOF);
|
||||
if (authparamsUSE)
|
||||
faq_bits += 1;
|
||||
|
||||
var filtSELECT = " , DECODE (sf.mld_stdmelding_key,"
|
||||
+ " NULL, DECODE (sf.ins_discipline_key,"
|
||||
+ " NULL, 'X', 'I'),"
|
||||
+ " 'S') stdm_type "
|
||||
+ " , DECODE (og.alg_onroerendgoed_keys,"
|
||||
+ " NULL, DECODE (af.alg_locatie_key,"
|
||||
+ " NULL, 'X', 'L'),"
|
||||
+ " og.alg_type) alg_type ";
|
||||
var has = { ins: ins_disc_key && ins_disc_key != -1,
|
||||
stdm: stdm_key && stdm_key != -1 };
|
||||
|
||||
var filtFROM = " , alg_algfaq af"
|
||||
+ " , mld_stdmeldingfaq sf"
|
||||
+ " , alg_v_onroerendgoed og";
|
||||
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key"
|
||||
+ " AND ";
|
||||
|
||||
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key(+)"
|
||||
+ " AND ff.fac_faq_key = af.fac_faq_key(+)"
|
||||
+ " AND af.alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)";
|
||||
// Stdmfilter, at least: (has.ins || has.stdm) == true
|
||||
if (has.ins) // Vakgroep
|
||||
filtWHERE += " ((sf.ins_discipline_key = " + ins_disc_key
|
||||
+ " AND sf.mld_stdmelding_key IS NULL)";
|
||||
if (has.stdm) // Stdmelding
|
||||
filtWHERE += (has.ins ? " OR " : "")
|
||||
+ " sf.mld_stdmelding_key = " + stdm_key;
|
||||
if (has.ins)
|
||||
filtWHERE += " )";
|
||||
|
||||
|
||||
if (ins_disc_key && ins_disc_key != -1)
|
||||
filtWHERE += " AND (sf.ins_discipline_key = " + ins_disc_key
|
||||
+ (changed == 0 ? ")" : " OR sf.ins_discipline_key IS NULL)");
|
||||
else
|
||||
filtWHERE += (changed == 1 ? "" : " AND sf.ins_discipline_key IS NULL");
|
||||
|
||||
if (stdm_key && stdm_key != -1)
|
||||
filtWHERE += " AND (sf.mld_stdmelding_key = " + stdm_key
|
||||
+ (changed == 1 ? ")" : " OR sf.mld_stdmelding_key IS NULL)");
|
||||
else
|
||||
filtWHERE += " AND sf.mld_stdmelding_key IS NULL";
|
||||
|
||||
if (loc_key && loc_key != -1)
|
||||
filtWHERE += " AND (af.alg_locatie_key = " + loc_key
|
||||
+ (changed == 2 ? ")" : " OR af.alg_locatie_key IS NULL)");
|
||||
else
|
||||
filtWHERE += (changed > 2 ? "" : " AND af.alg_locatie_key IS NULL");
|
||||
|
||||
if (alg_key_arr.length && alg_key_arr.length > 0)
|
||||
filtWHERE += " AND (af.alg_onroerendgoed_keys IN (" + alg_key_arr + ")"
|
||||
+ (changed > 2 ? ")" : " OR af.alg_onroerendgoed_keys IS NULL)");
|
||||
else
|
||||
filtWHERE += " AND af.alg_onroerendgoed_keys IS NULL";
|
||||
// Plaatsfilter
|
||||
filtWHERE += " AND NOT EXISTS (SELECT ''"
|
||||
+ " FROM alg_algfaq af"
|
||||
+ " WHERE af.fac_faq_key = ff.fac_faq_key)";
|
||||
|
||||
var sql = "SELECT ff.fac_faq_key, "
|
||||
+ " fac_faq_question, "
|
||||
+ " fac_faq_answer, "
|
||||
+ " fac_faq_url, "
|
||||
+ " fac_faq_level "
|
||||
+ filtSELECT
|
||||
+ " FROM fac_faq ff"
|
||||
+ filtFROM
|
||||
+ " FROM fac_faq ff, "
|
||||
+ " mld_stdmeldingfaq sf"
|
||||
+ " WHERE fac_faq_datum < SYSDATE"
|
||||
+ " AND fac_faq_displaymode = 0"
|
||||
+ " AND BITAND(fac_faq_level," + faq_bits + ") <> 0"
|
||||
@@ -132,6 +110,7 @@ user.auth_required_or_abort(authparamsUSE || authparamsFOF);
|
||||
+ " ORDER BY fac_faq_rank DESC NULLS LAST"
|
||||
+ " , fac_faq_datum DESC"
|
||||
+ " , fac_faq_question";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var faq_url = '';
|
||||
while (!oRs.eof) {
|
||||
|
||||
@@ -388,15 +388,13 @@ function parentButton()
|
||||
}
|
||||
|
||||
var alg_key_arr = [];
|
||||
if (mld_melding.loc_key)
|
||||
alg_key_arr.push(-1); // nodig zodat hij ook alleen loc checkt
|
||||
if (mld_melding.bld_key && mld_melding.bld_key != -1)
|
||||
alg_key_arr.push(mld_melding.bld_key);
|
||||
if (mld_melding.flr_key && mld_melding.flr_key != -1)
|
||||
alg_key_arr.push(mld_melding.flr_key);
|
||||
if (mld_melding.room_key && mld_melding.room_key != -1)
|
||||
alg_key_arr.push(mld_melding.room_key);
|
||||
var faq_info = mld.faq_info(mld_melding.loc_key, alg_key_arr, mld_melding.disc, mld_melding.stdm);
|
||||
var faq_info = mld.faq_info(mld_melding.loc_key, alg_key_arr, mld_melding.disc, mld_melding.stdm, -1);
|
||||
|
||||
if (mld_melding.show_alg && S("mld_edit_layout") == 0)
|
||||
{
|
||||
|
||||
@@ -279,10 +279,24 @@ function mld_add2faq()
|
||||
|
||||
function mld_show_kennisbank(data)
|
||||
{
|
||||
if (data.fixed_faq.length > 0)
|
||||
var $tbl = $("#mldFaq").find("table");
|
||||
|
||||
var stdm = ['I', 'S', 'X'];
|
||||
var alg = [null, 'X', 'L', 'G', 'V', 'R'];
|
||||
var changed = data.changed;
|
||||
var error = data.fixed_faq == null; // veld verkeerd of leeg 'ingevuld'
|
||||
var plaatsChanged = changed >= 2 && changed <= 5;
|
||||
|
||||
for (var a = (plaatsChanged ? (error ? changed : 2) : 1); a <= 5; a++)
|
||||
{
|
||||
if (plaatsChanged)
|
||||
$tbl.find("tr.faq_X" + alg[a]).remove();
|
||||
$tbl.find("tr.faq_I" + alg[a]).remove();
|
||||
$tbl.find("tr.faq_S" + alg[a]).remove();
|
||||
}
|
||||
|
||||
if (data.fixed_faq && data.fixed_faq.length)
|
||||
{
|
||||
var $tbl = $("#mldFaq").find("table");
|
||||
$tbl.empty();
|
||||
for (var i = 0; i < data.fixed_faq.length; i++)
|
||||
{
|
||||
var safequestion = $("<span>").text(data.fixed_faq[i].question).html().replace(/\n/g, "<br>");
|
||||
@@ -300,6 +314,9 @@ function mld_show_kennisbank(data)
|
||||
}
|
||||
$("#mldFaq").show();
|
||||
}
|
||||
else
|
||||
$("#mldFaq").hide();
|
||||
if (!$tbl.find("tr").length)
|
||||
{
|
||||
$tbl.empty(); // Redundant ?
|
||||
$("#mldFaq").hide();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user