KFSG#47267 Personen via SCIM/REST API kunnen reanimeren
svn path=/Website/branches/v2017.2/; revision=35753
This commit is contained in:
@@ -320,9 +320,39 @@ function model_prs_perslid(params)
|
||||
};
|
||||
|
||||
// We willen vooral dat je via Admin/Autorisatie personen niet met API kunt bewerken
|
||||
if (params.internal) // bijvoorbeeld idp die personen kan aanmaken
|
||||
// if (params.internal) // bijvoorbeeld idp die personen kan aanmaken
|
||||
{
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_POST = function (params, jsondata, parent_key)
|
||||
{
|
||||
if (jsondata.externalid)
|
||||
{ // Als hij al verwijderd bestond reanimeren we
|
||||
// Onze eigen REST_GET geeft nooit verwijderde records, daarom via SQL
|
||||
var sql = "SELECT prs_perslid_key, "
|
||||
+ " prs_perslid_verwijder"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_externid = " + safe.quoted_sql(jsondata.externalid)
|
||||
+ " AND prs_perslid_verwijder IS NOT NULL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
var the_key = oRs("prs_perslid_key").Value;
|
||||
var verwijder = new Date(oRs("prs_perslid_verwijder").Value);
|
||||
oRs.Close();
|
||||
var sql = "UPDATE prs_perslid"
|
||||
+ " SET prs_perslid_verwijder = NULL"
|
||||
+ " WHERE prs_perslid_key = " + the_key;
|
||||
Oracle.Execute(sql);
|
||||
shared.trackaction("PRSLOG", the_key, "User was deleted on {0}, now reanimated.".format(toDateTimeString(verwijder, true)));
|
||||
|
||||
return generic_REST_PUT(this)(params, jsondata, the_key); // bijwerken
|
||||
}
|
||||
oRs.Close();
|
||||
// doorvallen naar gewone POST
|
||||
}
|
||||
// Else gewoon een nieuwe
|
||||
return generic_REST_POST(this)(params, jsondata, parent_key)
|
||||
}
|
||||
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_DELETE = generic_REST_DELETE(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user