KFSG#41700 -- Scim koppeling realiseren (lege elementen verwdijderen)
svn path=/Website/branches/v2017.2/; revision=35774
This commit is contained in:
@@ -154,16 +154,11 @@ function transform_one_department(params, department)
|
||||
|
||||
|
||||
var unique = FCLT.DEZE.customerId + "_department_" + String(department.id);
|
||||
var costc = "";
|
||||
if (department.costcentre)
|
||||
{
|
||||
costc = department.costcentre.name;
|
||||
}
|
||||
|
||||
var onedepartment = {
|
||||
"code":department.description,
|
||||
"externalid":department.externalid,
|
||||
"id":unique,
|
||||
"costCenter":costc,
|
||||
"schemas":[
|
||||
"urn:ietf:params:scim:schemas:extension:2.0:OrgUnit",
|
||||
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:OrgUnit"
|
||||
@@ -176,6 +171,11 @@ function transform_one_department(params, department)
|
||||
}
|
||||
}
|
||||
|
||||
if (department.costcentre)
|
||||
{
|
||||
onedepartment.costCenter = department.costcentre.name;
|
||||
}
|
||||
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var eTag = '"' + oCrypto.hex_sha1(FCLT.DEZE.JSON.stringify(onedepartment)).toLowerCase() + '"';
|
||||
onedepartment.meta["version"] = "W/" + eTag; // Weak eTag?
|
||||
|
||||
@@ -132,6 +132,9 @@ function transform_incoming(params, data)
|
||||
deactivated : data["active"]?null:new Date(),
|
||||
employeenumber : get_element(enterprise["employeeNumber"])
|
||||
};
|
||||
|
||||
person["function"] = { name: "Onbekend" }; // geen onderdeel van de interface
|
||||
|
||||
|
||||
var dep_id = "";
|
||||
if (facilitor["orgUnit"] && facilitor["orgUnit"]["value"] )
|
||||
@@ -141,16 +144,14 @@ function transform_incoming(params, data)
|
||||
|
||||
person["department"] = { id: dep_id };
|
||||
|
||||
person["function"] = { name: get_element(facilitor["title"]) } // id mag achterwege blijven omdat desc_is_unique
|
||||
|
||||
if (data["emails"])
|
||||
if (data["emails"] && data["emails"][0])
|
||||
{
|
||||
person.email = get_element(data["emails"][0].value); // type:work/primary:true opzoeken ?
|
||||
person.email = get_element(data["emails"][0].value); // type:work/primary:true opzoeken ?
|
||||
}
|
||||
|
||||
person.mobile = "";
|
||||
person.phone = "";
|
||||
if (data["phoneNumbers"])
|
||||
if (data.phoneNumbers)
|
||||
{
|
||||
for (var j = 0; j < data["phoneNumbers"].length; j++)
|
||||
{ if (data["phoneNumbers"][j]["type"] == 'mobile')
|
||||
@@ -164,39 +165,19 @@ function transform_incoming(params, data)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
person["function"] = { name: get_element(facilitor["title"]) } // id mag achterwege blijven omdat desc_is_unique
|
||||
|
||||
if (person["function"]["name"])
|
||||
{
|
||||
// Als de functie (srt_perslid) nog niet bestaat gaan we deze aanmaken.
|
||||
var sql = "SELECT prs_srtperslid_key FROM prs_srtperslid "
|
||||
+ "WHERE prs_srtperslid_verwijder IS NULL "
|
||||
+ " AND prs_srtperslid_upper = " + FCLT.DEZE.safe.quoted_sql(person["function"]["name"].toUpperCase());
|
||||
var oRs = FCLT.DEZE.Oracle.Execute(sql);
|
||||
|
||||
if (oRs.eof)
|
||||
{
|
||||
sql = "INSERT INTO prs_srtperslid (prs_srtperslid_omschrijving) "
|
||||
+ "VALUES (" + FCLT.DEZE.safe.quoted_sql(person["function"]["name"]) + ")";
|
||||
FCLT.DEZE.Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
return { person: person };
|
||||
}
|
||||
|
||||
function transform_one_person(params, person)
|
||||
{
|
||||
var unique = FCLT.DEZE.customerId + "_person_" + String(person.id);
|
||||
|
||||
var oneuser = {
|
||||
"userName":person.externallogin || person.login,
|
||||
"externalId":person.externalid,
|
||||
"id":unique,
|
||||
"name":{
|
||||
"formatted":person.name,
|
||||
"familyName":person.lastname,
|
||||
"givenName":person.firstname,
|
||||
"middleName":person.middlename
|
||||
"familyName":person.lastname
|
||||
},
|
||||
"schemas":[
|
||||
"urn:ietf:params:scim:schemas:core:2.0:User",
|
||||
@@ -210,25 +191,6 @@ function transform_one_person(params, person)
|
||||
"location":FCLT.DEZE.HTTP.urlzelf() + "/appl/SCIM/Users/" + unique,
|
||||
"resourceType":"User"
|
||||
},
|
||||
"emails":[
|
||||
{
|
||||
"value":person.email,
|
||||
"type":"work",
|
||||
"primary":true
|
||||
}
|
||||
],
|
||||
"phoneNumbers":[
|
||||
{
|
||||
"value":person.mobile,
|
||||
"type":"mobile",
|
||||
"primary":true
|
||||
},
|
||||
{
|
||||
"value":person.phone,
|
||||
"type":"work",
|
||||
"primary":false
|
||||
}
|
||||
],
|
||||
"groups":[],
|
||||
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" :
|
||||
{
|
||||
@@ -241,10 +203,42 @@ function transform_one_person(params, person)
|
||||
"value":FCLT.DEZE.customerId + "_department_" + String(person.department.id),
|
||||
"$ref":FCLT.DEZE.HTTP.urlzelf() + "/appl/SCIM/OrgUnits/" + FCLT.DEZE.customerId + "_department_" + String(person.department.id)
|
||||
},
|
||||
"initials":person.initials,
|
||||
"title":person["function"].name
|
||||
"initials":person.initials
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (person.middlename) oneuser.name.middleName = person.middlename;
|
||||
if (person.firstname) oneuser.name.givenName = person.firstname;
|
||||
if (person.externalid) oneuser.externalId =person.externalid;
|
||||
if (person.email)
|
||||
{
|
||||
oneuser.emails = [
|
||||
{
|
||||
"value":person.email,
|
||||
"type":"work",
|
||||
"primary":true
|
||||
}];
|
||||
}
|
||||
|
||||
var phoneNumbers = [];
|
||||
|
||||
if (person.mobile)
|
||||
phoneNumbers.push(
|
||||
{
|
||||
"value":person.mobile,
|
||||
"type":"mobile",
|
||||
"primary":true
|
||||
});
|
||||
if (person.phone)
|
||||
phoneNumbers.push(
|
||||
{
|
||||
"value":person.phone,
|
||||
"type":"work",
|
||||
"primary":false
|
||||
});
|
||||
oneuser.phoneNumbers = phoneNumbers;
|
||||
|
||||
var allgroups = [];
|
||||
for (var j = 0; j < person.authorization.length; j++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user