@@ -20,6 +20,7 @@
|
||||
<%
|
||||
FCLTHeader.Requires({js: []});
|
||||
|
||||
var faqnum = getQParamInt("faqnum", -1, true);
|
||||
var searchtext = getQParam("searchtext", null);
|
||||
var disc_key_arr = getQParamIntArray("discmulti", []); // Productgroep
|
||||
var stdm_key_arr = getQParamIntArray("stdmmulti", []); // Melding (Stdmelding)
|
||||
@@ -112,78 +113,85 @@ function make_faq_list (searchtext, ororand)
|
||||
+ " FROM fac_faq f"
|
||||
+ " WHERE 1 = 1";
|
||||
|
||||
if (ororand)
|
||||
{
|
||||
sql += " AND (" + fac.createOrOrClause("UPPER(fac_faq_hint)", supper, 0, wholeword)
|
||||
if (S("faq_search_hints_only") <= 0)
|
||||
sql += " OR " + fac.createOrOrClause("UPPER(fac_faq_question)", supper, wholeword)
|
||||
+ " OR " + fac.createOrOrClause("UPPER(fac_faq_answer)", supper, wholeword);
|
||||
sql += ")";
|
||||
if (faqnum != -1)
|
||||
{ // Selectie op nummer negeert alle andere filters
|
||||
sql += " AND f.fac_faq_key = " + faqnum;
|
||||
}
|
||||
else
|
||||
{
|
||||
var fieldstrarr = ["UPPER(fac_faq_hint)"];
|
||||
if (S("faq_search_hints_only") <= 0) fieldstrarr.push("UPPER(fac_faq_question)","UPPER(fac_faq_answer)");
|
||||
sql += " AND " + fac.createOrClause2(fieldstrarr, supper, wholeword);
|
||||
}
|
||||
if (ororand)
|
||||
{
|
||||
sql += " AND (" + fac.createOrOrClause("UPPER(fac_faq_hint)", supper, 0, wholeword)
|
||||
if (S("faq_search_hints_only") <= 0)
|
||||
sql += " OR " + fac.createOrOrClause("UPPER(fac_faq_question)", supper, wholeword)
|
||||
+ " OR " + fac.createOrOrClause("UPPER(fac_faq_answer)", supper, wholeword);
|
||||
sql += ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
var fieldstrarr = ["UPPER(fac_faq_hint)"];
|
||||
if (S("faq_search_hints_only") <= 0) fieldstrarr.push("UPPER(fac_faq_question)","UPPER(fac_faq_answer)");
|
||||
sql += " AND " + fac.createOrClause2(fieldstrarr, supper, wholeword);
|
||||
}
|
||||
|
||||
if (stdm_key_arr)
|
||||
sql += " AND EXISTS (SELECT ''"
|
||||
+ " FROM mld_stdmeldingfaq"
|
||||
+ " WHERE mld_stdmelding_key IN (" + stdm_key_arr + ") "
|
||||
+ " AND fac_faq_key = f.fac_faq_key"
|
||||
+ ")";
|
||||
else
|
||||
if (disc_key_arr)
|
||||
if (stdm_key_arr)
|
||||
sql += " AND EXISTS (SELECT ''"
|
||||
+ " FROM mld_stdmeldingfaq"
|
||||
+ " WHERE ins_discipline_key IN (" + disc_key_arr + ")"
|
||||
+ " WHERE mld_stdmelding_key IN (" + stdm_key_arr + ") "
|
||||
+ " AND fac_faq_key = f.fac_faq_key"
|
||||
+ ")";
|
||||
else
|
||||
if (disc_key_arr)
|
||||
sql += " AND EXISTS (SELECT ''"
|
||||
+ " FROM mld_stdmeldingfaq"
|
||||
+ " WHERE ins_discipline_key IN (" + disc_key_arr + ")"
|
||||
+ " AND fac_faq_key = f.fac_faq_key"
|
||||
+ ")";
|
||||
|
||||
var sqlOnroer = "";
|
||||
if (room_key > -1)
|
||||
sqlOnroer = "alg_onroerendgoed_keys = " + room_key
|
||||
else if (flr_key > -1)
|
||||
sqlOnroer = "alg_onroerendgoed_keys = " + flr_key
|
||||
else if (bld_key > -1)
|
||||
sqlOnroer = "alg_onroerendgoed_keys = " + bld_key
|
||||
else if (loc_key > -1)
|
||||
sqlOnroer = "alg_onroerendgoed_keys IS NULL"
|
||||
|
||||
if (sqlOnroer != "")
|
||||
sql += " AND EXISTS (SELECT ''"
|
||||
+ " FROM alg_algfaq"
|
||||
+ " WHERE " + sqlOnroer
|
||||
+ " AND alg_locatie_key = " + loc_key
|
||||
+ " AND fac_faq_key = f.fac_faq_key"
|
||||
+ ")";
|
||||
|
||||
var sqlOnroer = "";
|
||||
if (room_key > -1)
|
||||
sqlOnroer = "alg_onroerendgoed_keys = " + room_key
|
||||
else if (flr_key > -1)
|
||||
sqlOnroer = "alg_onroerendgoed_keys = " + flr_key
|
||||
else if (bld_key > -1)
|
||||
sqlOnroer = "alg_onroerendgoed_keys = " + bld_key
|
||||
else if (loc_key > -1)
|
||||
sqlOnroer = "alg_onroerendgoed_keys IS NULL"
|
||||
if (fac_faq_level > 0)
|
||||
sql += " AND BITAND(f.fac_faq_level, " + fac_faq_level +") = " + fac_faq_level;
|
||||
|
||||
if (sqlOnroer != "")
|
||||
sql += " AND EXISTS (SELECT ''"
|
||||
+ " FROM alg_algfaq"
|
||||
+ " WHERE " + sqlOnroer
|
||||
+ " AND alg_locatie_key = " + loc_key
|
||||
+ " AND fac_faq_key = f.fac_faq_key"
|
||||
+ ")";
|
||||
if (fac_faq_lang != null)
|
||||
sql += " AND f.fac_faq_lang LIKE " + safe.quoted_sql(fac_faq_lang);
|
||||
else
|
||||
{
|
||||
if (!authparamsBOF && !authparamsFOF)
|
||||
sql += " AND (f.fac_faq_lang = " + safe.quoted_sql(user.lang()) + " OR f.fac_faq_lang IS NULL)";
|
||||
}
|
||||
|
||||
if (fac_faq_level > 0)
|
||||
sql += " AND BITAND(f.fac_faq_level, " + fac_faq_level +") = " + fac_faq_level;
|
||||
if (!authparamsBOF)
|
||||
{
|
||||
var bits = 0;
|
||||
if (authparamsFOF)
|
||||
bits |= (urole=="fo"?3:2);
|
||||
if (authparamsUSE)
|
||||
bits |= 1;
|
||||
sql += " AND BITAND (fac_faq_level, " + bits + ") <> 0";
|
||||
if (!authparamsFOF)
|
||||
sql += " AND (fac_faq_datum < SYSDATE OR prs_perslid_key = " + user_key + ")"; // zelf ingevoerd zie je wel terug
|
||||
}
|
||||
|
||||
if (fac_faq_lang != null)
|
||||
sql += " AND f.fac_faq_lang LIKE " + safe.quoted_sql(fac_faq_lang);
|
||||
else
|
||||
{
|
||||
if (!authparamsBOF && !authparamsFOF)
|
||||
sql += " AND (f.fac_faq_lang = " + safe.quoted_sql(user.lang()) + " OR f.fac_faq_lang IS NULL)";
|
||||
sql += getKenmerkSql("FAQ", "f.fac_faq_key"); // Zoeken op kenmerken, indien geavanceerd ingevuld
|
||||
}
|
||||
|
||||
if (!authparamsBOF)
|
||||
{
|
||||
var bits = 0;
|
||||
if (authparamsFOF)
|
||||
bits |= (urole=="fo"?3:2);
|
||||
if (authparamsUSE)
|
||||
bits |= 1;
|
||||
sql += " AND BITAND (fac_faq_level, " + bits + ") <> 0";
|
||||
if (!authparamsFOF)
|
||||
sql += " AND (fac_faq_datum < SYSDATE OR prs_perslid_key = " + user_key + ")"; // zelf ingevoerd zie je wel terug
|
||||
}
|
||||
|
||||
sql += getKenmerkSql("FAQ", "f.fac_faq_key"); // Zoeken op kenmerken, indien geavanceerd ingevuld
|
||||
|
||||
sql += " ORDER BY fac_faq_rank DESC NULLS LAST"
|
||||
+ " , fac_faq_datum DESC"
|
||||
+ " , fac_faq_question";
|
||||
@@ -307,6 +315,7 @@ function make_faq_list (searchtext, ororand)
|
||||
filterParams: params,
|
||||
buttons: buttons
|
||||
});
|
||||
rst.addColumn(new Column({caption: L("lcl_faq_nr"), content: "fac_faq_key"}));
|
||||
rst.addColumn(new Column({hasActions: true, caption: L("lcl_faq_question"), content: fnQuestion}));
|
||||
rst.addColumn(new Column({caption: L("lcl_faq_answer"), combine: true, content: "fac_faq_answer"}));
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ var backo = (urole == "bo");
|
||||
var minfo = (urole == "mi");
|
||||
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));
|
||||
var autosearch = getQParamInt("autosearch", -1) == 1;
|
||||
var faq_key = getQParamInt("faq_key", -1);
|
||||
var disc_key_arr = getQParamIntArray("disc_key_str", []); // Productgroep
|
||||
var stdm_arr = getQParamIntArray("stdm_str", []); // Melding (Stdmelding)
|
||||
var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
@@ -97,9 +98,10 @@ oRs.close();
|
||||
<td class="searchkolom1">
|
||||
<input type="hidden" name="urole" value="<%=urole%>">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<% RWFIELDTR ('searchtext', 'fld', L("lcl_search_diff_fields"), sstring);
|
||||
RWCHECKBOXTR("wholeword", "fldwholeword", L("lcl_faq_wholeword"), false );
|
||||
|
||||
<%
|
||||
RWFIELDTR("faqnum", "fld", L("lcl_faq_nr"), (faq_key != -1 ? faq_key : "") );
|
||||
RWFIELDTR ('searchtext', 'fld', L("lcl_search_diff_fields"), sstring);
|
||||
RWCHECKBOXTR("wholeword", "fldwholeword", L("lcl_faq_wholeword"), false );
|
||||
|
||||
if (authparamsBOF && anymldfaq)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user