KFNS#38663 adding alg scoping to kennisbank items
svn path=/Website/trunk/; revision=33965
This commit is contained in:
@@ -100,12 +100,12 @@ switch (req_info)
|
||||
{
|
||||
var loc_key = getQParamInt("loc_key", -1);
|
||||
var alg_key_arr = getQParamIntArray("alg_key_arr", []);
|
||||
var level = getQParamInt("level", 2); // delete inline kennisbank vanaf [level] cascaded
|
||||
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);
|
||||
result.level = level;
|
||||
var result = mld.faq_info(loc_key, alg_key_arr, ins_disc_key, stdm_key, changed);
|
||||
result.changed = changed;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2718,11 +2718,11 @@ mld = {setmeldingstatus:
|
||||
|
||||
var filtSELECT = " , DECODE (sf.mld_stdmelding_key,"
|
||||
+ " NULL, DECODE (sf.ins_discipline_key,"
|
||||
+ " NULL, '', 'I'),"
|
||||
+ " NULL, 'X', 'I'),"
|
||||
+ " 'S') stdm_type "
|
||||
+ " , DECODE (og.alg_onroerendgoed_keys,"
|
||||
+ " NULL, DECODE (af.alg_locatie_key,"
|
||||
+ " NULL, '', 'L'),"
|
||||
+ " NULL, 'X', 'L'),"
|
||||
+ " og.alg_type) alg_type ";
|
||||
|
||||
var filtFROM = " , alg_algfaq af"
|
||||
@@ -2750,13 +2750,13 @@ mld = {setmeldingstatus:
|
||||
filtWHERE += " AND (af.alg_locatie_key = " + loc_key
|
||||
+ (changed == 2 ? ")" : " OR af.alg_locatie_key IS NULL)");
|
||||
else
|
||||
filtWHERE += " AND af.alg_locatie_key IS NULL";
|
||||
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 += (changed == 2 ? "" : " AND af.alg_onroerendgoed_keys IS NULL");
|
||||
filtWHERE += " AND af.alg_onroerendgoed_keys IS NULL";
|
||||
|
||||
var sql = "SELECT ff.fac_faq_key, "
|
||||
+ " fac_faq_question, "
|
||||
|
||||
@@ -441,6 +441,7 @@ 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",
|
||||
|
||||
@@ -448,17 +448,20 @@ function onChangeAlg(level, alg)
|
||||
var stdm = $("#stdm").val();
|
||||
var ins_disc = $("#disc").val();
|
||||
|
||||
if ((loc && loc > 0) || (ins_disc && ins_disc > 0))
|
||||
if ((level == 2 && loc && loc > 0) ||
|
||||
(level > 2 && alg && alg > 0))
|
||||
{
|
||||
$.getJSON("./get_mld_info_ajax.asp",
|
||||
{ req_info: "faq_info",
|
||||
loc_key: loc,
|
||||
alg_key_arr: [alg],
|
||||
level: level,
|
||||
changed: level,
|
||||
ins_disc_key: (ins_disc || -1),
|
||||
stdm_key: stdm || -1 },
|
||||
callback_faq_info);
|
||||
}
|
||||
else
|
||||
show_fixed_faq(level, []);
|
||||
}
|
||||
|
||||
var faq_info = {};
|
||||
@@ -472,30 +475,33 @@ function callback_faq_info(data)
|
||||
+ "?loc_key=" + data.loc_key
|
||||
+ "&alg_key_arr=" + data.alg_key_arr.join(",")
|
||||
+ "&stdm_key=" + data.stdm_key
|
||||
+ "&ins_disc_key=" + data.ins_disc_key;
|
||||
+ "&ins_disc_key=" + data.ins_disc_key
|
||||
+ "&changed=" + data.changed;
|
||||
|
||||
FcltMgr.openModalDetail(url, L("lcl_mld_faq_stdmanswers"), { height: 200, width: 700, callback: mld_faq_list_callback } );
|
||||
}
|
||||
show_fixed_faq(data.level, data.fixed_faq);
|
||||
show_fixed_faq(data.changed, data.fixed_faq);
|
||||
}
|
||||
|
||||
function show_fixed_faq(level, data_fixed_faq)
|
||||
function show_fixed_faq(changed, data_fixed_faq)
|
||||
{
|
||||
var $tbl = $("#mldFaq").find("table");
|
||||
var stdm = ['I', 'S', 'X'];
|
||||
var alg = [null, 'X', 'L', 'G', 'V', 'R'];
|
||||
|
||||
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)
|
||||
{
|
||||
var stdmLevel = data_fixed_faq[0].faq_type.substr(4,1);
|
||||
if (stdmLevel != "S" && stdmLevel != "I")
|
||||
stdmLevel = "";
|
||||
|
||||
if (!isNaN(level) && level >= 1 && level <= 5)
|
||||
{
|
||||
for (level; level <= 5; level++)
|
||||
{
|
||||
$tbl.find("tr.faq_"+stdmLevel+level).remove();
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < data_fixed_faq.length; i++)
|
||||
{
|
||||
var safequestion = $("<span>").text(data_fixed_faq[i].question).html().replace(/\n/g, "<br>");
|
||||
@@ -513,19 +519,10 @@ function show_fixed_faq(level, data_fixed_faq)
|
||||
}
|
||||
$("#mldFaq").show();
|
||||
}
|
||||
else
|
||||
if (!$tbl.find("tr").length)
|
||||
{
|
||||
for (level; level <= 5; level++)
|
||||
{
|
||||
$tbl.find("tr.faq_I"+level).remove();
|
||||
$tbl.find("tr.faq_S"+level).remove();
|
||||
$tbl.find("tr.faq_"+level).remove();
|
||||
}
|
||||
if (!$tbl.find("tr").length)
|
||||
{
|
||||
$tbl.empty();
|
||||
$("#mldFaq").hide();
|
||||
}
|
||||
$tbl.empty();
|
||||
$("#mldFaq").hide();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -879,14 +876,14 @@ function onChangeStdMelding(stdmelding_key, txt, params)
|
||||
{
|
||||
var ins_disc = $("#disc").val();
|
||||
var loc = $("#locatiekey").val() || -1;
|
||||
if ((ins_disc && ins_disc != -1) ||
|
||||
(loc && loc != -1))
|
||||
var changed = 1; // onChangeVakgroep nog niet geimplementeerd.
|
||||
|
||||
if ((changed == 0 && ins_disc && ins_disc > 0) ||
|
||||
(changed == 1 && stdmelding_key && stdmelding_key > 0))
|
||||
{
|
||||
var alg_key_arr = [];
|
||||
if (loc > 0)
|
||||
{
|
||||
alg_key_arr.push(-1); // voor locatie
|
||||
|
||||
var bld = $("#gebouwkey").val();
|
||||
if (bld && bld != -1)
|
||||
alg_key_arr.push(bld);
|
||||
@@ -901,11 +898,13 @@ function onChangeStdMelding(stdmelding_key, txt, params)
|
||||
{ req_info: "faq_info",
|
||||
loc_key: loc,
|
||||
alg_key_arr: alg_key_arr.join(","),
|
||||
level: 2,
|
||||
changed: changed,
|
||||
ins_disc_key: ins_disc,
|
||||
stdm_key: stdmelding_key },
|
||||
callback_faq_info);
|
||||
}
|
||||
else
|
||||
show_fixed_faq(changed, []);
|
||||
|
||||
params = params || {};
|
||||
if (stdmelding_key > 0)
|
||||
|
||||
@@ -23,7 +23,8 @@ FCLTHeader.Requires({ plugins: ["jQuery"] })
|
||||
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 = getQParamInt("alg_key_arr", []);
|
||||
var alg_key_arr = getQParamIntArray("alg_key_arr", []);
|
||||
var changed = getQParamInt("changed", 2);
|
||||
|
||||
var authparamsFOF = user.checkAutorisation("WEB_FAQFOF", true); // ziet (ook) FO-items
|
||||
var authparamsUSE = user.checkAutorisation("WEB_FAQUSE", true); // ziet (ook) FE-items
|
||||
@@ -73,58 +74,54 @@ user.auth_required_or_abort(authparamsUSE || authparamsFOF);
|
||||
if (authparamsUSE)
|
||||
faq_bits += 1;
|
||||
|
||||
var filtFROM = ""
|
||||
var filtWHERE = "";
|
||||
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 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(+)";
|
||||
|
||||
|
||||
if (ins_disc_key && ins_disc_key != -1)
|
||||
{
|
||||
filtFROM += " , mld_stdmeldingfaq sf";
|
||||
filtWHERE += " AND ff.fac_faq_key = sf.fac_faq_key"
|
||||
+ " AND sf.ins_discipline_key = " + ins_disc_key;
|
||||
if (stdm_key && stdm_key != -1)
|
||||
filtWHERE += " AND sf.mld_stdmelding_key = " + stdm_key;
|
||||
else
|
||||
filtWHERE += " AND sf.mld_stdmelding_key IS NULL";
|
||||
}
|
||||
filtWHERE += " AND (sf.ins_discipline_key = " + ins_disc_key
|
||||
+ (changed == 0 ? ")" : " OR sf.ins_discipline_key IS NULL)");
|
||||
else
|
||||
{
|
||||
filtWHERE += " AND NOT EXISTS ("
|
||||
+ " SELECT ''"
|
||||
+ " FROM mld_stdmeldingfaq sf"
|
||||
+ " WHERE ff.fac_faq_key = sf.fac_faq_key"
|
||||
+ " )";
|
||||
}
|
||||
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)
|
||||
{
|
||||
filtFROM += " , alg_algfaq af";
|
||||
filtWHERE += " AND ff.fac_faq_key = af.fac_faq_key"
|
||||
+ " AND af.alg_locatie_key = " + loc_key;
|
||||
if (!alg_key_arr.length) // check only loc
|
||||
{
|
||||
filtWHERE += " AND af.alg_onroerendgoed_keys IS NULL";
|
||||
}
|
||||
else
|
||||
{
|
||||
filtWHERE += " AND (af.alg_onroerendgoed_keys IN (" + alg_key_arr + ")";
|
||||
if (inArray(-1, alg_key_arr))
|
||||
filtWHERE += " OR af.alg_onroerendgoed_keys IS NULL";
|
||||
filtWHERE += " )";
|
||||
}
|
||||
}
|
||||
filtWHERE += " AND (af.alg_locatie_key = " + loc_key
|
||||
+ (changed == 2 ? ")" : " OR af.alg_locatie_key IS NULL)");
|
||||
else
|
||||
{
|
||||
filtWHERE += " AND NOT EXISTS ("
|
||||
+ " SELECT ''"
|
||||
+ " FROM alg_algfaq af"
|
||||
+ " WHERE ff.fac_faq_key = af.fac_faq_key"
|
||||
+ " )";
|
||||
}
|
||||
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";
|
||||
|
||||
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
|
||||
+ " WHERE fac_faq_datum < SYSDATE"
|
||||
|
||||
Reference in New Issue
Block a user