FSN#28568: Organisatiegebonden objecten kunnen kiezen bij melding.

svn path=/Website/trunk/; revision=20653
This commit is contained in:
Maykel Geerdink
2014-02-17 11:01:05 +00:00
parent 1a631bac06
commit 3b7cb918b7
2 changed files with 19 additions and 20 deletions

View File

@@ -46,7 +46,7 @@ var sql = "SELECT d.ins_deel_key"
+ " , d.ins_alg_ruimte_key"
+ " , d.ins_alg_ruimte_type"
+ " , a.alg_ruimte_nr"
+ " , dg.alg_plaatsaanduiding tooltip"
+ " , dg.alg_plaatsaanduiding || ' ' || dg.ins_deel_omschrijving tooltip"
+ " FROM ins_v_aanwezigdeel d"
+ " , alg_v_aanwezigruimte a"
+ " , ins_v_deel_gegevens dg"
@@ -57,7 +57,12 @@ var sql = "SELECT d.ins_deel_key"
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
var lbl = (oRs("ins_alg_ruimte_type")=="P"?L("lcl_obj_owner"):L("lcl_obj_position"));
switch (oRs("ins_alg_ruimte_type").Value)
{
case 'P': { var lbl = L("lcl_obj_owner"); break; } // Persoon(P)
case 'A': { var lbl = L("lcl_obj_department"); break; } // Afdeling (A)
default: { var lbl = L("lcl_obj_position"); break; } // Plaats: Ruimte(R), Terrein(T) of Werkplek(W)
}
txt += kenmerkTR(lbl, oRs("tooltip").value);
}
oRs.close();

View File

@@ -10,18 +10,6 @@
function get_objecten_sql(alg_key, alg_niveau, prs_key, dept_key, stdmld_key)
{
if (prs_key > 0 && (!dept_key || dept_key < -1))
{
// Bepaal de afdeling
var sql = "SELECT p.prs_afdeling_key"
+ " FROM prs_perslid p"
+ " WHERE p.prs_perslid_key = " + prs_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
var dept_key = oRs("prs_afdeling_key").Value;
}
// Het aantal objecten kan ook ingeperkt worden door mld_stdmelding.ins_srtinst_key
var inst_key = -1;
var inst_type = "";
@@ -127,7 +115,9 @@ function get_objecten_sql(alg_key, alg_niveau, prs_key, dept_key, stdmld_key)
else if (inst_type == 'S')
sql += " AND d.ins_srtdeel_key = " + inst_key;
if (org_obj_niveau < 9)
// Als persoons key is meegegeven dan niet meer eigen afdeling bepalen.
// Eigen afdelings objecten worden nu meegenomen in autorisatie van departmentsql
if (org_obj_niveau < 9 || prs_key != -1 || (dept_key && dept_key > 0))
{
sql += " UNION"
+ " SELECT d.ins_deel_key"
@@ -140,12 +130,16 @@ function get_objecten_sql(alg_key, alg_niveau, prs_key, dept_key, stdmld_key)
+ " , ins_srtdeel s"
+ " , ins_srtgroep g"
+ " WHERE (" // let op het haakje hier
+ " (ins_alg_ruimte_type = 'A' AND d.ins_alg_ruimte_key IN (" + departmentsql + "))"
+ (prs_key != -1
? " OR (ins_alg_ruimte_type = 'P' AND ins_alg_ruimte_key = " + prs_key + ")"
+ (org_obj_niveau < 9
? " (ins_alg_ruimte_type = 'A' AND d.ins_alg_ruimte_key IN (" + departmentsql + "))"
+ (prs_key != -1 || (dept_key && dept_key > 0)? " OR" : "")
: "")
+ (dept_key != -1
? " OR (ins_alg_ruimte_type = 'A' AND ins_alg_ruimte_key = " + dept_key + ")"
+ (prs_key != -1
? " (ins_alg_ruimte_type = 'P' AND ins_alg_ruimte_key = " + prs_key + ")"
+ (dept_key && dept_key > 0? " OR" : "")
: "")
+ (dept_key && dept_key > 0
? " (ins_alg_ruimte_type = 'A' AND ins_alg_ruimte_key = " + dept_key + ")"
: "")
+ ")" // en het sluithaakje hier
+ " AND d.ins_srtdeel_key = s.ins_srtdeel_key"