Files
Facilitor/APPL/SCF/scaffolding_save.inc
Jos Groot Lipman 18aa560f48 FSN#36126 Eenvoudiger personen in meerdere groepen kunnen zetten
svn path=/Website/trunk/; revision=32887
2017-02-21 15:34:13 +00:00

81 lines
2.2 KiB
PHP

<% /*
$Revision$
$Id$
File: scaffolding_save.asp
Description: save information from scaffolding_edit.asp
Parameters:
Context:
Note:
*/
function scaffolding_save(model, scf_params)
{
protectRequest.validateToken();
var key = getQParamInt( "id" );
var formfields = [];
for (var fld in model.fields)
{
var field = model.fields[fld];
if (fld == "id")
continue;
if (fld.readonly)
continue;
if (field.insertonly && key > 0)
continue;
formfields.push({ name: fld, frm: fld });
}
var params = { filter: { "id": key } };
if (!(key > 0))
params.multiadd = scf_params.incsetting.multiadd;
var jsondata = api2.form2JSONdata(model, params, formfields);
params.properties = { extraserie: false,
nameprefix: "k"
};
if (model.includes && "custom_fields" in model.includes)
jsondata.custom_fields = flexkenmerken2jsondata(params.properties);
if (key > 0)
{
if ("hook_pre_put" in model)
model.hook_pre_put(params, jsondata, key);
var restresult = model.REST_PUT(params, jsondata, key);
}
else
{
if ("hook_pre_post" in model)
model.hook_pre_post(params, jsondata);
if (params.multiadd)
{
key = [];
var arr = jsondata[params.multiadd]; // Dit zal dan een Array zijn
for (var i = 0; i < arr.length; i++)
{
jsondata[params.multiadd] = arr[i];
var restresult = model.REST_POST(params, jsondata);
key.push(restresult.key);
}
}
else
{
var restresult = model.REST_POST(params, jsondata);
key = restresult.key;
}
}
var warning = restresult.warning;
var result = { key: key,
warning: warning,
keepForm: !!warning,
success: true };
Response.ContentType = "application/json";
Response.Write(JSON.stringify(result));
}
%>