UWVA#50707 vertrouwelijke kenmerken - filechanges niet zichtbaar tracken

svn path=/Website/trunk/; revision=36330
This commit is contained in:
Peter Feij
2017-12-11 17:02:51 +00:00
parent 0d8c5d8e4e
commit 4438b63c64
4 changed files with 54 additions and 28 deletions

View File

@@ -53,7 +53,11 @@ if (pDoDelete != "")
oRs.close();
pKey = String(afspr_key);
}
var ptxt = L("lcl_shared_attachment_delete").format(params.kenmerkoms, safe.filename(pDoDelete));
var ptxt;
if (params.kenmerksysteem & 4)
ptxt = L("lcl_shared_attachment_delete").format(params.kenmerkoms, L("lcl_confidential_mask"));
else
ptxt = L("lcl_shared_attachment_delete").format(params.kenmerkoms, safe.filename(pDoDelete));
shared.trackaction(params.trackcode, pKey, ptxt);
}
result.removed = true;

View File

@@ -98,6 +98,7 @@ function bepaalKenmerkGegevens(pModule, pKenmerkkey)
var sql = "SELECT " + lcl.xsql((srttable? "sk." + srttable : "k." + table) + "_omschrijving", (srttable? "sk." + srttable : "k." + table) + "_key") + " kenmerk_omschrijving"
+ " , " + (srttable? srttable : table) + "_kenmerktype kenmerk_type"
+ " , " + (srttable? srttable : table) + "_systeem kenmerk_systeem"
+ " FROM " + table + " k"
+ (srttable
? " , " + srttable + " sk"
@@ -109,9 +110,10 @@ function bepaalKenmerkGegevens(pModule, pKenmerkkey)
var oRs = Oracle.Execute(sql);
var kenmerk_omschrijving = oRs("kenmerk_omschrijving").Value;
var kenmerk_type = oRs("kenmerk_type").Value;
var kenmerk_systeem = oRs("kenmerk_systeem").Value;
oRs.close();
cache_bepaalKenmerkGegevens[cache_code] = {kenmerk_omschrijving: kenmerk_omschrijving, kenmerk_type: kenmerk_type}
cache_bepaalKenmerkGegevens[cache_code] = {kenmerk_omschrijving: kenmerk_omschrijving, kenmerk_type: kenmerk_type, kenmerk_systeem: kenmerk_systeem}
return cache_bepaalKenmerkGegevens[cache_code];
}
@@ -249,6 +251,7 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
var kenmerk_geg = bepaalKenmerkGegevens(pModule, pSubpath);
result.kenmerkoms = kenmerk_geg.kenmerk_omschrijving;
result.kenmerktype = kenmerk_geg.kenmerk_type;
result.kenmerksysteem = kenmerk_geg.kenmerk_systeem;
}
else if (pModule != "FAQ")
{
@@ -259,6 +262,7 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
var kenmerk_geg = bepaalKenmerkGegevens(pModule, pSubpath);
result.kenmerkoms = kenmerk_geg.kenmerk_omschrijving;
result.kenmerktype = kenmerk_geg.kenmerk_type;
result.kenmerksysteem = kenmerk_geg.kenmerk_systeem;
}
break;
case "RESPH":

View File

@@ -198,7 +198,11 @@ var fso = Server.CreateObject("Scripting.FileSystemObject")
for (j=0; j<result.safefilename.length; j++)
{
ptxt = L("lcl_shared_attachment_add").format(params.kenmerkoms, result.safefilename[j]);
var ptxt;
if (params.kenmerksysteem & 4)
ptxt = L("lcl_shared_attachment_add").format(params.kenmerkoms, L("lcl_confidential_mask"));
else
ptxt = L("lcl_shared_attachment_add").format(params.kenmerkoms, result.safefilename[j]);
shared.trackaction(params.trackcode, pKey, ptxt);
}
}

View File

