FCLT#82594 Punten 6, 7 & 9
svn path=/Website/branches/v2024.2/; revision=65447
This commit is contained in:
111
APPL/MLD/mld.inc
111
APPL/MLD/mld.inc
@@ -4906,58 +4906,62 @@ mld = {
|
||||
oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof && !foundUser)
|
||||
{
|
||||
if (oRs("prs_perslid_key").Value > 0) // Tertiar Behandelaar.
|
||||
if (oRs("prs_perslid_key").Value > 0) { // Tertiar Behandelaar.
|
||||
foundUser = (oRs("prs_perslid_key").Value == user_key);
|
||||
else
|
||||
{ // Zit de user in het behandelteam.
|
||||
// Vergelijkbare code in de functie getFiltClausePersoon(filtcode, params) in bestand persoonFilter.inc. Maar dit bestand willen we hier niet includen.
|
||||
var disc_key = oRs("ins_discipline_key").Value || -1; // Tertiar Behandelteam.
|
||||
var afd_key = new Perslid(params.melder_key).prs_afdeling_key(); // Afdeling van de melder!
|
||||
// Let op: *mijn* rechten (params.autlevel) doen niet ter zake. Het gaat om de rechten van de collega
|
||||
var autfunction = params.mld_status == 0? "WEB_MLDFOF" : "WEB_MLDBOF";
|
||||
var filtClause = " AND p.prs_perslid_key IN"
|
||||
+ " (SELECT prs_perslid_key"
|
||||
+ " FROM fac_v_webgebruiker g"
|
||||
+ " WHERE g.fac_functie_key = " + F(autfunction)
|
||||
+ " AND g.ins_discipline_key = " + disc_key
|
||||
+ " AND (g.fac_gebruiker_prs_level_write = -1"
|
||||
+ " OR (g.fac_gebruiker_prs_level_write = 0"
|
||||
+ " AND d.prs_bedrijf_key = (SELECT aa.prs_bedrijf_key"
|
||||
+ " FROM prs_v_afdeling aa"
|
||||
+ " WHERE aa.prs_afdeling_key = " + afd_key + "))"
|
||||
+ " OR (g.fac_gebruiker_prs_level_write > 0"
|
||||
+ " AND p.prs_afdeling_key IN "
|
||||
+ " (SELECT prs_afdeling_key FROM prs_v_afdeling_familie a"
|
||||
+ " WHERE a.prs_afdeling_elder_key IN"
|
||||
+ " (SELECT aa.prs_afdeling_elder_key"
|
||||
+ " FROM prs_v_afdeling_familie aa"
|
||||
+ " WHERE aa.prs_afdeling_key = " + afd_key
|
||||
+ " AND aa.niveau = g.fac_gebruiker_prs_level_write))"
|
||||
+ " )"
|
||||
+ " )";
|
||||
if (params.loc_key > 0)
|
||||
filtClause += " AND (g.fac_gebruiker_alg_level_write = -1"
|
||||
+ " OR (g.fac_gebruiker_alg_level_write < 9"
|
||||
+ " AND " + params.loc_key + " IN "
|
||||
+ " (SELECT alg_locatie_key FROM fac_v_my_locations "
|
||||
+ " WHERE prs_perslid_key = p.prs_perslid_key"
|
||||
+ " AND niveau = fac_gebruiker_alg_level_write)"
|
||||
+ " ))";
|
||||
filtClause +=") ";
|
||||
|
||||
sql = "SELECT p.prs_perslid_key"
|
||||
+ " FROM prs_perslid p" // Geen prs_v_aanwezigperslid: afhankelijk van filtcode wordt " AND prs_perslid_verwijder IS NULL" toegevoegd
|
||||
+ " , prs_v_afdeling d "
|
||||
+ " WHERE p.prs_afdeling_key = d.prs_afdeling_key"
|
||||
+ " " + filtClause
|
||||
// faalt bij NULL values: " AND p.prs_perslid_oslogin NOT LIKE '\\_%' ESCAPE '\\' "
|
||||
+ " AND (prs_perslid_oslogin IS NULL OR prs_perslid_oslogin NOT LIKE '\\_%' ESCAPE '\\')"
|
||||
+ " AND BITAND(prs_perslid_flags, 2) = 0"
|
||||
+ " AND p.prs_perslid_key = " + user_key;
|
||||
oRs2 = Oracle.Execute(sql);
|
||||
foundUser = foundUser || !oRs2.eof;
|
||||
oRs2.close();
|
||||
if (foundUser) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Zit de user in het behandelteam.
|
||||
// Vergelijkbare code in de functie getFiltClausePersoon(filtcode, params) in bestand persoonFilter.inc. Maar dit bestand willen we hier niet includen.
|
||||
var disc_key = oRs("ins_discipline_key").Value || -1; // Tertiar Behandelteam.
|
||||
var afd_key = new Perslid(params.melder_key).prs_afdeling_key(); // Afdeling van de melder!
|
||||
// Let op: *mijn* rechten (params.autlevel) doen niet ter zake. Het gaat om de rechten van de collega
|
||||
var autfunction = params.mld_status == 0? "WEB_MLDFOF" : "WEB_MLDBOF";
|
||||
var filtClause = " AND p.prs_perslid_key IN"
|
||||
+ " (SELECT prs_perslid_key"
|
||||
+ " FROM fac_v_webgebruiker g"
|
||||
+ " WHERE g.fac_functie_key = " + F(autfunction)
|
||||
+ " AND g.ins_discipline_key = " + disc_key
|
||||
+ " AND (g.fac_gebruiker_prs_level_write = -1"
|
||||
+ " OR (g.fac_gebruiker_prs_level_write = 0"
|
||||
+ " AND d.prs_bedrijf_key = (SELECT aa.prs_bedrijf_key"
|
||||
+ " FROM prs_v_afdeling aa"
|
||||
+ " WHERE aa.prs_afdeling_key = " + afd_key + "))"
|
||||
+ " OR (g.fac_gebruiker_prs_level_write > 0"
|
||||
+ " AND p.prs_afdeling_key IN "
|
||||
+ " (SELECT prs_afdeling_key FROM prs_v_afdeling_familie a"
|
||||
+ " WHERE a.prs_afdeling_elder_key IN"
|
||||
+ " (SELECT aa.prs_afdeling_elder_key"
|
||||
+ " FROM prs_v_afdeling_familie aa"
|
||||
+ " WHERE aa.prs_afdeling_key = " + afd_key
|
||||
+ " AND aa.niveau = g.fac_gebruiker_prs_level_write))"
|
||||
+ " )"
|
||||
+ " )";
|
||||
if (params.loc_key > 0)
|
||||
filtClause += " AND (g.fac_gebruiker_alg_level_write = -1"
|
||||
+ " OR (g.fac_gebruiker_alg_level_write < 9"
|
||||
+ " AND " + params.loc_key + " IN "
|
||||
+ " (SELECT alg_locatie_key FROM fac_v_my_locations "
|
||||
+ " WHERE prs_perslid_key = p.prs_perslid_key"
|
||||
+ " AND niveau = fac_gebruiker_alg_level_write)"
|
||||
+ " ))";
|
||||
filtClause +=") ";
|
||||
|
||||
sql = "SELECT p.prs_perslid_key"
|
||||
+ " FROM prs_perslid p" // Geen prs_v_aanwezigperslid: afhankelijk van filtcode wordt " AND prs_perslid_verwijder IS NULL" toegevoegd
|
||||
+ " , prs_v_afdeling d "
|
||||
+ " WHERE p.prs_afdeling_key = d.prs_afdeling_key"
|
||||
+ " " + filtClause
|
||||
// faalt bij NULL values: " AND p.prs_perslid_oslogin NOT LIKE '\\_%' ESCAPE '\\' "
|
||||
+ " AND (prs_perslid_oslogin IS NULL OR prs_perslid_oslogin NOT LIKE '\\_%' ESCAPE '\\')"
|
||||
+ " AND BITAND(prs_perslid_flags, 2) = 0"
|
||||
+ " AND p.prs_perslid_key = " + user_key;
|
||||
oRs2 = Oracle.Execute(sql);
|
||||
foundUser = foundUser || !oRs2.eof;
|
||||
oRs2.close();
|
||||
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.close();
|
||||
@@ -5404,7 +5408,7 @@ mld = {
|
||||
// FO kan alleen omschrijving aanpassen
|
||||
mresult.canChange = ((mresult.canWrite("WEB_MLDBOF") && !activeMLDBO3) || mresult.canWrite("WEB_MLDFOF"));
|
||||
mresult.canChangeKenmerkBlok = userIsBlokbehandelaar;
|
||||
mresult.canChangeUrole = mresult.canWrite("WEB_MLDBOF") || userIsBlokbehandelaar ? 'bo' : 'fo';
|
||||
mresult.canChangeUrole = mresult.canWrite("WEB_MLDBOF") ? 'bo' : 'fo';
|
||||
mresult.canAccept = ((mresult.canWrite("WEB_MLDBOF") && !activeMLDBO3) || mresult.canWrite("WEB_MLDBO3")) && !is_planned_action;
|
||||
mresult.canVakgAccept = ((mresult_vakg.canWrite("WEB_MLDBOF") && !activeMLDBO3) || mresult_vakg.canWrite("WEB_MLDBO3")) && !is_planned_action;
|
||||
mresult.canReject = ((mresult.canWrite("WEB_MLDBOF") && !activeMLDBO3) || mresult.canWrite("WEB_MLDBO3")) &&
|
||||
@@ -5456,7 +5460,7 @@ mld = {
|
||||
mresult.canPersChange = mresult.canWrite("WEB_MLDFOF");
|
||||
mresult.canChange = (mresult.canWrite("WEB_MLDBOF") || mresult.canWrite("WEB_MLDFOF"));
|
||||
mresult.canChangeKenmerkBlok = userIsBlokbehandelaar;
|
||||
mresult.canChangeUrole = mresult.canWrite("WEB_MLDBOF") || userIsBlokbehandelaar ? 'bo' : 'fo';
|
||||
mresult.canChangeUrole = mresult.canWrite("WEB_MLDBOF") ? 'bo' : 'fo';
|
||||
mresult.canForward = (!is_wf &&
|
||||
(S("mld_forward_if_active") == 1 || (keten && !hasopdrachten)) && // Een melding met opdrachten mag niet meer doorgestuurd worden (MAYF#36363).
|
||||
mresult_vakg.canWrite("WEB_MLDBOF") &&
|
||||
@@ -5506,6 +5510,9 @@ mld = {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!mresult.canChange && userIsBlokbehandelaar) { // Als ik alleen binnen mag komen omdat ik blokbehandelaar ben, dan doe ik dat als BO
|
||||
mresult.canChangeUrole = 'bo';
|
||||
}
|
||||
|
||||
// (dure) controle uitschakelbaar door { dontcarelink: true } mee te geven
|
||||
// Je mag dus niet linken, tenzij (i) deze check wordt uitgevoerd en (ii) geen resultaat oplevert.
|
||||
|
||||
@@ -397,7 +397,7 @@ if (mld_key == -1 || copy)
|
||||
}
|
||||
|
||||
// 2. Het optionele workflowframe of andere vervolgmeldingen
|
||||
if (mld_info.mld_conceptstatus == 0)
|
||||
if (mfe.canReadAny && mld_info.mld_conceptstatus == 0)
|
||||
{
|
||||
page="workflow_info.asp?embedded=1&urole=" + urole + "&mld_key=" + mld_key;
|
||||
IFRAMER("mldworkflowframe", page, { refreshOnActivate: true, refreshOnClose: true, icon: "fa-list" } ); // lcl_mld_continuation_mld heeft een spatie erachter -> nieuwe lcl
|
||||
|
||||
@@ -299,7 +299,7 @@ SUBFRAME_START();
|
||||
if (this_mld.canClose && mld_melding.is_fo_melding && verynew)
|
||||
buttons.push({ title: L("lcl_close"), icon: "fa-flag-checkered", action: "mld_close(true)", autoshow: true, tooltip: L("lcl_close_hint") });
|
||||
else
|
||||
buttons.push({ title: L("lcl_change"), icon: "fa-fclt-edit", action: "mld_change('" + (this_mld.canChangeKenmerkBlok? urole : this_mld.canChangeUrole) + "')" });
|
||||
buttons.push({ title: L("lcl_change"), icon: "fa-fclt-edit", action: "mld_change('" + this_mld.canChangeUrole + "')" });
|
||||
|
||||
if (this_mld.canInstem)
|
||||
buttons.push({ title: L("lcl_instem"), icon: "fa-thumbs-up", action:"mld_instem()", autoshow: true, tooltip: L("lcl_instem_hint")});
|
||||
@@ -327,10 +327,10 @@ SUBFRAME_START();
|
||||
|
||||
if ((fwdInfo.fwdType & 1) && (this_mld.canForward || this_mld.canFixMelding)) // bo2bo
|
||||
buttons.push({ title: fwdInfo.fwdLabel, icon: (fwdInfo.fwdType == 1 ? "fa-retweet" : "fa-external-link"),
|
||||
action: "mld_forward('" + (this_mld.canChangeKenmerkBlok? urole : this_mld.canChangeUrole) + "', 1, " + mld_melding.mld_ins_discipline_key + ")",
|
||||
action: "mld_forward('" + this_mld.canChangeUrole + "', 1, " + mld_melding.mld_ins_discipline_key + ")",
|
||||
tooltip: fwdInfo.fwdHint });
|
||||
if ((fwdInfo.fwdType & 2) && this_mld.canForwardTeam)
|
||||
buttons.push({ title: L("lcl_mld_forward_team"), icon: "fa-arrow-right", action:"mld_forward('" + (this_mld.canChangeKenmerkBlok? urole : this_mld.canChangeUrole) + "', 2, " + mld_melding.mld_ins_discipline_key + ")", tooltip: L("lcl_mld_forward_team_hint") });
|
||||
buttons.push({ title: L("lcl_mld_forward_team"), icon: "fa-arrow-right", action:"mld_forward('" + this_mld.canChangeUrole + "', 2, " + mld_melding.mld_ins_discipline_key + ")", tooltip: L("lcl_mld_forward_team_hint") });
|
||||
|
||||
if (this_mld.canFixSLA)
|
||||
buttons.push({ title: L("lcl_mld_fix_sla"), icon: "fa-clock", action:"mld_fix_sla()", autoshow: false, tooltip: L("lcl_mld_fix_sla_hint"), ximportance: 2 });
|
||||
|
||||
Reference in New Issue
Block a user