UWVA#50707 vertrouwelijke kenmerken nu met centrale conditie in mld.inc

svn path=/Website/trunk/; revision=36323
This commit is contained in:
Peter Feij
2017-12-11 11:24:36 +00:00
parent b40bb9f928
commit 78ff2ed4e8
9 changed files with 28 additions and 15 deletions

View File

@@ -2136,6 +2136,7 @@ mld = {setmeldingstatus:
+ " , o.prs_perslid_key mld_opdr_contact_key" // key van de interne contactpersoon
+ " , (SELECT p.prs_perslid_naam_full FROM prs_v_perslid_fullnames_all p WHERE p.prs_perslid_key = o.prs_perslid_key) mld_opdr_contact_naam"
+ " , o.prs_contactpersoon_key"
+ " , (SELECT cp.prs_perslid_key FROM prs_contactpersoon cp WHERE cp.prs_contactpersoon_key = o.prs_contactpersoon_key) prs_contactpersoon_perslid_key" // key van externe cp indien user
+ " , o.mld_statusopdr_key"
+ " , o.mld_statusopdr_key_refiat"
+ " , m.mld_stdmelding_key"
@@ -2278,6 +2279,7 @@ mld = {setmeldingstatus:
contactpers_key: oRs("mld_opdr_contact_key").Value || -1,
contactpers_naam: oRs("mld_opdr_contact_naam").Value,
contactpersuitv_key: oRs("prs_contactpersoon_key").Value,
contactpersuitv_perslid_key: oRs("prs_contactpersoon_perslid_key").Value, // als cp een user is, is dit de corresponderende perslid_key
opdr_status: oRs("mld_statusopdr_key").Value,
extended_opdr_status: mld.getextendedopdrstatus(oRs("mld_statusopdr_key").Value, opdr_key),
opdr_status_refiat: oRs("mld_statusopdr_key_refiat").Value || 0,
@@ -3101,6 +3103,7 @@ mld = {setmeldingstatus:
+ " , m.mld_alg_locatie_key"
+ " , m.mld_melding_status"
+ " , m.prs_perslid_key"
+ " , m.prs_perslid_key_voor"
+ " , m.mld_workflowstep_key"
+ " , m.mld_melding_start_key"
+ " , m.mld_melding_parentkey"
@@ -3147,6 +3150,7 @@ mld = {setmeldingstatus:
var is_kopieerbaar = moRs("mld_stdmelding_kopieerbaar").Value == 1;
var wfstep = moRs("mld_workflowstep_key").Value;
var melder_key = moRs("prs_perslid_key").Value;
var perslid_key_voor = moRs("prs_perslid_key_voor").Value;
var parent_key = moRs("mld_melding_parentkey").Value;
var doublecheck = moRs("mld_stdmelding_doublecheck").Value;
var fenotes = moRs("mld_disc_params_fenotes").Value;
@@ -3228,6 +3232,7 @@ mld = {setmeldingstatus:
mresult.canMIread = mresult.canRead("WEB_MLDBAC");
mresult.canFOwrite = mresult.canWrite("WEB_MLDFOF");
mresult.canBOwrite = mresult.canWrite("WEB_MLDBOF") || mresult.canWrite("WEB_MLDBO3");
mresult.canViewConfidential = mresult.canBOwrite || user_key == perslid_key_voor;
// Voor notities geldt ja/nee autorisatie voor de WEB_MLDXXX autorisatie functies.
mresult.canWriteNotes = (mresult.canRead("WEB_MLDFOF") ||
@@ -3642,6 +3647,7 @@ mld = {setmeldingstatus:
mresult.canRejectOffer = false; // Afwijzen offerte
mresult.canSeeARFlex = false; // Kan accepteren/afwijzen kenmerken zien voor offertes
mresult.canChangeARFlex = false; // Kan accepteren/afwijzen kenmerken wijzigen voor offertes
mresult.canViewConfidential = false; // Kan vertrouwelijke gegevens inzien
// Ter leering ende vermaeck: ..Onderstaande code regel gelijk aan:
// (mresult.canWrite("WEB_ORDBO2") && afmelden_extern == 2 && mld_opdr.uitv_type == "B") ||
@@ -3672,12 +3678,18 @@ mld = {setmeldingstatus:
myBO2Change = myBO2Change && mresult.iamBedrijfContact
else if (myBO2Change && !mld_opdr.uitv_intern && mld_opdr.typeopdr_afmelden_extern < 2 && !mresult.iamBedrijfContact)
myBO2Change = false;
__Log("myBO2Change: " + myBO2Change);
var myBO2FieldChange = (myBO2Change && !mresult.iamBedrijfContact);
mresult.canWriteFlags = S("mld_opdracht_flags") > 0 && (mresult.canWrite("WEB_ORDBO2") || mresult.canWrite("WEB_ORDBOF") || mresult.canWrite("WEB_MLDORD"));
__Log("myBO2Change: " + myBO2Change);
// zoiets. ws kunnen die userafhankelijke condities eruit omdat ze al in die andere zijn opgenomen? Of juist niet?
mresult.canViewConfidential = (user_key == mld_opdr.contactpers_key
|| user_key == mld_opdr.contactpersuitv_perslid_key)
|| (mresult.canWrite("WEB_ORDBOF") && mld_opdr.typeopdr_decentraal < 2)
|| (mresult.canWrite("WEB_ORDBO2") && myBO2Change)
|| (mresult.canWrite("WEB_MLDORD")); // && user.isCollega(mld_opdr.uitvoerende_key)
switch (mld_opdr.opdr_status)
{

View File

@@ -604,7 +604,7 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
act_key: mld_melding.act_key,
reado: (mld_key > 0 && !this_mld.canFlexChange),
flexcolumns: kolommen,
confidential : !(user_key == mld_melding.melder_key || user_key == mld_melding.perslid_key_voor || user_key == mld_melding.behandel_key) // iedereen met doelbinding
showConfidential : mld_melding.canViewConfidential
});
%></div><%
}

View File

@@ -1074,7 +1074,8 @@ oRs.Close();
showClose: (opdr_key > 0 && this_opdr && (this_opdr.canClose || this_opdr.canSeeARFlex)),
copy: copy,
reado: (opdr_key > 0 && !(this_opdr.canFlexChange || this_opdr.canChangeARFlex)),
flexcolumns: S("mld_flexcolumns")
flexcolumns: S("mld_flexcolumns"),
showConfidential : this_opdr.canViewConfidential
});
%>
<input type=hidden name="copyorder_key" value="<%=copy?opdr_copy_key:'-1'%>">

View File

@@ -472,7 +472,7 @@ function generateFlexKenmerkBlock(params)
sqldefaultnotrequired: params.act_key > 0,
hideVervallen: newMelding||newOpdracht,
niveau: kenmerk_module,
confidential: params.confidential,
showConfidential: params.showConfidential,
wfbuilder: params.wfbuilder
}
);

View File

@@ -282,7 +282,7 @@ function gen_flex() // ik weet nog niet waar
parent_list : parent_list,
reado : true,
flexcolumns : S("mld_flexcolumns"),
confidential : !(user_key == mld_melding.melder_key || user_key == mld_melding.perslid_key_voor || user_key == mld_melding.behandel_key) // iedereen met doelbinding
showConfidential : mld_melding.canViewConfidential
});
}

