FSN#28568: Organisatiegebonden objecten kunnen kiezen bij melding.
svn path=/Website/trunk/; revision=20653
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user