Files
Facilitor/APPL/MLD/mld.js
Koen Reefman 72c9bcb868 SGGR#90933 en ook voor afwijzen
svn path=/Website/branches/v2025.3/; revision=70777
2025-11-03 09:04:21 +00:00

243 lines
8.7 KiB
JavaScript

/*
$Revision$
$Id$
File: mld.js
*/
function doAccept(json, callback)
{
json.multi |= 0;
if (setting_mld_accept_confirm)
{
var url = "../mld/mld_accept_confirm.asp?urole=" + urole
+ "&mld_key=" + json.mld_key
+ "&multi=" + json.multi
+ "&maybeDouble=" + (json.maybeDouble? 1 : 0)
FcltMgr.openModalDetail(url, L("lcl_mld_complain"), {callback: callback});
}
else
{
FcltMgr.confirm(L("lcl_mld_accept_1") + (json.prefix || "") + json.mld_key + L("lcl_mld_accept_2"), { autoconfirm: json.autoConfirm || json.multi }, function() {
var data = {
mld_key: json.mld_key,
multi: json.multi,
maybeDouble: (json.maybeDouble ? 1 : 0)
};
protectRequest.dataToken(data);
$.post("../mld/mld_accept_save.asp",
data,
FcltCallbackAndThen(callback),
"json");
});
}
}
function doublecheckCallback(json, modalParams)
{
var mld_key_arr = json.mld_key;
var multi = json.multi;
var addopdr = json.addopdr;
var reloadmld = json.reloadmld;
var autoConfirm = json.autoConfirm;
var reject = json.reject;
var prefix = json.prefix||"";
var urole = json.urole;
function mldCallback(json1, textStatus1)
{
if (json1.edit)
{
if (json.list == "1")
{ // mld_key_arr bevat (wellicht) meerdere waarden, en json1.key bevat de waarde die gewijzigd dient te worden.
FcltMgr.openDetail("appl/mld/mld_melding.asp?urole=" + urole + "&mld_key=" + json1.key + "&embedded=1&mode=edit", L("lcl_mld_complain") + " " + json1.mldnr);
}
else
{ // mld_key_arr bevat 1 waarde en is identiek aan json1.key.
location.href = "mld_edit_melding.asp?urole=" + urole + "&mld_key=" + mld_key_arr + "&embedded=1";
}
}
else if (addopdr)
{
FcltMgr.setTitle(L("lcl_mld_new_order"));
FcltMgr.closeDetail(window, { redirect: "../mld/mld_opdr.asp?urole=bo&mld_key=" + mld_key_arr });
}
else
{
if (reloadmld) {
if (json.reject) {
mld_melding_rejected();
} else {
parent.location.href = "mld_melding.asp?urole=" + urole + "&mld_key=" + mld_key_arr + "&embedded=1";
}
}
else
FcltCallbackRefresh({success: true});
}
}
if (json.maybeDouble && !(multi == 1))
{ // Er kunnen dubbele meldingen zijn.
function mldDoubleCallback(data, text)
{
// Drie modes
// 1) Het is een dubbele melding. Laat de melding verwijzen naar de moedermelding
// 2) Het is geen dubbele melding. Zet de melding op geaccepteerd (Button accepteren)
// 3) Melding niet accepteren/afwijzen (Button annuleren)
if (data.mode == 1)
{ // De melding verwijzen naar moedermelding inclusief statusupdate.
// Geen verschil voor accepteren of afwijzen
var data = { mld_key: mld_key_arr
, parent_key: data.parent_key
};
protectRequest.dataToken(data);
$.post("mld_link.asp",
data,
FcltCallbackAndThen(function (json, textStatus)
{ // Melding wordt een kindmelding. Daarom geen opdracht meer aangeven, ook al is dit aangegeven. Maar reload de melding.
addopdr = false;
reloadmld = true;
mldCallback(json, textStatus);
}),
"json");
}
else if (data.mode == 2)
{ // Zet de melding op geaccepteerd/afwijzen
if (reject)
{ // Afwijzen
url = "../mld/mld_reject.asp?urole=" + urole + "&mld_key=" + mld_key_arr
FcltMgr.openModalDetail(url, L("lcl_mld_complain") + ' ' + prefix + mld_key_arr, {callback: mldCallback});
}
else // Accepteren
{
json.autoConfirm = true;
doAccept(json, mldCallback);
}
}
//else if (data.cancel) // Niets doen
}
url = "../mld/mld_double.asp?urole=" + urole
+ "&mld_key=" + mld_key_arr;
FcltMgr.openModalDetail(url, L("lcl_mld_similarcalls"), {callback: mldDoubleCallback});
}
else
{
if (reject)
{ // Afwijzen
url = "../mld/mld_reject.asp?urole=" + urole + "&mld_key=" + mld_key_arr
FcltMgr.openModalDetail(url, L("lcl_mld_complain"), {callback: mldCallback});
}
else // Accepteren
{
json.autoConfirm = autoConfirm || (addopdr ? true : false);
doAccept(json, mldCallback)
}
}
}
function opdrCloseCallback(json, textStatus)
{
if (json.canCloseMld) // zal nooit multi zijn
{
if (json.message)
FcltCallback(json, textStatus); // Geef message weer
var url = "../mld/mld_close_confirm.asp?mld_key=" + json.mld_key + "&has_opdr_opm=" + (json.opdr_opm?1:0);
url += "&lastopdr=1";
FcltMgr.openModalDetail(url, L("lcl_mld_final_close"),
{ width: 400,
callback: FcltMgr.reload,
alwaysCallback: true, // ook bij cancel
opdr_opm: json.opdr_opm // kan te lang zijn voor url
});
}
else
{
FcltCallbackRefresh(json, textStatus);
}
}
function opdrAcceptCallback(json, textStatus)
{
if (json.message)
FcltCallback(json, textStatus); // Geef message weer
window.parent.FcltMgr.reload();
}
function showObjDetail(oid)
{
FcltMgr.openDetail("appl/ins/ins_deel.asp?urole=bo&ins_key=" + oid);
}
function showObjListTab(oid)
{
FcltMgr.openDetail("appl/ins/ins_list.asp?inacObjIncl=1&mld_key=" + oid, L("lcl_mld_objects"));
}
function showAnswer2(faq_key)
{
var x = $("#"+faq_key)[0];
$(x.children[1]).css("display", "block");
$(x.children[0]).remove();
}
function mld_show_kennisbank(data)
{
var $tbl = $("#mldFaq").find("table");
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)
{
for (var i = 0; i < data.fixed_faq.length; i++)
{
var faq_key = data.fixed_faq[i].faq_key;
var $newrow = $("<tr class='faqcollapsable faqcollapsed "
+data.fixed_faq[i].faq_type+(data.fixed_faq[i].extraClass?data.fixed_faq[i].extraClass:"")
+"'><td class='fixedfaqquestion lhint'>" + safe.html(data.fixed_faq[i].question) + "</td></tr>")
.click(function () {
$(this).next().toggle();
$(this).toggleClass('faqcollapsed');
FcltMgr.resized(window);
});
$tbl.append($newrow);
var safe_answer = data.fixed_faq[i].safe_answer;
if (data.fixed_faq[i].safe_answer2)
{
safe_answer += "<div class='faqanswer2' id='"+faq_key+"'>"
+ " <a name='"+faq_key+"' href='javascript:showAnswer2("+faq_key+")'>"+L("lcl_faq_answer2")+"</a>"
+ " <div style='display:none;'>"
+ data.fixed_faq[i].safe_answer2
+ " </div>"
+ "</div>";
}
if (data.fixed_faq[i].hurl)
safe_answer += "<br><a href='{0}' target='_new'>{1}</a>".format(safe.htmlattr(data.fixed_faq[i].hurl), safe.html(data.fixed_faq[i].hlnk));
else if (data.fixed_faq[i].has_kenm)
safe_answer += "<div class='faqlink'><a href='javascript:showFaq("+data.fixed_faq[i].faq_key+")'>"+L('lcl_more')+"</a></div><br>";
$tbl.append("<tr style='display:none' class='"+data.fixed_faq[i].faq_type+"'><td class='fixedfaqanswer'><span class='fclthtml'>" + safe_answer + "</span></td></tr>");
}
$("#mldFaq").show();
}
if (!$tbl.find("tr").length)
{
$tbl.empty(); // Redundant ?
$("#mldFaq").hide();
}
FcltMgr.resized(window);
}