DJIN#36213 Bij automatisch user aanmaken beter omgaan met de afdeling-naam

svn path=/Website/branches/v2017.1/; revision=34382
This commit is contained in:
Jos Groot Lipman
2017-06-21 14:03:45 +00:00
parent 1f1d1ea2d6
commit ed533f88d4

View File

@@ -1411,9 +1411,41 @@ function process_claim(claim, idp_data, params)
case 11: persdata["mobile"] = val; break;
// de foreigns
case 20: if (val)
persdata["function"] = { name: val }; break;
case 21: if (val)
persdata["department"] = { name: val }; break;
persdata["function"] = { name: val }; break; // Kan omdat fields.function.desc_is_unique is gezet
case 21: if (val) // afdeling
{
// Zoek afdeling
var sql = "SELECT prs_afdeling_key"
+ " FROM prs_v_afdeling"
+ " WHERE prs_afdeling_verwijder IS NULL"
+ " AND prs_afdeling_upper = " + safe.quoted_sql_upper(val);
if (idp_data.department)
{
sql += " AND prs_afdeling_parentkey = " + idp_data.department.id;
}
else
{
if (idp_data.company)
sql += " AND prs_bedrijf_key = " + idp_data.company.id;
}
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
__Log("Claimed department {0} not found".format(val));
// Er komt eventueel wel een fallback naar idp_data.department.id
}
else
{
var afd_key = oRs("prs_afdeling_key").Value;
oRs.MoveNext();
if (!oRs.Eof)
shared.internal_error("Claimed department {0} not unique".format(val));
persdata["department"] = afd_key;
}
oRs.Close();
break;
}
// De 1-n
case 100: persdata.authorisation = val; break;
case 101: persdata.workplace = val; break;