260 lines
10 KiB
Plaintext
260 lines
10 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: mld_forward.asp
|
|
Description: Doorsturen van een opdracht naar een andere vakgroep
|
|
Parameters: mld_melding_key
|
|
|
|
Context:
|
|
Note: Merk op dat je ook naar vakgroepen mag sturen waar je normaal
|
|
geen rechten voor hebt!
|
|
Als S("mld_forward_all") == 0 dan alleen naar dezelfde srtdiscipline
|
|
|
|
*/ %>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/iface.inc" -->
|
|
<!-- #include file="../Shared/disciplineselector.inc" -->
|
|
<!-- #include file="../Shared/stdmeldingselector.inc" -->
|
|
<!-- #include file="../Shared/persoonselector.inc" -->
|
|
<!-- #include file="mld.inc" -->
|
|
<%
|
|
FCLTHeader.Requires({ plugins: ["jQuery"],
|
|
js: [] })
|
|
%>
|
|
<html>
|
|
<head>
|
|
<% FCLTHeader.Generate(); %>
|
|
<%
|
|
var mld_key = getQParamInt('mld_key');
|
|
var opmerk = getFParam("opmerk", "");
|
|
var this_mld = mld.func_enabled_melding(mld_key);
|
|
user.auth_required_or_abort(this_mld.canForward || this_mld.canFixMelding);
|
|
|
|
// AUTORISATIEPARAMETERS
|
|
var urole = getQParamSafe("urole");
|
|
var fronto = urole == "fo";
|
|
var backo = urole == "bo";
|
|
var minfo = urole == "mi";
|
|
var frontend = (!fronto & !backo & !minfo);
|
|
|
|
var autfunction = '';
|
|
if (fronto)
|
|
autfunction = 'WEB_MLDFOF';
|
|
else if (backo)
|
|
autfunction = 'WEB_MLDBOF';
|
|
else
|
|
autfunction = 'WEB_MLDUSE';
|
|
|
|
var authparams = user.checkAutorisation(autfunction); // Dit is nog ongeacht de melding
|
|
|
|
var mld_melding = mld.mld_melding_info(mld_key);
|
|
var stdm_info = mld.mld_stdmeldinginfo(mld_melding.stdm);
|
|
var eigenMelding = user.isCollega(mld_melding.melder_key);
|
|
|
|
lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
|
|
|
|
|
// TODO: Deze gegevens kunnen nu ook opgehaald worden uit mld_melding die bovenin al is opgehaald.
|
|
sql = "SELECT sm.mld_ins_discipline_key"
|
|
+ " , sm.mld_stdmelding_key"
|
|
+ " , mm.mld_melding_opmerking"
|
|
+ " , " + lcl.xsqla('md.ins_discipline_omschrijving', 'md.ins_discipline_key')
|
|
+ " , sd.ins_srtdiscipline_prefix"
|
|
+ " , md.ins_srtdiscipline_key"
|
|
+ " FROM mld_melding mm"
|
|
+ " , mld_stdmelding sm"
|
|
+ " , mld_discipline md"
|
|
+ " , ins_srtdiscipline sd"
|
|
+ " WHERE mld_melding_key = " + mld_key
|
|
+ " AND mm.mld_stdmelding_key = sm.mld_stdmelding_key"
|
|
+ " AND sm.mld_ins_discipline_key = md.ins_discipline_key"
|
|
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key";
|
|
|
|
oRs = Oracle.Execute(sql);
|
|
mld_disc = oRs("mld_ins_discipline_key").Value;
|
|
srt_disc = oRs("ins_srtdiscipline_key").Value;
|
|
mld_stdm = oRs("mld_stdmelding_key").Value;
|
|
mld_opmr = oRs("mld_melding_opmerking").Value;
|
|
prefix = oRs("ins_srtdiscipline_prefix").Value || "";
|
|
ins_discipline_omschrijving = oRs("ins_discipline_omschrijving").Value;
|
|
oRs.close();
|
|
|
|
%>
|
|
|
|
<script>
|
|
function mld_forward()
|
|
{
|
|
document.activeElement.blur(); // trigger laatste onChanges
|
|
|
|
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
|
|
if (!validateForm("u2"))
|
|
return false;
|
|
|
|
$.post($("form[name=u2]")[0].action,
|
|
$("[name=u2]").serialize(),
|
|
FcltCallbackAndThenAlways(mld_forward_callback),
|
|
"json");
|
|
return true; // disable button
|
|
}
|
|
|
|
function mld_forward_callback(jdata)
|
|
{
|
|
if (jdata.success)
|
|
{
|
|
// Moet er voor de melding met een nieuwe stdmelding automatisch een opdracht aangemaakt worden?
|
|
if (jdata.autoorder)
|
|
{
|
|
var data = { mld_key: <%=mld_key%>,
|
|
autoorder: 1
|
|
};
|
|
if (jdata.message)
|
|
data.message = jdata.message;
|
|
<% protectRequest.dataToken("data"); %>
|
|
$.post("mld_edit_opdr_save.asp",
|
|
data,
|
|
FcltCallbackAndThenAlways(afsluiten),
|
|
"json");
|
|
}
|
|
else
|
|
afsluiten(jdata);
|
|
}
|
|
else
|
|
iface.button.enable("btn_forward_submit");
|
|
}
|
|
|
|
function afsluiten(jdata)
|
|
{ // Sluit onszelf.
|
|
FcltMgr.closeDetail(window, { warning: jdata.warning, success: true });
|
|
}
|
|
|
|
function mld_cancel()
|
|
{
|
|
FcltMgr.closeDetail(window, { cancel: true } );
|
|
}
|
|
|
|
function onChangeVakgroep(vakgroep_key)
|
|
{
|
|
// Melding leegmaken
|
|
sgStdm.setValue(-1, "", false, false, null, true);
|
|
sgStdm.CheckJustOne();
|
|
if (window.sgBehandelaar)
|
|
sgBehandelaar.setValue($("#sBehandel").val(), $("#sBehandel_show").val(), false /*doonChange*/, true /*checkExist*/);
|
|
}
|
|
|
|
function process_stdm_info(data, textStatus)
|
|
{
|
|
// Zet de discipline indien niet ingevuld
|
|
if ($("#disc").val() <= 0)
|
|
sgDisc.setValue(data.ins_discipline_key, (data.ins_srtdiscipline_prefix != null ? data.ins_srtdiscipline_prefix + "-" : "") + data.discipline_omschrijving, false /*doonChange*/, true /*checkExist*/);
|
|
}
|
|
|
|
function onChangeStdMelding(stdmelding_key)
|
|
{
|
|
if (stdmelding_key > 0)
|
|
{
|
|
$.getJSON("./get_mld_info_ajax.asp",
|
|
{ req_info: "mld_stdmelding",
|
|
mld_stdmelding_key: stdmelding_key,
|
|
mld_key: <%=mld_key%>,
|
|
caller_key: <%=user_key%> },
|
|
process_stdm_info);
|
|
}
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
|
|
|
|
<body class="modal" id="mod_mldforward">
|
|
<form action="mld_forward_save.asp?mld_key=<%=mld_key%>" method="post" name="u2">
|
|
|
|
<% BLOCK_START("mldForward", this_mld.canForward?L("lcl_forward"):L("lcl_fixmelding") + " " + prefix + mld_key)
|
|
|
|
// Vakgroep
|
|
FCLTdisciplineselector("disc",
|
|
"sgDisc",
|
|
{ label: L("lcl_vakgroup"),
|
|
disc_key: S("mld_forward_auto_fill") ? mld_melding.disc : null,
|
|
module: "MLD",
|
|
perslidKey: user_key,
|
|
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
|
srtdisc_key: S("mld_forward_all") == 1? null : srt_disc,
|
|
filtercode: this_mld.canForwardKeten? "VDK" : "VD",
|
|
onChange: "onChangeVakgroep",
|
|
required: true
|
|
});
|
|
// Discipline
|
|
FCLTstdmeldingselector("stdm",
|
|
"sgStdm",
|
|
{ label: L("lcl_complain"),
|
|
perslidKey: user_key,
|
|
stdmelding_key: S("mld_forward_auto_fill") ? mld_melding.stdm : null,
|
|
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
|
srtdisc_key: S("mld_forward_all") == 1? null : srt_disc,
|
|
urlAdd: [{urlParam: "disc_key", field: "disc"}],
|
|
filtercode: this_mld.canForwardKeten? "VDK" : null,
|
|
onChange: "onChangeStdMelding",
|
|
required: true
|
|
});
|
|
// Behandelaar
|
|
if (S("mld_forward_can_assign"))
|
|
{
|
|
%>
|
|
<input type="hidden" id="person" name="person" value="<%=mld_melding.melder_key%>">
|
|
<%
|
|
var urlAdd = [{urlParam: "prs_key", field: "person", init: mld_melding.melder_key},
|
|
{urlParam: "disc_key", field: "disc", init: S("mld_forward_auto_fill") ? mld_melding.disc : null}];
|
|
|
|
if (mld_melding.show_alg)
|
|
{
|
|
urlAdd.push({urlParam: "loc_key", field: "loc_key", init: mld_melding.loc_key});
|
|
%>
|
|
<input type="hidden" id="loc_key" name="loc_key" value="<%=mld_melding.loc_key%>">
|
|
<%
|
|
}
|
|
|
|
FCLTpersoonselector("sBehandel",
|
|
"sgBehandelaar",
|
|
{ perslidKey: S("mld_forward_auto_fill") ? mld_melding.behandel_key : null,
|
|
label: L("lcl_mld_behandelaar"),
|
|
fieldNameKey : "sBehandel_key",
|
|
autlevel: this_mld.authparams(autfunction) && this_mld.authparams(autfunction).PRSwritelevel,
|
|
urlAdd: urlAdd,
|
|
filtercode: (mld_melding.mld_status == 0 ? "BEHF" : "BEHB")
|
|
});
|
|
}
|
|
|
|
%>
|
|
<tr><td class="label"><label></label></td>
|
|
<td ><%=safe.html(mld_opmr)%></td>
|
|
</tr>
|
|
<%
|
|
|
|
RWTEXTAREATR("opmerk",
|
|
"fldtxt" + ((S("mld_forward_opm_flags") & 1) == 1? " required" : ""),
|
|
(S("mld_forward_opm_flags") & 2) == 2 ? L("lcl_mld_note") : L("lcl_mld_inf_Opmerking"),
|
|
"",
|
|
{html: "rows='8' cols='80'"});
|
|
|
|
if (S("mld_forward_opm_flags")>=2)
|
|
{
|
|
var note_zichtbaarFE = (mld_melding.fenotes == 1 || mld_melding.fenotes == 3 );
|
|
// De tekst in het afhandelingsveld wordt in een notitie gezet (mld_forward_opm_flags=2(niet verplicht) of 3(verplicht)).
|
|
// Geef keuze voor wel of niet zichtbaar voor FE
|
|
RWCHECKBOXTR("zichtbaarFE", "fldcheck","<nobr>" + L("lcl_mld_zichtbaar_FE") + "</nobr>", note_zichtbaarFE, {html: "" });
|
|
// We houden het simpel: geen notificatie dmv 'actie bij melder zetten'.
|
|
}
|
|
|
|
BLOCK_END()
|
|
var buttons = [ {title: L("lcl_forward"), action:"mld_forward()", singlepress: true, id: "btn_forward_submit" },
|
|
{title: L("lcl_cancel"), action:"mld_cancel()" } ];
|
|
CreateButtons(buttons)
|
|
|
|
IFACE.FORM_END();
|
|
%>
|
|
</form>
|
|
</body>
|
|
</html>
|