@@ -423,8 +423,7 @@ function listKenmerk(sql, module, key, props)
var kregexp = oRs("kenmerk_regexp").value;
var kdomein_key = oRs("kenmerkdomein_key").value;
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
var maskeren = !showConfidential && (ksysteem&4);
var required = oRs("kenmerk_verplicht").value;
if ((props.sqldefaultnotrequired && def_val && def_val.match('##SQL##')) || props.ignorerequired)
@@ -439,11 +438,12 @@ function listKenmerk(sql, module, key, props)
var forceReadonly = oRs("kenmerk_toonbaar").value == 1;
// Velden die de gebruiker niet mag zien zijn we h<><68>l snel klaar mee
// Ook velden waar je niet op kunt zoeken slaan we direct over in zoekmode
// Ook velden waar je niet op kunt zoeken (bv vertrouwelijke) slaan we direct over in zoekmode
// En labels met een readonly-kenmerk tonen we niet als readonly, om invulinstructies in showmode weg te laten
if ((!kenmerk_search && props.fnIsInvisible && props.fnIsInvisible(kvolgnr, ktype, oRs)) ||
(kenmerk_search && (ktype == 'L' || ktype == 'l' || ktype == 'Q' || ktype == 'M' || ktype == 'F' || ktype == 'E') || kvolgnr < 0) ||
(!kenmerk_search && (ktype == 'L' || ktype == 'l') && forceReadonly && props.fnIsReadonly && props.fnIsReadonly(kvolgnr, oRs))
if ( (!kenmerk_search && props.fnIsInvisible && props.fnIsInvisible(kvolgnr, ktype, oRs))
|| (kenmerk_search && (ktype == 'L' || ktype == 'l' || ktype == 'Q' || ktype == 'M' || ktype == 'F' || ktype == 'E') || kvolgnr < 0)
|| (!kenmerk_search && (ktype == 'L' || ktype == 'l') && forceReadonly && props.fnIsReadonly && props.fnIsReadonly(kvolgnr, oRs))
|| (kenmerk_search && (ksysteem&4))
)
{
oRs.MoveNext();
@@ -1525,7 +1525,7 @@ function listKenmerk(sql, module, key, props)
continue; // Teller is wel opgehoogd: volgende komt vanzelf op nieuwe regel
}
flexkenmerklabel = maskmarker + "&nbsp;" + flexkenmerklabel;
flexkenmerklabel = (maskeren ? c_maskmarker + "&nbsp;" + flexkenmerklabel : flexkenmerklabel);
var kvhtml = ""; // hierin bouwen we de html op
if (kv != '')
@@ -1595,8 +1595,8 @@ function listKenmerk(sql, module, key, props)
// Nu het eerder bepaalde waarde veld, zo nodig onderdrukt bij confidential-situatie
if (maskeren) {
// nu verstop ik alles wat we hierboven bepaald hebben. Dat is wat te lomp, want nu raak je alles kwijt bij _save.
kvhtml += ("<span class='confidential'>"+ /* maskmarker + */ L("lcl_confidential")+"</span>");
// nu verstop ik alles wat we hierboven bepaald hebben. Dat is wat lomp.
kvhtml += ("<span class='confidential'>"+ /* c_maskmarker + */ L("lcl_confidential")+"</span>");
}
else
kvhtml += kv||"";
@@ -1915,8 +1915,7 @@ function CopyFlexFolders(oldbasepath, newbasepath, flexsql)
// isNew : optional, true als het object nieuw is
// flexPath : die gebruiken we dan om tijdelijke folder te hernoemen bijv. "ALG/R"
// tracking : optional, dan tracken we als !isNew
// - allKenmerkenSQL is dan ook verplicht met kenmerk_omschrijving en
// srtkenmerk_key (zie melding_save)
// - allKenmerkenSQL is dan ook verplicht met strak-gedefinieerde kolommen
// - module is dan ook verplicht
//
// In listKenmerk hebben we al gezorgd dat er alleen waarden gesubmit worden van velden die we
@@ -2090,25 +2089,40 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
{
if (vold != vnew)
{
// allKenmerkenSQL levert nu deze kolommen (deels future use):
// kenmerk_omschrijving
// kenmerk_kenmerktype
// kenmerk_systeem
// kenmerk_readonly
// kenmerk_uniek
// fac_kenmerkdomein_key
var oRsk = Oracle.Execute(params.allKenmerkenSQL + flex.id);
var label = oRsk("kenmerk_omschrijving").Value;
var label = oRsk("kenmerk_omschrijving").Value;
var kdomein_key = oRsk("fac_kenmerkdomein_key").Value;
var confidential= oRsk("kenmerk_systeem").value&4;
oRsk.Close();
if (flex.type == "S" || flex.type == "R")
if (confidential)
{
if (vold != "")
{
var oRsd = Oracle.Execute("SELECT fac.getdomeinwaarde(" + kdomein_key + ", " + safe.quoted_sql(vold) + ") domeinwaarde FROM DUAL");
vold = oRsd("domeinwaarde").Value;
oRsd.Close();
}
vold = vnew =L("lcl_confidential_mask");
}
else
{
if (flex.type == "S" || flex.type == "R")
{
if (vold != "")
{
var oRsd = Oracle.Execute("SELECT fac.getdomeinwaarde(" + kdomein_key + ", " + safe.quoted_sql(vold) + ") domeinwaarde FROM DUAL");
vold = oRsd("domeinwaarde").Value;
oRsd.Close();
}
if (vnew != "")
{
var oRsd = Oracle.Execute("SELECT fac.getdomeinwaarde(" + kdomein_key + ", " + safe.quoted_sql(vnew) + ") domeinwaarde FROM DUAL");
vnew = oRsd("domeinwaarde").Value;
oRsd.Close();
}
if (vnew != "")
{
var oRsd = Oracle.Execute("SELECT fac.getdomeinwaarde(" + kdomein_key + ", " + safe.quoted_sql(vnew) + ") domeinwaarde FROM DUAL");
vnew = oRsd("domeinwaarde").Value;
oRsd.Close();
}
}
}
trackarray.push(label + ": " + buildTrackText("varchar", vold, vnew, {nodiff: (flex.type != "C"? true : null)}));
}