FCLT#55832 PDA reserveer voorzieningen rechten scope verbreed
svn path=/Website/trunk/; revision=41105
This commit is contained in:
@@ -2122,55 +2122,26 @@ function getScopedResDeelSql(params)
|
||||
}
|
||||
|
||||
// res_deel without alg scope
|
||||
var res_d = "SELECT ds.* "
|
||||
+ " FROM res_v_deelscope ds "
|
||||
+ " WHERE ds.res_deel_alg_level = -1 ";
|
||||
|
||||
// res_deel scoped for alg parents
|
||||
var res_d_arr = [];
|
||||
if (alg_level != -1)
|
||||
{
|
||||
switch (alg_level)
|
||||
{ // note: no break -> multi switch
|
||||
case 5: res_d_arr.push("ds.alg_ruimte_key = aob.alg_ruimte_key");
|
||||
case 4: res_d_arr.push("ds.alg_verdieping_key = aob.alg_verdieping_key");
|
||||
case 3: res_d_arr.push("ds.alg_gebouw_key = aob.alg_gebouw_key");
|
||||
case 2: res_d_arr.push("ds.alg_locatie_key = aob.alg_locatie_key");
|
||||
case 1: res_d_arr.push("ds.alg_district_key = aob.alg_district_key");
|
||||
case 0: res_d_arr.push("ds.alg_regio_key = aob.alg_regio_key");
|
||||
}
|
||||
res_d += "UNION ALL "
|
||||
+ "SELECT ds.* "
|
||||
+ " FROM res_v_deelscope ds "
|
||||
+ " , (SELECT * "
|
||||
+ " FROM alg_v_onrgoed_boom aob "
|
||||
+ " WHERE aob." + alg_filter
|
||||
+ " AND ROWNUM = 1) aob "
|
||||
+ " WHERE (" + res_d_arr.join(" OR ") + ")"
|
||||
+ " AND ds.res_deel_alg_level <= " + alg_level;
|
||||
}
|
||||
|
||||
// res_deel scoped for underlying alg level
|
||||
if (alg_level > -1 && alg_level < 5) // no underlying alg_scope after 5
|
||||
{
|
||||
|
||||
res_d_arr = [];
|
||||
var temp_sql = "ds.res_deel_alg_level = {0} AND EXISTS (SELECT '' FROM alg_v_onrgoed_boom aob WHERE {1} AND aob." + alg_filter + ")";
|
||||
switch (alg_level)
|
||||
{ // note: no break -> multi switch
|
||||
case 0: res_d_arr.push(temp_sql.format("1", "ds.alg_district_key = aob.alg_district_key"));
|
||||
case 1: res_d_arr.push(temp_sql.format("2", "ds.alg_locatie_key = aob.alg_locatie_key"));
|
||||
case 2: res_d_arr.push(temp_sql.format("3", "ds.alg_gebouw_key = aob.alg_gebouw_key"));
|
||||
case 3: res_d_arr.push(temp_sql.format("4", "ds.alg_verdieping_key = aob.alg_verdieping_key"));
|
||||
case 4: res_d_arr.push(temp_sql.format("5", "ds.alg_ruimte_key = aob.alg_ruimte_key"));
|
||||
}
|
||||
|
||||
res_d += " UNION ALL "
|
||||
+ "SELECT ds.* "
|
||||
+ " FROM res_v_deelscope ds "
|
||||
+ " WHERE ds.res_deel_alg_level > " + alg_level
|
||||
+ " AND (" + res_d_arr.join(" OR ") + ")";
|
||||
}
|
||||
var res_d = "SELECT ds.res_deel_key"
|
||||
+ " , ds.res_deel_alg_level"
|
||||
+ " , aob.alg_regio_key "
|
||||
+ " , aob.alg_district_key "
|
||||
+ " , aob.alg_locatie_key "
|
||||
+ " , aob.alg_gebouw_key "
|
||||
+ " , aob.alg_verdieping_key "
|
||||
+ " , ds.alg_ruimte_key "
|
||||
+ " FROM (SELECT r2.* "
|
||||
+ " FROM res_deel r1, res_v_deelscope r2 "
|
||||
+ " WHERE r1.res_deel_key = r2.res_deel_key"
|
||||
+ " AND r1.res_deel_verwijder IS NULL) ds "
|
||||
+ " , alg_v_onrgoed_boom aob"
|
||||
+ " WHERE ds.res_deel_alg_level = -1"
|
||||
+ " OR ds.alg_ruimte_key = aob.alg_ruimte_key"
|
||||
+ " OR ds.alg_verdieping_key = aob.alg_verdieping_key"
|
||||
+ " OR ds.alg_gebouw_key = aob.alg_gebouw_key"
|
||||
+ " OR ds.alg_locatie_key = aob.alg_locatie_key"
|
||||
+ " OR ds.alg_district_key = aob.alg_district_key"
|
||||
+ " OR ds.alg_regio_key = aob.alg_regio_key";
|
||||
// end res_d (res_deel_alg scoping)
|
||||
|
||||
var sql1 = "SELECT " + params.select_fields
|
||||
@@ -2197,7 +2168,7 @@ function getScopedResDeelSql(params)
|
||||
"resd.alg_locatie_key",
|
||||
"resd.alg_gebouw_key",
|
||||
"resd.alg_verdieping_key",
|
||||
"resd.alg_ruimte_key",
|
||||
"", // Niet ondersteund FSN#26495
|
||||
params.autfunction,
|
||||
typeof params.sdisc == "number"? params.sdisc : '',
|
||||
"", // forwrite
|
||||
|
||||
Reference in New Issue
Block a user