UWVA#20192: MLD BO: overzicht opdrachten anders dan verwacht.

svn path=/Website/trunk/; revision=16599
This commit is contained in:
Maykel Geerdink
2013-01-23 13:44:09 +00:00
parent 7756ab2633
commit a975d9f0c9
4 changed files with 32 additions and 21 deletions

View File

@@ -169,21 +169,8 @@ var authparams = user.checkAutorisation(autfunction);
// Bepaal de opdracht autorisatie. Mocht ik opdrachten zien
var opdr_autfunction;
if (frontend)
{
// Dan zijn het alleen opdrachten van *mijn* meldingen waarop ik MLDUSE-read rechten heb
// en van het type waarbij mld_typeopdr_zichtbaarfe = 1 als ik een mld_key heb
// Omdat uitsluitend vanuit subframe van mld_melding wordt aangeroepen in deze mode veronderstellen we dat geregeld.
// OF het zijn de opdrachten waarvan ik uitvoerende ben (MLDORD)
if (mld_key > 0)
var opdr_autfunction = "WEB_MLDUSE";
else
var opdr_autfunction = "WEB_MLDORD";
}
else if (urole == 'b2')
var opdr_autfunction = "WEB_ORDBO2";
else
var opdr_autfunction = "WEB_ORDBOF";
if (backo)
var opdr_autfunction = "WEB_ORDBOF,WEB_ORDBO2";
// VALIDATE AND PREPARE
%>

View File

@@ -26,12 +26,20 @@ var srtdisc_arr = getQParamIntArray("srtdisc_key", []); // Soort Melding
var disc_key_arr = getQParamIntArray("disc_key_str", []); // Productgroep (discipline) array
var sel_disc_key_arr = getQParamIntArray("sel_disc_key_arr", []); // Geselecteerde soort Melding.
// Autfunction kan meerdere autfuncties bevatten.
autfunction = autfunction.split(",");
var afunction = "";
for (var i = 0; i < autfunction.length; i++)
{
afunction += (i > 0? ", " : "" ) + safe.quoted_sql(autfunction[i]);
}
var discsql_aut = "SELECT ins_discipline_key"
+ " FROM fac_v_webgebruiker g"
+ ", fac_functie f"
+ " WHERE g.prs_perslid_key = " + user_key
+ " AND f.fac_functie_key = g.fac_functie_key"
+ " AND f.fac_functie_code = " + safe.quoted_sql(autfunction)
+ " AND f.fac_functie_code IN (" + afunction + ")"
+ " AND g.fac_gebruiker_alg_level_read < 9"; // MGE: Als alg_level_read = 9 dan komt waarde niet meer voor in fac_v_webgebruiker. Regel zou dus weg kunnen
var discsql = " SELECT m1.ins_discipline_key"
@@ -61,7 +69,7 @@ var discsql = " SELECT m1.ins_discipline_key"
FCLTselectorOptions(discsql,
{ initKey: sel_disc_key_arr,
onChange: 'updateStdm("' + urole + '", "' + autfunction + '");',
onChange: 'updateStdm("' + urole + '");',
multi: true,
size: 3,
emptyOption: (disc_key_arr.length == 0 ? L("lcl_all") : null) // Als een disc_key_arr is meegegeven dan geen lege optie

View File

@@ -20,7 +20,15 @@ var autfunction = getQParam("autfunction", ""); // Check of user rechten heeft
var srtdisc_key = getQParamInt("srtdisc_key", -1); // Soort Melding.
var sel_srtdisc_key = getQParamInt("sel_srtdisc_key", -1); // Geselecteerde soort Melding.
// Autfunction kan meerdere autfuncties bevatten.
autfunction = autfunction.split(",");
var afunction = "";
for (var i = 0; i < autfunction.length; i++)
{
afunction += (i > 0? ", " : "" ) + safe.quoted_sql(autfunction[i]);
}
// Als een srtdisc_key meegegeven dan geen lege optie
srtdiscsql = "SELECT sd.ins_srtdiscipline_key"
+ ", "+ lcl.xsqla('sd.ins_srtdiscipline_omschrijving', 'ins_srtdiscipline_key')
+ " FROM ins_srtdiscipline sd"
@@ -32,7 +40,7 @@ srtdiscsql = "SELECT sd.ins_srtdiscipline_key"
+ " AND EXISTS (SELECT 'y'"
+ " FROM fac_v_my_disciplines md"
+ " , mld_v_aanwezigdiscipline m1"
+ " WHERE fac_functie_code = " + safe.quoted_sql(autfunction) + " "
+ " WHERE fac_functie_code IN (" + afunction + ")"
+ " AND prs_perslid_key = " + user_key
+ " AND m1.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
+ " AND md.ins_discipline_key = m1.ins_discipline_key"
@@ -43,7 +51,7 @@ srtdiscsql = "SELECT sd.ins_srtdiscipline_key"
+ " ORDER BY 2";
FCLTselectorOptions(srtdiscsql,
{ initKey: sel_srtdisc_key,
onChange: 'updateDisc("' + urole + '", "' + autfunction + '");',
onChange: 'updateDisc("' + urole + '");',
emptyOption: (srtdisc_key == -1? L("lcl_all") : null) // Als een srtdisc_key is meegegeven dan geen lege optie.
}) ;
%>

View File

@@ -27,12 +27,20 @@ var noExpired = getQParamInt("noExpired", 0) == 1;
var faq = getQParamInt("faq", 0) == 1; // alleen waar faqs van zijn
var sel_stdm_key_arr = getQParamIntArray("sel_stdm_key_arr", []); // Geselecteerde soort Melding.
// Autfunction kan meerdere autfuncties bevatten.
autfunction = autfunction.split(",");
var afunction = "";
for (var i = 0; i < autfunction.length; i++)
{
afunction += (i > 0? ", " : "" ) + safe.quoted_sql(autfunction[i]);
}
var stdmsql_aut = "SELECT ins_discipline_key"
+ " FROM fac_v_webgebruiker g"
+ ", fac_functie f"
+ " WHERE g.prs_perslid_key = " + user_key
+ " AND f.fac_functie_key = g.fac_functie_key"
+ " AND f.fac_functie_code = " + safe.quoted_sql(autfunction)
+ " AND f.fac_functie_code IN (" + afunction + ")"
+ " AND g.fac_gebruiker_alg_level_read < 9"; // MGE: Als alg_level_read = 9 dan komt waarde niet meer voor in fac_v_webgebruiker. Regel zou dus weg kunnen
var stdmsql = "SELECT mld_stdmelding_key"
@@ -56,7 +64,7 @@ var stdmsql = "SELECT mld_stdmelding_key"
+ (faq == 1
? " AND EXISTS (SELECT '' FROM fac_faq f WHERE f.mld_stdmelding_key = sm.mld_stdmelding_key)"
: "")
+ (autfunction != ""
+ (afunction != ""
? " AND sm.mld_ins_discipline_key IN (" + stdmsql_aut + ")"
: "")
+ (noExpired