Files
Facilitor/APPL/MLD/mld_faq.asp
2017-06-01 14:46:55 +00:00

169 lines
6.3 KiB
Plaintext

<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: mld_faq.asp
Description: (Modal)dialoog om kennisbankitems aan melding te kunnen koppelen
Parameters: stdm_key
Context: Als net een melding is gekozen komt een popup met faq's
Note: Als je zowel FO als FE rechten hebt zie je alle faq's
voor deze melding
*/
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="./mld.inc" -->
<%
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 = getQParamIntArray("alg_key_arr", []);
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
user.auth_required_or_abort(authparamsUSE || authparamsFOF);
%>
<html>
<head>
<% FCLTHeader.Generate() %>
<script type='text/javascript'>
$(document).ready(function ()
{
$(".faqvraag").click(function() {
$(this).siblings().last().toggle();
FcltMgr.resized();
});
}
);
function faqSolvedCallback(data, textStatus)
{
FcltMgr.closeDetail(window, { accept: true });
}
function showFaq(faq_key)
{
if (faq_key > 0)
FcltMgr.openDetail("appl/fac/fac_faq.asp?urole=fe&faq_key=" + faq_key, {reuse: true});
}
function faqSolved(faq_key)
{ // Increment the rank of a FAQ (kennisbankitem)
var data = {faq_key: faq_key};
<% protectRequest.dataToken("data"); %>
$.ajax({ type: "POST",
url: "../mld/mld_increment_rank.asp",
data: data,
success: faqSolvedCallback,
datatype: "json",
async: false
});
}
</script>
</head>
<body class="modal" id="mod_faq">
<div id="faqhead"><%=L("lcl_faq_mld_1")%></div>
<div id="faqsubhead"><%=L("lcl_faq_mld_2")%></div>
<ul id="faqanswerlist">
<%
var faq_bits = 0;
if (authparamsFOF)
faq_bits += 2;
if (authparamsUSE)
faq_bits += 1;
var has = { ins: ins_disc_key && ins_disc_key != -1,
stdm: stdm_key && stdm_key != -1 };
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key"
+ " AND ";
// 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 += " )";
// 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, "
+ " (SELECT COUNT (*)"
+ " FROM faq_kenmerk k, faq_kenmerkwaarde kw"
+ " WHERE k.faq_kenmerk_verwijder IS NULL"
+ " AND k.faq_kenmerk_key = kw.faq_kenmerk_key"
+ " AND kw.faq_kenmerkwaarde_verwijder IS NULL"
+ " AND kw.fac_faq_key = ff.fac_faq_key) aantal_kenm"
+ " 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"
+ " 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 faq_url = '';
while (!oRs.eof) {
%>
<li>
<div class="faqvraag"><a name="<%=oRs("fac_faq_key").value%>"><%=safe.html(oRs("fac_faq_question").value)+L("lcl_faq_mld_klik")%></a></div>
<div class="faqantwoord fclthtml">
<%=safe.fclthtml(oRs("fac_faq_answer").value)%><br/>
<% if (oRs("fac_faq_url").value)
{
fac_url = oRs("fac_faq_url").value;
var arr = fac_url.split("|");
hurl = arr[0];
hlnk = arr.length>1?arr[1]:hurl;
if (hurl.slice(0,4) == "http") // extern
hurl = hurl;
else // in cust subdir
hurl = custpath + "/" + hurl;
%> <a href="<%=safe.htmlattr(hurl)%>" target="_new"><%=safe.html(hlnk)%></a><br/>
<% } else if (oRs("aantal_kenm").Value > 0) { %>
<div class="faqlink"><a href="javascript:showFaq(<%=oRs("fac_faq_key").Value%>)"><%=L("lcl_more")%></a></div><br/>
<% } %>
<div id="faqsolved" onClick="faqSolved(<%=oRs("fac_faq_key").value%>);" class="ref"><span class="button">
<i class="fa fa-fw fa-check" title="<%=L("lcl_faq_mld_3")%>"></i>
<%=L("lcl_faq_mld_3")%></span>
</div>
</div>
</li>
<%
oRs.MoveNext();
}
oRs.close();
%>
</ul>
<div id="faqfoot"><%=L("lcl_faq_mld_4")%></div>
<%
var buttons = [{title: L("lcl_faq_mld_5"), icon: "delete.png", action: "FcltMgr.closeDetail(window, { cancel: true })"}];
CreateButtons(buttons, {showIcons: true});
%>
</body>
</html>