FCLT#83231 Individuele vervangers moeten blijven werken ongeacht prs_collegas_groep
svn path=/Website/trunk/; revision=64640
This commit is contained in:
@@ -1504,12 +1504,14 @@ Perslid.prototype._require_prs_collegas = function __require_prs_collegas()
|
||||
this._prs_collegas = [];
|
||||
this._prs_collegas[this._prs_perslid_key] = true;
|
||||
var sql = "SELECT prs_perslid_key"
|
||||
+ " , 0 isgroep"
|
||||
+ " FROM prs_collega"
|
||||
+ " WHERE prs_perslid_key_alt = " + this._prs_perslid_key;
|
||||
if (S("prs_collegas_groep") > 0)
|
||||
{
|
||||
sql += " UNION ALL"
|
||||
+ " SELECT prs_perslid_key "
|
||||
+ " SELECT prs_perslid_key"
|
||||
+ " , 1 isgroep"
|
||||
+ " FROM fac_gebruikersgroep fgg "
|
||||
+ " WHERE EXISTS "
|
||||
+ " (SELECT 1 "
|
||||
@@ -1522,7 +1524,7 @@ Perslid.prototype._require_prs_collegas = function __require_prs_collegas()
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
this._prs_collegas[oRs("prs_perslid_key").Value]=true;
|
||||
this._prs_collegas[oRs("prs_perslid_key").Value]=oRs("isgroep").Value;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -1548,15 +1550,23 @@ Perslid.prototype.hasCollegas = function (prs_key)
|
||||
Perslid.prototype.collegakeylist = function ()
|
||||
{
|
||||
this._require_prs_collegas();
|
||||
var prsKeys = [];
|
||||
for (var prs_key in this._prs_collegas)
|
||||
var vervangerKeys = [];
|
||||
var groepKeys = [];
|
||||
for (var i=0; i<this._prs_collegas.length; i++)
|
||||
{
|
||||
prsKeys.push(prs_key);
|
||||
switch (this._prs_collegas[i])
|
||||
{
|
||||
case 0: vervangerKeys.push(i); break; // vervangers bij persoon
|
||||
case 1: groepKeys.push(i); break; // vervangers in autorisatiegroepen
|
||||
// geen default: voor alle andere i=prs_perslid_key is er geen waarde.
|
||||
}
|
||||
}
|
||||
if (S("prs_collegas_groep") > 0 && prsKeys.length > S("prs_collegas_groep"))
|
||||
|
||||
var prsKeys = vervangerKeys.concat(groepKeys); // alle vervangers
|
||||
if (S("prs_collegas_groep") > 0 && groepKeys.length > S("prs_collegas_groep"))
|
||||
{
|
||||
__Log("Te veel vervangers gedefinieerd ({0}). Alle vervangers worden genegeerd.".format(prsKeys.length), "#FF0000");
|
||||
return String(this._prs_perslid_key); // Dan negeren we alle collega's
|
||||
__Log("Te veel groepsvervangers gedefinieerd ({0}). Alle groepsvervangers worden genegeerd.".format(groepKeys.length), "#FF0000");
|
||||
var prsKeys = vervangerKeys.concat(this._prs_perslid_key); // Dan negeren we alleen groepsvervangers
|
||||
}
|
||||
return prsKeys.join(", ");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user