FSN#41607 Bij bulk actie direct behandelaar kunnen kiezen

svn path=/Website/trunk/; revision=35025
This commit is contained in:
2017-08-21 13:21:34 +00:00
parent 5d91ce83f7
commit ce787059a2
3 changed files with 65 additions and 6 deletions

View File

@@ -17,6 +17,7 @@
<!-- #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"],
@@ -31,6 +32,23 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
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);
lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
@@ -111,6 +129,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
// Melding leegmaken
sgStdm.setValue(-1, "", true, false, null, true);
sgStdm.CheckJustOne();
sgBehandelaar.setValue(-1, "", false /*doonChange*/, true /*checkExist*/);
}
function process_stdm_info(data, textStatus)
@@ -132,6 +151,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
process_stdm_info);
}
}
</script>
</head>
@@ -145,7 +165,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
FCLTdisciplineselector("disc",
"sgDisc",
{ label: L("lcl_vakgroup"),
disc_key: null,
disc_key: S("mld_forward_auto_fill") ? mld_melding.disc : null,
module: "MLD",
perslidKey: user_key,
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
@@ -159,6 +179,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
"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"}],
@@ -167,6 +188,34 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
stdmelding_key: null, //mld_stdm,
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>

View File

@@ -28,6 +28,7 @@ protectRequest.validateToken();
var mld_key = getQParamInt('mld_key');
var stdm_key = getFParamInt("stdm");
var sBehandel = getFParamInt("sBehandel", -1);
var opmerk = getFParam("opmerk", "");
var this_mld = mld.func_enabled_melding(mld_key);
user.auth_required_or_abort(this_mld.canForward || this_mld.canFixMelding);
@@ -54,12 +55,14 @@ var sql = "SELECT mm.mld_stdmelding_key"
+ " , msm.mld_ins_discipline_key"
+ " , mm.mld_melding_einddatum"
+ " , mm.mld_melding_einddatum_std"
+ " , mm.mld_melding_behandelaar_key"
+ " FROM mld_melding mm, mld_stdmelding msm"
+ " WHERE mm.mld_stdmelding_key = msm.mld_stdmelding_key"
+ " AND mld_melding_key = " + mld_key;
var oRs = Oracle.Execute(sql);
var old_stdm = oRs("mld_stdmelding_key").Value;
var old_disc = oRs("mld_ins_discipline_key").Value;
var old_beh = oRs("mld_melding_behandelaar_key").Value || -1;
var mld_opm = oRs("mld_melding_opmerking").Value || "";
var spoed = oRs("mld_melding_spoed").Value;
var einddatum = new Date(oRs("mld_melding_einddatum").Value);
@@ -73,17 +76,20 @@ var save_notitie = false;
var result = {success: true, message: "", key: mld_key, autoorder: autoorder};
if (stdm_key == old_stdm)
if (stdm_key == old_stdm && old_beh == sBehandel)
{
result.message = L("lcl_not_forwarded");
}
else
{
result.toaster = L("lcl_forwarded");
var fields = [ { dbs: "mld_stdmelding_key", typ: "key", frm: "stdm", track: L("lcl_complain"), foreign: "mld_stdmelding" }
var fields = [ { dbs: "mld_stdmelding_key", typ: "key", frm: "stdm", track: L("lcl_complain"), foreign: "mld_stdmelding" }
];
if (mld_melding.mld_status != 5)
fields.push({ dbs: "mld_melding_behandelaar_key", typ: "key", val: -1, track: L("lcl_mld_behandelaar"), foreign: "prs_perslid" });
if (S("mld_forward_can_assign"))
fields.push({ dbs: "mld_melding_behandelaar_key", typ: "key", frm: "sBehandel", track: L("lcl_mld_behandelaar"), foreign: "prs_perslid" });
else if (mld_melding.mld_status != 5)
fields.push({ dbs: "mld_melding_behandelaar_key", typ: "key", val: -1, track: L("lcl_mld_behandelaar"), foreign: "prs_perslid" });
if ((S("mld_forward_opm_flags") & 2) == 2 || S("mld_note_mode") == 2)
{ // Achteraan notitieveld.

View File

@@ -63,6 +63,10 @@ function FCLTpersoonselector(fieldName, objectName, params)
var lextraInit = "";
var isBad = false;
// FSN#41607: prevents urlAdd["disc_key"] from ending up in the queryUrl
var urldiscKey = (params.disc_key && !isNaN(params.disc_key)) ? params.disc_key : false;
if (params.perslidKey && params.perslidKey > 0)
{
//var filt_params = {};
@@ -119,7 +123,7 @@ function FCLTpersoonselector(fieldName, objectName, params)
+ (params.perslidKey>0? "&perslidKey=" + params.perslidKey : "") // Kan ook met urlAdd meegegeven worden
+ (params.extracode? "&extracode=" + params.extracode : "")
+ (params.filtercode? "&filtcode=" + params.filtercode : "")
+ (params.disc_key? "&disc_key=" + params.disc_key : "");
+ (urldiscKey? "&disc_key=" + urldiscKey : "");
if (params.label)
{ %><tr <%=params.trclass?"class='"+params.trclass+"'":""%>>
<td class="label"><label class='selector' for='<%=fieldName%>'><%=params.label%>:</label>