FSN#27791: Geen leesrechten op flexkenmerken (volgnr), toch op print en Excel.

svn path=/Website/trunk/; revision=20077
This commit is contained in:
Maykel Geerdink
2013-12-05 16:52:25 +00:00
parent 2ddfb56c14
commit 6fc123d0a6
9 changed files with 94 additions and 32 deletions

View File

@@ -85,13 +85,22 @@ function district_list(pautfunction, params)
var reg_key = params.reg_key;
var dis_key = params.dis_key;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteDistrict(oRs("alg_district_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteDistrict(oRs("alg_district_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var dis_key = oRs("alg_district_key").Value;
var this_alg = alg.func_enabled(dis_key, "D");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
<head>
@@ -146,6 +155,7 @@ function district_list(pautfunction, params)
rowActionEnabler: fnrowActionEnabler,
flexModule: "ALG",
flexId: "alg_district_key",
flexParams: fnrowFlexParams,
filterParams: params,
outputmode: outputmode,
buttons: addButton

View File

@@ -90,13 +90,22 @@ function gebouw_list(pautfunction, params)
var bld_key = params.bld_key;
var bld_func = params.bld_func;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var bld_key = oRs("alg_gebouw_key").Value;
var this_alg = alg.func_enabled(bld_key, "G");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -181,6 +190,7 @@ function gebouw_list(pautfunction, params)
rowActionEnabler: fnrowActionEnabler,
flexModule: "ALG",
flexId: "alg_gebouw_key",
flexParams: fnrowFlexParams,
filterParams: params,
outputmode: outputmode,
buttons: addButton
@@ -192,7 +202,6 @@ function gebouw_list(pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_srtgebouw"), content: "alg_srtgebouw_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp"}));
if (outputmode != 0)
{
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_opmerk"), content: "alg_gebouw_opmerking"}));

View File

@@ -101,6 +101,15 @@ function locatie_list(pautfunction, params)
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var loc_key = oRs("alg_locatie_key").Value;
var this_alg = alg.func_enabled(loc_key, "L");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -173,6 +182,7 @@ function locatie_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_locatie_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});

View File

@@ -199,6 +199,15 @@ function ruimte_list(pautfunction, params)
return (floorCache[oRs("alg_verdieping_key").value]);
}
function fnrowFlexParams(oRs)
{
var room_key = oRs("alg_ruimte_key").Value;
var this_alg = alg.func_enabled(room_key, "R");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
var addurl = "appl/alg/alg_ruimte.asp?a=1";
addurl += buildTransitParam(["locatiekey", "gebouwkey", "verdiepingkey", "ruimtekey"], params) // TODO: welke allemaal?
@@ -217,6 +226,7 @@ function ruimte_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_ruimte_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});

View File

@@ -25,7 +25,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
var ter_key = getQParamInt("ter_key");
var onrgoedlvl = "T";
var this_alg = alg.func_enabled(loc_key, onrgoedlvl);
var this_alg = alg.func_enabled(ter_key, onrgoedlvl);
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
var sql = "SELECT ts.alg_locatie_key"

View File

@@ -82,13 +82,22 @@ function terrein_list(pautfunction, params)
var ter_code = params.ter_code;
var ter_func = params.ter_func;
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
{
var eDelete = false;
if (alg.canWriteLocatie(oRs("alg_locatie_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
{
var eDelete = false;
if (alg.canWriteLocatie(oRs("alg_locatie_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var ter_key = oRs("alg_terreinsector_key").Value;
var this_alg = alg.func_enabled(ter_key, "T");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -158,6 +167,7 @@ function terrein_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_terreinsector_key",
flexParams: fnrowFlexParams,
filterParams: params,
buttons: addButton
});

View File

@@ -90,12 +90,21 @@ function verdiepingen_list(pautfunction, params)
var lvl_key = params.lvl_key;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
{
var eDelete = false;
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
function fnrowFlexParams(oRs)
{
var ver_key = oRs("alg_verdieping_key").Value;
var this_alg = alg.func_enabled(ver_key, "V");
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
return flexParams;
}
%>
<html>
@@ -164,6 +173,7 @@ function verdiepingen_list(pautfunction, params)
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_verdieping_key",
flexParams: fnrowFlexParams,
filterParams: params,
rowData: fnrowData,
rowActionEnabler: fnrowActionEnabler,

View File

@@ -10,7 +10,7 @@
<%
function getSqlFlex(flexModule, flexId)
function getSqlFlex(flexModule, flexId, flexParams)
{
switch(flexModule)
{
@@ -46,6 +46,8 @@ function getSqlFlex(flexModule, flexId)
+ " AND k.alg_kenmerk_verwijder IS NULL"
+ " AND ka." + flexId + " = <$VALUE$>" // // alg_district_key, alg_locatie_key, alg_gebouw_key, alg_terrein_key, alg_ruimte_key
+ " AND k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(flexId.substr(4,1)) // D (District), L (Locatie), G (Gebouw), T (Terreinsector) en R (Ruimte).
+ (!flexParams.readman? " AND alg_kenmerk_volgnr >= 100":"")
+ (!flexParams.readuse? " AND alg_kenmerk_volgnr <= 100":"")
+ " ORDER BY k.alg_kenmerk_volgnr"
+ ", UPPER(" + lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') + ")";

View File

@@ -158,6 +158,7 @@ function ResultsetTable(params)
this.flexGroupId = null;
this.flexParentGroupId = null;
this.flexChangeNiveau = null;
this.flexParams = null;
this.rowNum = 0;
this.keyColumn = null;
this.extraKeyColumn = new Array();
@@ -284,7 +285,7 @@ ResultsetTable.prototype.ProcessAsXMLXSL = function()
var oRs = Oracle.Execute(sql);
var theSqlFlex = "";
if (flexModule != null && flexId != null)
theSqlFlex = getSqlFlex(flexModule.toUpperCase(), flexId);
theSqlFlex = getSqlFlex(flexModule.toUpperCase(), flexId, flexParams(oRs));
for (var cnt = 0; !oRs.eof; cnt++)
{
// Vooralsnog geen flex
@@ -726,7 +727,7 @@ function __rsProcessResultset()
var theSqlFlex = "";
if (flexModule != null && flexId != null)
theSqlFlex = getSqlFlex(flexModule.toUpperCase(), flexId);
theSqlFlex = getSqlFlex(flexModule.toUpperCase(), flexId, flexParams(oRs));
var lastHadFlex = false;
for (var cnt = 0; (cnt < (this.mobile ? S("qp_maxrows_mobile") : S("qp_maxrows")) || isPrinting || isExcel || showAll || showProperties) &&