516 lines
23 KiB
Plaintext
516 lines
23 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: mld_close_confirm.asp
|
|
Description: Afmelden van een melding. maar dan met een bevestiging
|
|
Parameters: mld_key Meldingnummer array (keys)
|
|
Context: A Rechtstreeks vanuit overzicht meldingen
|
|
B Rechtstreeks vanuit showmode melding
|
|
C Vanuit mld_show_melding als soort 'directklaar'
|
|
D Na afsluiten van laatste opdracht en eventueel 'autoclose' melding
|
|
Bij A en B ook eventueel checkbox of alle opdrachten ook dicht moeten
|
|
|
|
*/
|
|
var mld_key_arr = getQParamIntArray("mld_key");
|
|
if (mld_key_arr.length)
|
|
var LOCKED_USER_OK = { "xmlnode": "melding", "key": mld_key_arr[0] };
|
|
|
|
%>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/iface.inc" -->
|
|
<!-- #include file="../Shared/selector.inc" -->
|
|
<!-- #include file="../ins/ins.inc" -->
|
|
<!-- #include file="mld_flexkenmerk.inc" -->
|
|
<!-- #include file="mld.inc" -->
|
|
<%
|
|
|
|
FCLTHeader.Requires({ plugins: ["suggest", "jQuery", "kenmerk"] });
|
|
|
|
// LET OP: Het eerste stuk komt (nog) letterlijk ook zo terug bij mld_close_save.asp
|
|
var verynew = getQParamInt("verynew", 0) == 1;
|
|
var lastopdr = (getQParamInt("lastopdr", 0) == 1)
|
|
var transitParam = buildTransitParam(["mld_key", "verynew", "lastopdr"]);
|
|
|
|
var has_opdr_opm = getQParamInt("has_opdr_opm", 0) == 1;
|
|
|
|
var result = {};
|
|
var tobeclosed = 0;
|
|
var firstCloseOrders = 0;
|
|
var ingesloten = [];
|
|
var canCloseOpdr = [];
|
|
var mldRequireCnt = 0; // Aantal meldingen waarvan minstens één verplicht kenmerk en/of object niet is ingevuld.
|
|
var reqStatusEmptyMelding = [];
|
|
var reqStatusEmptyMelding_key = -1;
|
|
var reqStatusEmptyMeldingnr = "";
|
|
var futureOpdr = false;
|
|
var object_ontbreekt = false;
|
|
// Bepaal de meldingen in de selectie die
|
|
// ook echt afgemeld kunnen of mogen worden.
|
|
|
|
for (var i = 0; i < mld_key_arr.length; i++)
|
|
{
|
|
var this_mld = mld.func_enabled_melding(mld_key_arr[i], { verynew: verynew });
|
|
if (this_mld.canClose || this_mld.canCloseWithOrder) // Afmelden meldingen zonder en met zijn verplichte opdracht(en) afmelden.
|
|
{
|
|
// Zijn er nog kenmerken die nu wel verplicht zijn of een object?
|
|
var afwezig = mld.hasRequiredStatusEmptyMelding(mld_key_arr[i], 5); // Melding status "Afgemeld(5)"
|
|
if (afwezig.kenm_ontbreekt.length || afwezig.obj_ontbreekt)
|
|
{
|
|
mldRequireCnt++;
|
|
var mldnr = mld.mld_prefix(mld_key_arr[i]) + mld_key_arr[i];
|
|
if (afwezig.kenm_ontbreekt.length)
|
|
reqStatusEmptyMelding.push(L("lcl_mld_req_status_empty").format(afwezig.kenm_ontbreekt.join(", "), mldnr) );
|
|
if (afwezig.obj_ontbreekt)
|
|
{
|
|
reqStatusEmptyMelding.push(L("lcl_mld_req_obj").format(mldnr) );
|
|
object_ontbreekt = true;
|
|
}
|
|
reqStatusEmptyMelding_key = mld_key_arr[i];
|
|
reqStatusEmptyMeldingnr = mldnr;
|
|
}
|
|
// Zijn er nog lopende opdrachten?
|
|
var canCloseOpdrOfMld = [];
|
|
var sql = "SELECT o.mld_opdr_key"
|
|
+ " FROM mld_opdr o"
|
|
+ " WHERE o.mld_melding_key IN (" + mld_key_arr[i] + ")"
|
|
+ " AND o.mld_statusopdr_key NOT IN (1, 6, 7, 9)"
|
|
var oRsOM = Oracle.Execute(sql);
|
|
var closeAllOrders = true;
|
|
futureOpdr = false;
|
|
while (!oRsOM.eof)
|
|
{ // Voor elke opdracht van een melding controleren of deze afgemeld mag worden
|
|
var this_opdr = mld.func_enabled_opdracht(oRsOM("mld_opdr_key").Value);
|
|
var mld_opdr = this_opdr.mld_opdr;
|
|
sql = "SELECT mld_opdr_einddatum"
|
|
+ " FROM mld_opdr o"
|
|
+ " WHERE o.mld_opdr_key = " + oRsOM("mld_opdr_key").Value;
|
|
var oRs = Oracle.Execute(sql);
|
|
|
|
var mld_opdr_einddatum = oRs("mld_opdr_einddatum").Value;
|
|
var kosten_verplicht_afm = mld_opdr.tonen_totaal && (mld_opdr.typeopdr_kosten_verplicht & 2 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 2));
|
|
var opdr_kosten = mld_opdr.t_cost;
|
|
|
|
// Als Setting S("mld_ord_afmeld_future") niet is gezet (0): Opdrachten waarvan de einddatum in de toekomst ligt mogen niet worden afgemeld.
|
|
if (!this_opdr.canClose || (S("mld_ord_afmeld_future") != 1 && (mld_opdr_einddatum && mld_opdr_einddatum > new Date())) || (kosten_verplicht_afm && opdr_kosten == 0))
|
|
{ // Geen autorisatie om alle opdrachten van een melding af te melden of opdrachten in de toekomst met setting S("mld_ord_afmeld_future") niet gezet-->dan geen enkele van die melding
|
|
closeAllOrders = false;
|
|
if (S("mld_ord_afmeld_future") != 1 && (mld_opdr_einddatum && mld_opdr_einddatum > new Date()))
|
|
futureOpdr = true; // Indien opdrachten in de toekomst en setting S("mld_ord_afmeld_future") niet gezet (0) dan mag je de melding niet afmelden
|
|
}
|
|
oRs.Close();
|
|
canCloseOpdrOfMld.push(oRsOM("mld_opdr_key").Value);
|
|
oRsOM.MoveNext();
|
|
}
|
|
oRsOM.Close();
|
|
// Geen autorisatie om alle opdrachten van een melding af te melden of opdrachten in de toekomst met setting S("mld_ord_afmeld_future") niet gezet (0)
|
|
// --> dan geen enkele van die melding
|
|
if (closeAllOrders)
|
|
{
|
|
for (var j = 0; j < canCloseOpdrOfMld.length; j++)
|
|
{
|
|
canCloseOpdr.push(canCloseOpdrOfMld[j]);
|
|
}
|
|
}
|
|
|
|
if (!futureOpdr)
|
|
{ // Indien opdrachten in de toekomst en setting S("mld_ord_afmeld_future") niet gezet (0) dan mag je de melding niet afmelden
|
|
ingesloten.push(mld_key_arr[i]);
|
|
tobeclosed++;
|
|
|
|
if (this_mld.canCloseWithOrder) // Meldingen waarvan eerst de opdrachten afgemeld dienen te worden.
|
|
firstCloseOrders++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Als er meerder meldingen zijn waarvan een verplicht kenmerk niet is ingevuld, dan abort en melding.
|
|
// Als er meerdere meldingen zijn en een verplicht kenmerk is niet ingevuld, dan wordt er verderop alleen een melding met twee buttons getoond.
|
|
// abort with required status message only with multi-action. 1 call can continue with required status message.
|
|
user.anything_todo_or_abort(!(reqStatusEmptyMelding.length && tobeclosed > 1) && !object_ontbreekt, reqStatusEmptyMelding.join("<br />"));
|
|
user.auth_required_or_abort(!(mld_key_arr.length == 1 && futureOpdr), L("lcl_mld_einddatum_to_late_mld")); // Bij enkele melding met toekomstige opdrachten een aparte melding geven
|
|
user.anything_todo_or_abort(tobeclosed > 0); // We klagen niet over enkele wel en enkele niet
|
|
|
|
var canCloseCtr = [];
|
|
var srtContKeyArray = [];
|
|
var controleModeArray = [-1, -1, -1]; // De drie controlemoden zijn niet aanwezig (-1);
|
|
var thirdpartypresent = false;
|
|
for (var i = 0; i < ingesloten.length; i++)
|
|
{
|
|
var mld_melding = mld.mld_melding_info(ingesloten[i]);
|
|
// determine whether there is a third party to notify in one of the calls
|
|
thirdpartypresent = thirdpartypresent || (mld_melding.canholdthirdparty && mld_melding.email_ext);
|
|
|
|
if (i == 0) lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY"); // Neem voor informatie de eerste melding.
|
|
|
|
if (mld_melding.meldbron_key == 10 && mld_melding.kto_type == 'T')
|
|
{
|
|
var sql = "SELECT dsc.ins_deel_key"
|
|
+ " , dsc.ins_srtcontrole_key"
|
|
+ " , ctr_disc_params_controle_type"
|
|
+ " , dsc.ins_deelsrtcontrole_freezedate"
|
|
+ " FROM ins_deelsrtcontrole dsc"
|
|
+ " , ins_srtcontrole isc"
|
|
+ " , ctr_disc_params cdp"
|
|
+ " WHERE dsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
|
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
|
+ " AND dsc.ins_deelsrtcontrole_key = " + mld_melding.kto_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
{
|
|
// De controle moet aanwezig zijn. Maar een inspectie kan ook verwijderd zijn!
|
|
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
|
{srtcont_key: oRs("ins_srtcontrole_key").Value,
|
|
deelsrtcont_key: mld_melding.kto_key,
|
|
scen_key: 1
|
|
});
|
|
if (this_ins.canInspFinishMjb)
|
|
{
|
|
canCloseCtr.push({ ins_key: oRs("ins_deel_key").Value,
|
|
srtcont_key: oRs("ins_srtcontrole_key").Value,
|
|
deelsrtcont_key: mld_melding.kto_key,
|
|
controlemode: oRs("ctr_disc_params_controle_type").Value,
|
|
freezedateyear: new Date(oRs("ins_deelsrtcontrole_freezedate").Value).getFullYear()
|
|
});
|
|
srtContKeyArray.push(oRs("ins_srtcontrole_key").Value);
|
|
controleModeArray[oRs("ctr_disc_params_controle_type").Value - 1] = oRs("ctr_disc_params_controle_type").Value; // Controlemode 2 op de 2de plek van de Array invullen [-1, 2, -1].
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// De -1 waarden in de controlemode Array verwijderen
|
|
for (var i = 2; i >= 0; i--)
|
|
{
|
|
if (controleModeArray[i] == -1) controleModeArray.splice(i, 1);
|
|
}
|
|
%>
|
|
<html>
|
|
<head>
|
|
<% FCLTHeader.Generate(); %>
|
|
<script type="text/javascript">
|
|
|
|
function mld_opmpaste()
|
|
{
|
|
var params = FcltMgr.dialogArguments()||{};
|
|
$("#opmerk").val($("#opmerk").val() + params.opdr_opm);
|
|
$("#opmpaste").css("visibility", "hidden"); // icon na invoegen opmerking onzichtbaar maken zodat geen tweede keer toegevoegd kan worden.
|
|
}
|
|
|
|
function mld_cancel()
|
|
{
|
|
FcltMgr.closeDetail(window, { cancel: true });
|
|
}
|
|
|
|
function mld_close_callback(json, textStatus)
|
|
{
|
|
if (json.success)
|
|
{
|
|
if ($("#ctr_close").is(":checked"))
|
|
{
|
|
<% for (var i = 0; i < canCloseCtr.length; i++)
|
|
{ %>
|
|
var maxFreezeDate = new Date(<%=canCloseCtr[i].freezedateyear%>, 11, 31, 23, 59, 59, 999); // 31 December of freezedate year at midnight.
|
|
var data = { savemode: 'C',
|
|
ins_keys: <%=canCloseCtr[i].ins_key%>,
|
|
srtcont_key_arr: <%=canCloseCtr[i].srtcont_key%>,
|
|
//deelsrtcont_key wordt niet gebruikt door ins_inspect_save.asp
|
|
finish: 1,
|
|
deelsrtcontrole_datum: (new Date()).getTime() > maxFreezeDate.getTime()? maxFreezeDate.getTime() : (new Date()).getTime(),
|
|
sel_controlemode: $("#sel_controlemode" + <%=canCloseCtr[i].controlemode%>).val()
|
|
};
|
|
protectRequest.dataToken(data);
|
|
|
|
$.ajax({ type: "POST",
|
|
url: "../ins/ins_inspect_save.asp",
|
|
data: data,
|
|
datatype: "json",
|
|
async: false
|
|
});
|
|
<% } %>
|
|
}
|
|
FcltCallbackClose(json);
|
|
}
|
|
else
|
|
FcltCallbackClose(json);
|
|
}
|
|
|
|
function mld_close(close)
|
|
{
|
|
if (!validateForm("u2"))
|
|
return false;
|
|
|
|
// Als voor alle meldingen geldt dat alle opdrachten eerst afgemeld moeten worden,
|
|
// en het vinkje "x openstaande opdracht(en) ook afmelden?" is niet gezet, dan een melding geven.
|
|
if (<%=tobeclosed%> == <%=firstCloseOrders%> && !$("#opdr_close").is(":checked"))
|
|
{
|
|
FcltMgr.alert(L("lcl_mldclose_after_opdrclose"));
|
|
return false;
|
|
}
|
|
|
|
$.post($("form[name=closeform]")[0].action, $("[name=closeform]").serialize(), mld_close_callback, "json");
|
|
return true; // disable button
|
|
}
|
|
|
|
function mld_edit()
|
|
{
|
|
FcltMgr.closeDetail(window, { cancel: false, succes: false, key: <%=reqStatusEmptyMelding_key%>, mldnr: "<%=safe.jsstring(reqStatusEmptyMeldingnr)%>", edit: true });
|
|
}
|
|
|
|
function PasteFromSelectbox()
|
|
{
|
|
if ($("#stdopmerk :selected").val() > -1)
|
|
{
|
|
$("#opmerk").focus();
|
|
var PastedText = $("#stdopmerk :selected")[0].getAttribute("afmeldtekstoms");
|
|
$("#opmerk").val($("#opmerk").val() + ($("#opmerk").val() != ""? "\n" : "") + PastedText);
|
|
}
|
|
}
|
|
|
|
function ctrcloseToggler(deze)
|
|
{
|
|
var ctrclose = $(deze).prop('checked');
|
|
if (ctrclose)
|
|
{
|
|
<% for (var i = 0; i < controleModeArray.length; i++)
|
|
{ %>
|
|
$("#sel_controlemode" + <%=controleModeArray[i]%>).addClass("required");
|
|
<% } %>
|
|
$("#inscontrolemode").show();
|
|
FcltMgr.resized(window);
|
|
}
|
|
else
|
|
{
|
|
$("#inscontrolemode").hide();
|
|
<% for (var i = 0; i < controleModeArray.length; i++)
|
|
{ %>
|
|
$("#sel_controlemode" + <%=controleModeArray[i]%>).removeClass("required");
|
|
<% } %>
|
|
}
|
|
}
|
|
|
|
$(function()
|
|
{
|
|
$("#opmerk").focus();
|
|
<% if (has_opdr_opm && S("mld_add_mldopmerk_on_opdrclose") == 1)
|
|
{ %>
|
|
mld_opmpaste();
|
|
<% } %>
|
|
PasteFromSelectbox();
|
|
$("#ctr_close").trigger("change");
|
|
});
|
|
</script>
|
|
</head>
|
|
|
|
<body class="modal" id="mod_mldclose">
|
|
<% MODAL_START(); %>
|
|
<form id="closeform" name="closeform" action="mld_close_save.asp?x=x<%=transitParam%>" method="post">
|
|
<%
|
|
var prefix = "";
|
|
var oldRemark = "";
|
|
var req = false;
|
|
var stdmld_arr = [];
|
|
var disc_arr = [];
|
|
var canNoti = false;
|
|
|
|
sql = "SELECT ''"
|
|
+ " FROM fac_srtnotificatie"
|
|
+ " WHERE fac_srtnotificatie_code = 'MLDAFM' AND fac_srtnotificatie_mode > 0";
|
|
oRs = Oracle.Execute(sql);
|
|
var canSrtNoti = !oRs.eof;
|
|
oRs.Close();
|
|
|
|
sql = "SELECT DISTINCT mld_stdmelding_afmeldtext"
|
|
+ " , mld_melding_opmerking"
|
|
+ " , ins_srtdiscipline_prefix"
|
|
+ " , std.mld_stdmelding_key"
|
|
+ " , std.mld_stdmelding_notify"
|
|
+ " , md.ins_discipline_key"
|
|
+ " , mdp.mld_disc_params_notify"
|
|
+ " FROM mld_melding mm"
|
|
+ " , mld_stdmelding std"
|
|
+ " , mld_discipline md"
|
|
+ " , mld_disc_params mdp"
|
|
+ " , ins_srtdiscipline sd"
|
|
+ " WHERE mld_melding_key IN (" + ingesloten.join(",") + ")"
|
|
+ " AND mm.mld_stdmelding_key = std.mld_stdmelding_key"
|
|
+ " AND std.mld_ins_discipline_key = md.ins_discipline_key"
|
|
+ " AND md.ins_discipline_key = mdp.mld_ins_discipline_key"
|
|
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key";
|
|
oRs = Oracle.Execute(sql);
|
|
while (!oRs.eof)
|
|
{
|
|
prefix = oRs("ins_srtdiscipline_prefix").Value || "";
|
|
oldRemark = oRs("mld_melding_opmerking").Value;
|
|
req = req || ((S("mld_afhandeling_required_for_close") || oRs("mld_stdmelding_afmeldtext").value == 2) && (oldRemark == null));
|
|
stdmld_arr[stdmld_arr.length] = oRs("mld_stdmelding_key").Value;
|
|
disc_arr[disc_arr.length] = oRs("ins_discipline_key").Value;
|
|
if (canSrtNoti && !canNoti)
|
|
{
|
|
canNoti = oRs("mld_disc_params_notify").Value == 1 ||
|
|
(oRs("mld_disc_params_notify").Value == 2 && oRs("mld_stdmelding_notify").Value == 1);
|
|
}
|
|
oRs.MoveNext();
|
|
}
|
|
oRs.Close();
|
|
|
|
var txt = "";
|
|
if (lastopdr)
|
|
txt = L("lcl_mld_close_order_close_call") + "<br>";
|
|
|
|
// Mag ik kennisbank raadplegen en standaard-antwoorden knippen/plakken
|
|
var authFaq = (S("faq_enabled") == 1) && user.checkAutorisation("WEB_FAQFOF", true);
|
|
var buttons = [];
|
|
if (authFaq && authFaq.PRSwritelevel < 9) // schrijfrechten op WEB_FAQFOF nodig
|
|
{
|
|
var goegel = "FcltMgr.openDetail('/appl/fac/fac_faq_search.asp?urole=bo&autosearch=1'"
|
|
+ "+'&stdm_str='+'" + stdmld_arr.join(",") + "'"
|
|
+ "+'&disc_key_str='+'" + disc_arr.join(",") + "'"
|
|
+ ", '" + L("lcl_faq_kennisbank") + "') ";
|
|
buttons.push({ icon: "fa-lightbulb", title: L("lcl_faq_kennisbank"), action: goegel, importance: 3});
|
|
}
|
|
|
|
MODAL_BLOCK_START("mldClose", txt + L("lcl_mld_finish_close") + (ingesloten.length == 1? " " + prefix + ingesloten[0]: ""),
|
|
{ buttons: buttons, icon: "fa-flag-checkered", ishtmlsafe: true });
|
|
|
|
var sql_from_t = " FROM mld_afmeldtekst"
|
|
+ " WHERE ((mld_stdmelding_key IN (" + stdmld_arr.join(",") + ") )"
|
|
+ " OR (mld_stdmelding_key IS NULL AND mld_ins_discipline_key IN (" + disc_arr.join(",") + ") )"
|
|
+ " OR (mld_stdmelding_key IS NULL AND mld_ins_discipline_key IS NULL))"
|
|
+ " AND BITAND(mld_afmeldtekst_usefor, 1) = 1";
|
|
|
|
var sql_from_o = " FROM mld_opdr mo"
|
|
+ " WHERE mo.mld_melding_key = " + ingesloten[0]
|
|
+ " AND mo.mld_statusopdr_key in (6, 7, 9)" // status=afgemeld, verwerkt en afgerond
|
|
+ " AND mo.mld_opdr_opmerking IS NOT NULL";
|
|
|
|
var sql = "SELECT SUM(aantal) aantal"
|
|
+ " FROM ( SELECT COUNT(*) aantal" + sql_from_t
|
|
+ (ingesloten.length == 1
|
|
? " UNION SELECT COUNT(*)" + sql_from_o
|
|
: ""
|
|
)
|
|
+ ")";
|
|
oRs = Oracle.Execute(sql);
|
|
var aantal_teksten = oRs("aantal").Value;
|
|
oRs.Close();
|
|
if (aantal_teksten > 0)
|
|
{
|
|
sql = "SELECT mld_afmeldtekst_key"
|
|
+ " , " + lcl.xsqla('mld_afmeldtekst_naam', 'mld_afmeldtekst_key')
|
|
+ " , " + lcl.xsql('mld_afmeldtekst_omschrijving', 'mld_afmeldtekst_key') + " afmeldtekstoms"
|
|
+ " , 2 src"
|
|
+ sql_from_t;
|
|
if (ingesloten.length == 1)
|
|
{
|
|
sql += " UNION "
|
|
+ "SELECT mo.mld_opdr_key"
|
|
+ " ," + safe.quoted_sql(L("lcl_opdr_closeremark") + " /") +"|| mo.mld_opdr_bedrijfopdr_volgnr"
|
|
+ " , mo.mld_opdr_opmerking"
|
|
+ " , 1"
|
|
+ sql_from_o
|
|
}
|
|
sql += " ORDER BY 4,2";
|
|
|
|
FCLTselector("stdopmerk",
|
|
sql,
|
|
{ label: L("lcl_mld_inf_std_opm"),
|
|
initKey: -1,
|
|
emptyOption: (S("mld_sel_single_closingtext")==2 && aantal_teksten==1 ? null : ""),
|
|
extraParamValue: "afmeldtekstoms",
|
|
onChange: "PasteFromSelectbox()"});
|
|
}
|
|
|
|
// tekstveld waarin informatie over de afhandeling vermeld kan worden
|
|
if (ingesloten.length == 1 && oldRemark)
|
|
{
|
|
%><div><%=safe.html(oldRemark)%></div><%
|
|
}
|
|
|
|
RWTEXTAREATR("opmerk", "fldtxt" + (req?" required":""), "", "", { tdhtml_ta: "colspan='2'", html: "rows='8'" });
|
|
if (canNoti)
|
|
RWCHECKBOXTR("noti_caller", "fld_noti_caller", L("lcl_mld_noti_caller"), (S("mld_close_noti_default_off") == 1 ? 0 : 1), { boxfirst: true });
|
|
if (thirdpartypresent)
|
|
{
|
|
RWCHECKBOXTR("notifyExt", "fld_notifyExt", L("lcl_mld_noti_ext").format(safe.html(mld_melding.naam_ext ? mld_melding.naam_ext : mld_melding.email_ext)), false, { boxfirst: true });
|
|
}
|
|
|
|
if (canCloseOpdr.length)
|
|
{ %>
|
|
<tr>
|
|
<td colspan="2">
|
|
<% CHECKBOX("fldopdrclose", "opdr_close", S("mld_close_opdr_default")); %>
|
|
<label for="opdr_close"><%=canCloseOpdr.length + L("lcl_mld_ord_close_all")%></label>
|
|
</td>
|
|
</tr>
|
|
<% }
|
|
if (canCloseCtr.length)
|
|
{ %>
|
|
<tr>
|
|
<td colspan="2">
|
|
<% CHECKBOX("fldctrclose", "ctr_close", S("mld_close_ctr_default"), { html: "onChange='ctrcloseToggler(this)'" }); %>
|
|
<label for="ctr_close"><%=canCloseCtr.length + L("lcl_mld_ctr_close_all")%></label>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<div id="inscontrolemode" style="display: none">
|
|
<table>
|
|
<% for (var i = 0; i < controleModeArray.length; i++)
|
|
{ // Maximaal 3 types.
|
|
var sctype;
|
|
switch (controleModeArray[i])
|
|
{
|
|
case 1: sctype = L("lcl_ins_srtcontrole_insp"); break;
|
|
case 2: sctype = L("lcl_ins_srtcontrole_repl"); break;
|
|
case 3: sctype = L("lcl_ins_srtcontrole_cert"); break;
|
|
}
|
|
|
|
sql = "SELECT ins_controlemode_key"
|
|
+ " , " + lcl.xsqla('ins_controlemode_oms', 'ins_controlemode_key')
|
|
+ " FROM ins_controlemode"
|
|
+ " WHERE ins_srtcontrole_type = " + controleModeArray[i]
|
|
+ " ORDER BY 2";
|
|
|
|
// Methode is voor de status Afgemeld(5) en Historie/Verwerkt(6) altijd ingevuld.
|
|
// Required wordt gezet als de selectbox zichtbaar wordt.
|
|
FCLTselector("sel_controlemode" + controleModeArray[i],
|
|
sql,
|
|
{ label: L("lcl_ins_controle_mode") + " " + sctype,
|
|
initKey: -1,
|
|
emptyOption: L("lcl_select_controlemode"),
|
|
selectjustone: true
|
|
});
|
|
}
|
|
%> </table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<% }
|
|
MODAL_BLOCK_END();
|
|
|
|
// De verplichte afmeld (close) kenmerken tonen bij het afmelden. Vooralsnog worden de andere verplichte kenmerken niet getoond.
|
|
generateFlexKenmerkBlock({stdm_arr : [mld_melding.stdm],
|
|
mld_key : mld_melding.mld_key,
|
|
close : true,
|
|
showConfidential : this_mld.canViewConfidential
|
|
});
|
|
|
|
|
|
buttons = [];
|
|
if (has_opdr_opm)
|
|
buttons.push({title: L("lcl_mld_opm_paste"), icon: "fa-clipboard", action: "mld_opmpaste()", id: "opmpaste", importance: 3});
|
|
buttons.push({title: L("lcl_close"), icon: "fa-fclt-save", action: "mld_close()", singlepress: true, id: "btn_close_submit", importance: 1 })
|
|
buttons.push({title: L("lcl_cancel"), icon: "fa-fclt-cancel", action: "mld_cancel()", importance: 3 });
|
|
SIMPLE_BLOCK_START();
|
|
CreateButtons(buttons);
|
|
SIMPLE_BLOCK_END();
|
|
IFACE.FORM_END();
|
|
%>
|
|
</form>
|
|
<% MODAL_END(); %>
|
|
</body>
|
|
</html>
|
|
<% ASPPAGE_END(); %>
|