View File

@@ -639,7 +639,8 @@ else
opdr_status: mld_opdr.opdr_status,
showClose: this_opdr.couldClose || this_opdr.canClose || this_opdr.canSeeARFlex,
reado: true,
flexcolumns: S("mld_flexcolumns")
flexcolumns: S("mld_flexcolumns"),
showConfidential : this_opdr.canViewConfidential
});
%>
</form>

View File

@@ -633,7 +633,7 @@ if (action != "forward")
mld_key : mld_key,
prs_key : user_key,
reado : (mld_key > 0 && !this_mld.canFlexChange),
confidential : !(user_key == mld_info.melder_key || user_key == mld_info.perslid_key_voor || user_key == mld_info.behandel_key), // iedereen met doelbinding
showConfidential : this_mld.canViewConfidential,
mobile : true
});
}

View File

@@ -495,7 +495,8 @@ else
stdm_arr: [],
showClose: (opdr_key > 0 && this_opdr && (this_opdr.canClose || this_opdr.canSeeARFlex)),
mobile: true,
reado: (opdr_key > 0 && !(this_opdr.canFlexChange || this_opdr.canChangeARFlex))
reado: (opdr_key > 0 && !(this_opdr.canFlexChange || this_opdr.canChangeARFlex)),
showConfidential : this_opdr.canViewConfidential
});
// de kostenvelden zijn nogal afhankelijk van mld_opdr.typeopdr_matchtype

