Intern altijd kaal data-record zonder model-wrapper
svn path=/Website/trunk/; revision=25729
This commit is contained in:
@@ -482,9 +482,6 @@ api2 = {
|
||||
// Bouw een fields object zoals save2db dat verwacht/ kent
|
||||
update_fields: function _update_fields(params, model, jsondata)
|
||||
{
|
||||
if (jsondata[model.record_name])
|
||||
jsondata = jsondata[model.record_name]; // dereference
|
||||
|
||||
var fields = {};
|
||||
for (var fld in model.fields)
|
||||
{
|
||||
@@ -560,9 +557,6 @@ api2 = {
|
||||
// Verwerk de POST en PUT (== insert en update)
|
||||
process_includes: function(params, model, jsondata, the_key)
|
||||
{
|
||||
if (jsondata[model.record_name])
|
||||
jsondata = jsondata[model.record_name]; // dereference
|
||||
|
||||
if (!model.includes)
|
||||
return [];
|
||||
for (var incname in model.includes)
|
||||
@@ -622,7 +616,7 @@ api2 = {
|
||||
}
|
||||
}
|
||||
},
|
||||
// Geeft de GET terug
|
||||
// Geeft de GET terug van een enkel veld
|
||||
sql2jsonval: function(oRs, fld, model)
|
||||
{
|
||||
var field = model.fields[fld];
|
||||
@@ -709,6 +703,7 @@ api2 = {
|
||||
options.push("<option value='" + safe.htmlattr(l) + "'" + (l == current?" selected='1'":"") + ">" + safe.html(spl[l]) + "</option>");
|
||||
return "<select>" + options.join("") + "</select>";
|
||||
},
|
||||
// Geef alle velden van een record terug
|
||||
sql2jsonfields: function (oRs, model)
|
||||
{
|
||||
var record = {};
|
||||
@@ -918,6 +913,21 @@ api2 = {
|
||||
fields[fld] = newfield;
|
||||
}
|
||||
},
|
||||
// Maak van inkomende data een standaard formaat
|
||||
cleanup_data: function(model, jsondata)
|
||||
{
|
||||
// foreigns's leveren we op als issuetype: { id: 123, name: "de standaardmelding") }
|
||||
// Zo mag je het met een PUT en POST ook opgeven maar we ondersteunen/prefereren ook rechtstreeks issuetype: 123
|
||||
// Onderstaande functie converteert inkomende data naar het simpele formaat
|
||||
for (var fld in model.fields)
|
||||
{
|
||||
if (model.fields[fld].foreign)
|
||||
{
|
||||
if (fld in jsondata && typeof jsondata[fld] == "object" && "id" in jsondata[fld])
|
||||
jsondata[fld] = jsondata[fld].id;
|
||||
}
|
||||
}
|
||||
},
|
||||
get_jdata_refkey: function(jsondataobject)
|
||||
{
|
||||
var value = null;
|
||||
|
||||
@@ -206,17 +206,20 @@ api2_rest = {
|
||||
model.includes["custom_fields"].model.streamattachment(filter, data[0].custom_fields);
|
||||
Response.End;
|
||||
}
|
||||
else if (method == "GET" || model.record_name in jsondata)
|
||||
else if (method == "GET")
|
||||
{
|
||||
var result = model["REST_" + method]( requestparams, jsondata, key );
|
||||
var result = model["REST_" + method]( requestparams, null, key );
|
||||
}
|
||||
else if (model.record_name in jsondata) // een enkel record
|
||||
{
|
||||
var result = model["REST_" + method]( requestparams, jsondata[model.record_name], key );
|
||||
}
|
||||
else
|
||||
{ // Loop door de multiple records en geef de REST_ functie altijd <20><>n record
|
||||
for (var record in jsondata[model.records_name])
|
||||
{
|
||||
var thisdata = {};
|
||||
thisdata[model.record_name] = jsondata[model.records_name][record];
|
||||
var result = model["REST_" + method]( requestparams, thisdata, thisdata[model.record_name].id );
|
||||
var thisdata = jsondata[model.records_name][record];
|
||||
var result = model["REST_" + method]( requestparams, thisdata, thisdata.id );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,12 +93,12 @@ model_appointments =
|
||||
_validate_fields: function (dbfields, params, jsondata) /* valideer dbfields, alle constraints die niet door de database worden afgevangen */
|
||||
{
|
||||
// TODO: vis_fe_afspraak_limiet en vis_afspraak_limiet controleren
|
||||
if (jsondata.appointment.from < new Date().midnight())
|
||||
if (jsondata.from < new Date().midnight())
|
||||
abort_with_warning(L("lcl_vis_error_date"));
|
||||
if (jsondata.appointment.from >= jsondata.appointment.to)
|
||||
if (jsondata.from >= jsondata.to)
|
||||
abort_with_warning(L("lcl_vis_error_date"));
|
||||
|
||||
if ("action" in jsondata.appointment)
|
||||
if ("action" in jsondata)
|
||||
{
|
||||
// TODO: mag hij? Of controleren we dat in _validate_fields
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ model_invoicelines =
|
||||
_validate_fields: function (dbfields, params, jsondata) /* valideer dbfields, alle constraints die niet door de database worden afgevangen */
|
||||
{
|
||||
//__Log(jsondata);
|
||||
//var factuurregel_key = parseInt(jsondata.invoiceline.id);
|
||||
//var factuurregel_key = parseInt(jsondata.id);
|
||||
},
|
||||
|
||||
_synchronize_totals_sql: function (factuur_key)
|
||||
|
||||
@@ -73,17 +73,17 @@ function model_invoices(fin_key, params)
|
||||
function _pre_analyze_fields (params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
|
||||
{
|
||||
// De factuurbedragen worden berekend uit de factuurregels. Eventuele waarden die hier gezet zijn negeren.
|
||||
jsondata.invoice.total = 0;
|
||||
jsondata.invoice.vat = 0;
|
||||
jsondata.total = 0;
|
||||
jsondata.vat = 0;
|
||||
|
||||
// Status van 3 (foute import) moet bij saven op 2 worden gezet.
|
||||
var fin_status_key = jsondata.invoice.status;
|
||||
var fin_status_key = jsondata.status;
|
||||
if (fin_status_key == 3) fin_status_key = 2;
|
||||
|
||||
// Status 6 (Akkoord) moet bij saven op 2 (Ingevoerd) worden gezet. Factuur dient indien nodig weer gefiatteerd te worden.
|
||||
if (fin_status_key == 6) fin_status_key = 2;
|
||||
|
||||
jsondata.invoice.status = fin_status_key;
|
||||
jsondata.status = fin_status_key;
|
||||
};
|
||||
|
||||
function _analyze_fields (dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
|
||||
@@ -91,7 +91,7 @@ model_regions =
|
||||
REST_PUT: function (params, jsondata, the_key) /* update region */
|
||||
{
|
||||
model_regions._check_authorization(params, "PUT");
|
||||
if (!jsondata.region.id) jsondata.region.id = the_key;
|
||||
if (!jsondata.id) jsondata.id = the_key;
|
||||
var reg_key = the_key;
|
||||
var dbfields = api2.update_fields(params, model_regions, jsondata); // Build updater
|
||||
var wheres = [" alg_regio_key = " + reg_key];
|
||||
|
||||
@@ -73,8 +73,6 @@ function model_reportsx(usrrap_key, params)
|
||||
|
||||
this._analyze_fields = function (dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
{
|
||||
if ("report" in jsondata)
|
||||
jsondata = jsondata.report; // dereference
|
||||
if (user.oslogin() != "_FACILITOR") // Die mag alles
|
||||
{
|
||||
user.auth_required_or_abort(this.is_safe_view(jsondata.viewname));
|
||||
|
||||
@@ -123,12 +123,12 @@ function model_reservations(rsv_key, params)
|
||||
function _analyze_fields(dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
/* res_ruimte+config wordt bijvoorbeeld omgezet in res_ruimte_opstel_key */
|
||||
{
|
||||
if ("resroom" in jsondata.reservation)
|
||||
if ("resroom" in jsondata)
|
||||
{
|
||||
var res_ruimte_key = parseInt(jsondata.reservation.resroom);
|
||||
var res_ruimte_key = parseInt(jsondata.resroom);
|
||||
var res_opstel_key = -1;
|
||||
if ("configuration" in jsondata.reservation) // Pas op: opstelling 'Standaard' heeft soms key 0
|
||||
res_opstel_key = parseInt(jsondata.reservation.configuration);
|
||||
if ("configuration" in jsondata) // Pas op: opstelling 'Standaard' heeft soms key 0
|
||||
res_opstel_key = parseInt(jsondata.configuration);
|
||||
|
||||
// De default komt bovenaan
|
||||
var sql = "SELECT rro.res_ruimte_opstel_key"
|
||||
@@ -159,7 +159,7 @@ function model_reservations(rsv_key, params)
|
||||
// var soort = 1; // algemene ruimtes
|
||||
}
|
||||
|
||||
if ("activity" in jsondata.reservation)
|
||||
if ("activity" in jsondata)
|
||||
{
|
||||
// TODO: mag hij? Of controleren we dat in _validate_fields
|
||||
}
|
||||
@@ -177,7 +177,7 @@ function model_reservations(rsv_key, params)
|
||||
+ " AND rs.res_srtactiviteit_key = ra.res_srtactiviteit_key"
|
||||
+ " AND res_srtactiviteit_soort = " + soort;
|
||||
oRs = Oracle.Execute(sql);
|
||||
//jsondata.reservation.activity = oRs("res_activiteit_key").Value;
|
||||
//jsondata.activity = oRs("res_activiteit_key").Value;
|
||||
dbfields["activity"] = { dbs: "res_activiteit_key", typ: "key", val: oRs("res_activiteit_key").Value };
|
||||
oRs.Close()
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ function model_rooms(room_key, params)
|
||||
function _save_flexproperties(room_key, params, jsondata)
|
||||
{
|
||||
var flextrack = [];
|
||||
var flexdata = jsondata.room.custom_fields;
|
||||
var flexdata = jsondata.custom_fields;
|
||||
|
||||
currentKenmerkenSQL = " SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
@@ -222,7 +222,7 @@ function model_rooms(room_key, params)
|
||||
this.REST_PUT = function (params, jsondata, the_key) /* update room */
|
||||
{
|
||||
_check_authorization(params, "PUT");
|
||||
if (!jsondata.room.id) jsondata.room.id = the_key;
|
||||
if (!jsondata.id) jsondata.id = the_key;
|
||||
var room_key = the_key;
|
||||
|
||||
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
|
||||
|
||||
Reference in New Issue
Block a user