View File

@@ -242,9 +242,9 @@ function getDatatypeValue(table, column, checkval)
// prs_key (of obsolete reqId) - key om bij defaultwaarde in ##PRS_PERSLID_KEY## te substitueren
// fnpre en fnpost: functies die voor en na genereren worden aangroepen *mits er kenmerken zijn*
// wfbuilder: toon ook flex-colname :f123 (voor workflow expression builder)
// confidential: als true moeten vertrouwelijke waarden gemaskeerd worden
// showConfidential: als true mogen vertrouwelijke waarden getoond worden, anders gemaskeerd
// }
// Qua confidential zijn er 2 aspecten:
// Qua confidential-maskeren zijn er 2 aspecten:
// 1. zorgen dat de echt waarden niet getoond worden, dat kan lomp als allereerste actie
// maar ik verwacht dat men ooit bv wel de bijlagenaam wil tonen maar dan onklikbaar
// 2. zorgen dat de gemaskeerde waarden niet gesubmit worden, dan dus geen submitvelden opnemen
@@ -274,7 +274,7 @@ function listKenmerk(sql, module, key, props)
var flexend = props.flexend || -1; // De kenmerken tot het flexend-ste element tonen {flexend >= 1 indien meegegeven}.
var hasfilter = props.hasfilter || false; // De kenmerken kunnen op naam gefilterd worden.
var tmpfolder = props.tmpfolder || "";
var confidential = props.confidential;
var showConfidential= props.showConfidential;
if (formobile) // Ik moet de API2 name weten. TODO Hier nog iets beters voor verzinnen....
{
@@ -423,11 +423,9 @@ function listKenmerk(sql, module, key, props)
var kregexp = oRs("kenmerk_regexp").value;
var kdomein_key = oRs("kenmerkdomein_key").value;
var maskeren = confidential && ksysteem&4;
var maskeren = !showConfidential && ksysteem&4;
var maskmarker = maskeren ? c_maskmarker : ""; // misschien tijdelijk, een soort visuele assert: als je dit ziet met een echt waarde = fout
// if (hint == null) hint = "";
// PF vindt van niet if (def_val == null) def_val = "&nbsp;";
var required = oRs("kenmerk_verplicht").value;
if ((props.sqldefaultnotrequired && def_val && def_val.match('##SQL##')) || props.ignorerequired)
required = false;
@@ -1601,7 +1599,7 @@ function listKenmerk(sql, module, key, props)
kvhtml += ("<span class='confidential'>"+ /* maskmarker + */ L("lcl_confidential")+"</span>");
}
else
kvhtml += kv;
kvhtml += kv||"";
if (typeof kenmerk_extraTD != "undefined" && kenmerk_extraTD && !formobile)
kvhtml += '\n </td><td>'; // Extra leeg celletje voor layout MLD_OPDR