Alle API's via nieuwe stijl fields
svn path=/Website/trunk/; revision=24435
This commit is contained in:
@@ -91,6 +91,9 @@ api2 = {
|
||||
Session.Codepage = 65001; // We doen *uitsluitend* utf-8
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
if (typeof model == "function") // Nieuwe stijl is het een function. Even compatible.
|
||||
model = new model();
|
||||
|
||||
api2.authenticate(model);
|
||||
|
||||
var method = String(Request.ServerVariables("REQUEST_METHOD"));
|
||||
@@ -152,8 +155,8 @@ api2 = {
|
||||
var result = { id: model.records_name,
|
||||
methods: [],
|
||||
includes: [],
|
||||
filters: [],
|
||||
labels: api2.labels(model) };
|
||||
fields: []
|
||||
};
|
||||
for (var i in model.includes)
|
||||
result.includes.push(i);
|
||||
if ("REST_GET" in model)
|
||||
@@ -167,10 +170,11 @@ api2 = {
|
||||
|
||||
for (var fld in model.fields)
|
||||
{ // TODO: We missen hard-coded filters als reservableequipment/allowedinroom nu nog
|
||||
if (model.fields[fld].filter)
|
||||
result.filters.push({ id: fld,
|
||||
if (!model.fields.hidden)
|
||||
result.fields.push({ id: fld,
|
||||
filter: model.fields[fld].filter,
|
||||
type: model.fields[fld].typ
|
||||
type: model.fields[fld].typ,
|
||||
label: model.fields[fld].label
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -240,19 +244,6 @@ api2 = {
|
||||
}
|
||||
return filter;
|
||||
},
|
||||
labels: function _labels(model)
|
||||
{
|
||||
var result = {};
|
||||
for (var fld in model.fields)
|
||||
{
|
||||
if (model.fields[fld].label)
|
||||
result[fld] = model.fields[fld].label;
|
||||
else if (typeof model.fields[fld].track == 'string')
|
||||
result[fld] = model.fields[fld].track;
|
||||
}
|
||||
return result;
|
||||
|
||||
},
|
||||
/*
|
||||
We begonnen ooit met fields als een array van { name: "xxx", dbs: "yyyy", .... }
|
||||
Maar later bleek het handiger een hash van "xxx": { dbs: "yyyy", .... }
|
||||
@@ -262,15 +253,8 @@ api2 = {
|
||||
*/
|
||||
normalize: function _normalize(model)
|
||||
{
|
||||
if (!model.fields.length)
|
||||
return; // het is al een hash
|
||||
var newfields = {};
|
||||
for (var i in model.fields)
|
||||
{
|
||||
newfields[model.fields[i]["name"]] = model.fields[i];
|
||||
//delete model.fields[i]["name"];
|
||||
}
|
||||
model.fields = newfields;
|
||||
if (model.fields.length)
|
||||
OLD_STYLE_MODEL_DETECTED
|
||||
},
|
||||
form2JSONdata: function _form2JSONdata(model, params, formfields) // Maak een jsondata-object voor gebruik vanuit model_xxx.inc
|
||||
{
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_apis.inc
|
||||
|
||||
Description: Api model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Api model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -16,11 +15,12 @@
|
||||
<%
|
||||
model_apis =
|
||||
{
|
||||
table: null,
|
||||
primary: null,
|
||||
table: "apis",
|
||||
primary: "id",
|
||||
records_name: "apis",
|
||||
record_name: "api",
|
||||
fields: [],
|
||||
fields : { "id" : { xxdbs: "fac_usrrap_key", typ: "varchar", label: "Api", filter: "exact" }},
|
||||
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
var autfunction = "WEB_PRSSYS"; // is dit niet erg streng?
|
||||
@@ -57,6 +57,10 @@ model_apis =
|
||||
},
|
||||
DELETE: function (params) /* delete api */
|
||||
{
|
||||
}
|
||||
},
|
||||
|
||||
search: { autosubmit: true },
|
||||
list: { default_url: "api2/{0}.scf" }
|
||||
// list: { default_url: "api2/{0}.api?pretty=1" }
|
||||
}
|
||||
%>
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_appointments.inc
|
||||
|
||||
Description: Afspraken model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Afspraken model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -106,7 +105,7 @@ model_appointments =
|
||||
+ " ORDER BY bez_actie_default DESC NULLS LAST, bez_actie_omschrijving";
|
||||
|
||||
var oRs = Oracle.Execute(sqla);
|
||||
fields.push({ dbs: "bez_actie_key", typ: "key", val: oRs("bez_actie_key").Value });
|
||||
fields["action"] = { dbs: "bez_actie_key", typ: "key", val: oRs("bez_actie_key").Value };
|
||||
oRs.Close()
|
||||
}
|
||||
}
|
||||
@@ -143,9 +142,9 @@ model_appointments =
|
||||
var fields = api2.update_fields(params, model_appointments, jsondata); // Build updater
|
||||
model_appointments._validate_fields(fields, params, jsondata);
|
||||
|
||||
fields.push({ dbs: "bez_afspraak_key", typ: "key", seq: "bez_s_bez_afspraak_key" });
|
||||
fields.push({ dbs: "bez_afspraak_host_key", typ: "key", val: user_key });
|
||||
fields.push({ dbs: "bez_afspraak_contact_key", typ: "key", val: user_key });
|
||||
fields["id"] = { dbs: "bez_afspraak_key", typ: "key", seq: "bez_s_bez_afspraak_key" };
|
||||
fields["host"] = { dbs: "bez_afspraak_host_key", typ: "key", val: user_key };
|
||||
fields["contact"] = { dbs: "bez_afspraak_contact_key", typ: "key", val: user_key };
|
||||
|
||||
var bezIns = buildInsert("bez_afspraak", fields, { noValidateToken: true });
|
||||
var afs_key = bezIns.sequences["bez_afspraak_key"];
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_buildings.inc
|
||||
|
||||
Description: Gebouwen model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Gebouwen model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -21,15 +20,15 @@ model_buildings =
|
||||
primary: "alg_gebouw_key",
|
||||
records_name: "buildings",
|
||||
record_name: "building",
|
||||
fields: [{ name: "id", dbs: "alg_gebouw_key", typ: "key", filter: "exact" },
|
||||
{ name: "code", dbs: "alg_gebouw_code", typ: "varchar", filter: "like" },
|
||||
{ name: "name", dbs: "alg_gebouw_naam", typ: "varchar", filter: "like" },
|
||||
fields: {"id" : { dbs: "alg_gebouw_key", typ: "key", filter: "exact" },
|
||||
"code" : { dbs: "alg_gebouw_code", typ: "varchar", filter: "like" },
|
||||
"name" : { dbs: "alg_gebouw_naam", typ: "varchar", filter: "like" },
|
||||
// is afgeleid gegeven { name: "description", dbs: "alg_gebouw_omschrijving", typ: "varchar"},
|
||||
{ name: "visitable" , dbs: "alg_gebouw_bez", typ: "check", filter: "exact"},
|
||||
{ name: "location", dbs: "alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: "exact"},
|
||||
{ name: "coordinate_x", dbs: "alg_gebouw_x", typ: "number"},
|
||||
{ name: "coordinate_y", dbs: "alg_gebouw_y", typ: "number"},
|
||||
],
|
||||
"visitable" : { dbs: "alg_gebouw_bez", typ: "check", filter: "exact"},
|
||||
"location" : { dbs: "alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: "exact"},
|
||||
"coordinate_x": { dbs: "alg_gebouw_x", typ: "number"},
|
||||
"coordinate_y": { dbs: "alg_gebouw_y", typ: "number"}
|
||||
},
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
var urole = "fe"; // TODO: Moet echt niet ter zake doen
|
||||
|
||||
@@ -4,12 +4,11 @@
|
||||
|
||||
File: model_contours.inc
|
||||
|
||||
Description: CAD contour model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: CAD contour model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes: Dummy placeholder
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
@@ -23,13 +22,13 @@ model_cadcontours =
|
||||
aliasprefix: "CAD.",
|
||||
records_name: "cadcontours",
|
||||
record_name: "cadcontour",
|
||||
fields: [{ name: "id", dbs: "cad_imp_contour_key", typ: "key", filter: "exact" },
|
||||
{ name: "name", dbs: "cad_imp_contour_nr", typ: "varchar", filter: "like" },
|
||||
{ name: "cadarea", dbs: "cad_imp_contour_opp", typ: "float" },
|
||||
{ name: "cadalt1", dbs: "cad_imp_contour_opp_alt1", typ: "float" },
|
||||
{ name: "cadalt2", dbs: "cad_imp_contour.cad_imp_contour_opp_alt2", typ: "float" },
|
||||
{ name: "concept", dbs: "cad_imp_contour_concept", typ: "number" }
|
||||
],
|
||||
fields: {"id" : { dbs: "cad_imp_contour_key", typ: "key", filter: "exact" },
|
||||
"name" : { dbs: "cad_imp_contour_nr", typ: "varchar", filter: "like" },
|
||||
"cadarea" : { dbs: "cad_imp_contour_opp", typ: "float" },
|
||||
"cadalt1" : { dbs: "cad_imp_contour_opp_alt1", typ: "float" },
|
||||
"cadalt2" : { dbs: "cad_imp_contour.cad_imp_contour_opp_alt2", typ: "float" },
|
||||
"concept" : { dbs: "cad_imp_contour_concept", typ: "number" }
|
||||
},
|
||||
|
||||
_check_authorization: function(params, method)
|
||||
{
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_companies.inc
|
||||
|
||||
Description: Bedrijven model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Bedrijven model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -18,33 +17,33 @@ model_companies =
|
||||
primary: "prs_bedrijf_key",
|
||||
records_name: "companies",
|
||||
record_name: "company",
|
||||
fields: [{ name: "id", dbs: "prs_bedrijf_key" , typ: "key", filter: "exact" },
|
||||
{ name: "name", dbs: "prs_bedrijf_naam" , typ: "varchar", filter: "like" },
|
||||
{ name: "postaddress", dbs: "prs_bedrijf_post_adres" , typ: "varchar", filter: "like" },
|
||||
{ name: "postzipcode", dbs: "prs_bedrijf_post_postcode" , typ: "varchar", filter: "like" },
|
||||
{ name: "postcity", dbs: "prs_bedrijf_post_plaats" , typ: "varchar", filter: "like" },
|
||||
{ name: "postcountry", dbs: "prs_bedrijf_post_land" , typ: "varchar", filter: "like" },
|
||||
{ name: "visitaddress", dbs: "prs_bedrijf_bezoek_adres" , typ: "varchar", filter: "like" },
|
||||
{ name: "visitzipcode", dbs: "prs_bedrijf_bezoek_postcode" , typ: "varchar", filter: "like" },
|
||||
{ name: "visitcity", dbs: "prs_bedrijf_bezoek_plaats" , typ: "varchar", filter: "like" },
|
||||
{ name: "visitcountry", dbs: "prs_bedrijf_bezoek_land" , typ: "varchar", filter: "like" },
|
||||
{ name: "phone", dbs: "prs_bedrijf_telefoon" , typ: "varchar", filter: "like" },
|
||||
{ name: "phone2", dbs: "prs_bedrijf_telefoon2" , typ: "varchar", filter: "like" }, /*?*/
|
||||
{ name: "contactname", dbs: "prs_bedrijf_contact_persoon" , typ: "varchar", filter: "like" },
|
||||
{ name: "contactphone", dbs: "prs_bedrijf_contact_telefoon", typ: "varchar", filter: "like" },
|
||||
{ name: "remark", dbs: "prs_bedrijf_opmerking" , typ: "varchar", filter: "like" },
|
||||
{ name: "remark2", dbs: "prs_bedrijf_opmerking2" , typ: "varchar", filter: "like" }, /*?*/
|
||||
{ name: "hourrate", dbs: "prs_bedrijf_uurloon" , typ: "float", filter: "like" },
|
||||
{ name: "code", dbs: "prs_leverancier_nr" , typ: "varchar", filter: "like" },
|
||||
{ name: "agreement", dbs: "prs_overeenkomst_nr" , typ: "varchar", filter: "like" },
|
||||
{ name: "agreementdate",dbs: "prs_overeenkomst_datum" , typ: "date", filter: "range" },
|
||||
{ name: "isinternal", dbs: "prs_bedrijf_intern" , typ: "varchar", filter: "exact" },
|
||||
{ name: "issupplier", dbs: "prs_bedrijf_leverancier" , typ: "varchar", filter: "exact" },
|
||||
{ name: "isexecutor", dbs: "prs_bedrijf_uitvoerende" , typ: "varchar", filter: "exact" }, /*naam?*/
|
||||
{ name: "iscontractor", dbs: "prs_bedrijf_contract" , typ: "varchar", filter: "exact" },
|
||||
{ name: "isrenter", dbs: "prs_bedrijf_huurder" , typ: "varchar", filter: "exact" },
|
||||
{ name: "email", dbs: "prs_bedrijf_email" , typ: "varchar", filter: "like" }
|
||||
],
|
||||
fields: {"id" : { dbs: "prs_bedrijf_key" , typ: "key", filter: "exact" },
|
||||
"name" : { dbs: "prs_bedrijf_naam" , typ: "varchar", filter: "like" },
|
||||
"postaddress" : { dbs: "prs_bedrijf_post_adres" , typ: "varchar", filter: "like" },
|
||||
"postzipcode" : { dbs: "prs_bedrijf_post_postcode" , typ: "varchar", filter: "like" },
|
||||
"postcity" : { dbs: "prs_bedrijf_post_plaats" , typ: "varchar", filter: "like" },
|
||||
"postcountry" : { dbs: "prs_bedrijf_post_land" , typ: "varchar", filter: "like" },
|
||||
"visitaddress" : { dbs: "prs_bedrijf_bezoek_adres" , typ: "varchar", filter: "like" },
|
||||
"visitzipcode" : { dbs: "prs_bedrijf_bezoek_postcode" , typ: "varchar", filter: "like" },
|
||||
"visitcity" : { dbs: "prs_bedrijf_bezoek_plaats" , typ: "varchar", filter: "like" },
|
||||
"visitcountry" : { dbs: "prs_bedrijf_bezoek_land" , typ: "varchar", filter: "like" },
|
||||
"phone" : { dbs: "prs_bedrijf_telefoon" , typ: "varchar", filter: "like" },
|
||||
"phone2" : { dbs: "prs_bedrijf_telefoon2" , typ: "varchar", filter: "like" }, /*?*/
|
||||
"contactname" : { dbs: "prs_bedrijf_contact_persoon" , typ: "varchar", filter: "like" },
|
||||
"contactphone" : { dbs: "prs_bedrijf_contact_telefoon", typ: "varchar", filter: "like" },
|
||||
"remark" : { dbs: "prs_bedrijf_opmerking" , typ: "varchar", filter: "like" },
|
||||
"remark2" : { dbs: "prs_bedrijf_opmerking2" , typ: "varchar", filter: "like" }, /*?*/
|
||||
"hourrate" : { dbs: "prs_bedrijf_uurloon" , typ: "float", filter: "like" },
|
||||
"code" : { dbs: "prs_leverancier_nr" , typ: "varchar", filter: "like" },
|
||||
"agreement" : { dbs: "prs_overeenkomst_nr" , typ: "varchar", filter: "like" },
|
||||
"agreementdate": { dbs: "prs_overeenkomst_datum" , typ: "date", filter: "range" },
|
||||
"isinternal" : { dbs: "prs_bedrijf_intern" , typ: "varchar", filter: "exact" },
|
||||
"issupplier" : { dbs: "prs_bedrijf_leverancier" , typ: "varchar", filter: "exact" },
|
||||
"isexecutor" : { dbs: "prs_bedrijf_uitvoerende" , typ: "varchar", filter: "exact" }, /*naam?*/
|
||||
"iscontractor" : { dbs: "prs_bedrijf_contract" , typ: "varchar", filter: "exact" },
|
||||
"isrenter" : { dbs: "prs_bedrijf_huurder" , typ: "varchar", filter: "exact" },
|
||||
"email" : { dbs: "prs_bedrijf_email" , typ: "varchar", filter: "like" }
|
||||
},
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
var autfunction = "WEB_RELMAN";
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_contracts.inc
|
||||
|
||||
Description: contract model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: contract model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -24,21 +23,21 @@ model_contracts =
|
||||
primary: "cnt_contract_key",
|
||||
records_name: "contracts",
|
||||
record_name: "contract",
|
||||
fields: [{ name: "id", dbs: "cnt_contract_key", typ: "key", filter: "exact" },
|
||||
{ name: "name", dbs: "cnt_contract_nummer_intern", typ: "varchar", filter: "exact" },
|
||||
{ name: "description", dbs: "cnt_contract_omschrijving", typ: "varchar", filter: "like" },
|
||||
{ name: "startdate", dbs: "cnt_contract_looptijd_van", typ: "date", track: L("lcl_cnt_date_start"), filter: "range" },
|
||||
{ name: "reminderdate", dbs: "cnt_contract_rappeldatum", typ: "date", track: L("lcl_cnt_rappel_date"), filter: "range",
|
||||
sql: "cnt.cnt_getRappeldatum(cnt_contract.cnt_contract_key)" },
|
||||
{ name: "canceldate", dbs: "cnt_contract_opzegdatum", typ: "date", track: L("lcl_cnt_cancel_date"), filter: "range",
|
||||
sql: "cnt.cnt_getOpzegdatum(cnt_contract.cnt_contract_key)" },
|
||||
{ name: "enddate", dbs: "cnt_contract_looptijd_tot", typ: "date", track: L("lcl_cnt_enddate"), filter: "range" },
|
||||
{ name: "contractor", dbs: "cnt_prs_bedrijf_key", typ: "key", foreign: "prs_bedrijf", track: L("lcl_cnt_contractant"), filter: "exact" },
|
||||
{ name: "status", dbs: "cnt_contract_status", typ: "key", foreign: cnt.getcntstatustext, track: L("lcl_status"), filter: "exact" },
|
||||
{ name: "department", dbs: "prs_afdeling_key_eig", typ: "key", foreign: "prs_afdeling", track: L("lcl_cnt_owner"), filter: "exact" },
|
||||
{ name: "service", dbs: "prs_dienst_key", typ: "key", foreign: "prs_dienst", track: L("lcl_prs_companies_dienst"), filter: "exact" },
|
||||
{ name: "contracttype", dbs: "ins_discipline_key", typ: "key", foreign: "cnt_discipline", track: L("lcl_cnt_srttype"), filter: "exact" }
|
||||
],
|
||||
fields: {"id" : { dbs: "cnt_contract_key", typ: "key", filter: "exact" },
|
||||
"name" : { dbs: "cnt_contract_nummer_intern", typ: "varchar", filter: "exact" },
|
||||
"description" : { dbs: "cnt_contract_omschrijving", typ: "varchar", filter: "like" },
|
||||
"startdate" : { dbs: "cnt_contract_looptijd_van", typ: "date", track: true, label: L("lcl_cnt_date_start"), filter: "range" },
|
||||
"reminderdate" : { dbs: "cnt_contract_rappeldatum", typ: "date", track: true, label: L("lcl_cnt_rappel_date"), filter: "range",
|
||||
sql: "cnt.cnt_getRappeldatum(cnt_contract.cnt_contract_key)" },
|
||||
"canceldate" : { dbs: "cnt_contract_opzegdatum", typ: "date", track: true, label: L("lcl_cnt_cancel_date"), filter: "range",
|
||||
sql: "cnt.cnt_getOpzegdatum(cnt_contract.cnt_contract_key)" },
|
||||
"enddate" : { dbs: "cnt_contract_looptijd_tot", typ: "date", track: true, label: L("lcl_cnt_enddate"), filter: "range" },
|
||||
"contractor" : { dbs: "cnt_prs_bedrijf_key", typ: "key", foreign: "prs_bedrijf", track: true, label: L("lcl_cnt_contractant"), filter: "exact" },
|
||||
"status" : { dbs: "cnt_contract_status", typ: "key", foreign: cnt.getcntstatustext, track: true, label: L("lcl_status"), filter: "exact" },
|
||||
"department" : { dbs: "prs_afdeling_key_eig", typ: "key", foreign: "prs_afdeling", track: true, label: L("lcl_cnt_owner"), filter: "exact" },
|
||||
"service" : { dbs: "prs_dienst_key", typ: "key", foreign: "prs_dienst", track: true, label: L("lcl_prs_companies_dienst"), filter: "exact" },
|
||||
"contracttype" : { dbs: "ins_discipline_key", typ: "key", foreign: "cnt_discipline", track: true, label: L("lcl_cnt_srttype"), filter: "exact" }
|
||||
},
|
||||
includes: {
|
||||
},
|
||||
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
|
||||
File: model_departments.inc
|
||||
|
||||
Description: department model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: department model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes: Dummy placeholder
|
||||
Notes:
|
||||
*/
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_districts.inc
|
||||
|
||||
Description: District model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: District model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_floors.inc
|
||||
|
||||
Description: floor model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: floor model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -21,12 +20,12 @@ model_floors =
|
||||
primary: "alg_verdieping_key",
|
||||
records_name: "floors",
|
||||
record_name: "floor",
|
||||
fields: [{ name: "id", dbs: "alg_verdieping_key", typ: "key", filter: "exact" },
|
||||
{ name: "name", dbs: "alg_verdieping_omschrijving", typ: "varchar"},
|
||||
{ name: "code", dbs: "alg_verdieping_code", typ: "varchar", filter: "exact"},
|
||||
{ name: "sequence", dbs: "alg_verdieping_volgnr", typ: "number", filter: "exact"}, /* range zou ook kunnen */
|
||||
{ name: "building", dbs: "alg_gebouw_key", typ: "key", foreign: "alg_gebouw"}
|
||||
],
|
||||
fields: {"id" : { dbs: "alg_verdieping_key", typ: "key", filter: "exact" },
|
||||
"name" : { dbs: "alg_verdieping_omschrijving", typ: "varchar"},
|
||||
"code" : { dbs: "alg_verdieping_code", typ: "varchar", filter: "exact"},
|
||||
"sequence": { dbs: "alg_verdieping_volgnr", typ: "number", filter: "exact"}, /* range zou ook kunnen */
|
||||
"building": { dbs: "alg_gebouw_key", typ: "key", foreign: "alg_gebouw"}
|
||||
},
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
var urole = "fe"; // TODO: Moet echt niet ter zake doen
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_invoicelines.inc
|
||||
|
||||
Description: Factuurregel model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Factuurregel model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -25,16 +24,16 @@ model_invoicelines =
|
||||
primary: "fin_factuurregel_key",
|
||||
records_name: "invoicelines",
|
||||
record_name: "invoiceline",
|
||||
fields: [{ name: "id", dbs: "fin_factuurregel_key", typ: "key", filter: "exact" },
|
||||
{ name: "name", dbs: "fin_factuurregel_omschrijving", typ: "varchar", track: L("lcl_descr"), filter: "like" },
|
||||
{ name: "line", dbs: "fin_factuurregel_nr", typ: "number" },
|
||||
{ name: "total", dbs: "fin_factuurregel_totaal", typ: "float", track: L("lcl_fin_total_sum_exBTW") },
|
||||
{ name: "vat", dbs: "fin_factuurregel_btw", typ: "float", track: L("lcl_fin_total_sum_inBTW") },
|
||||
{ name: "reference", dbs: "fin_factuurregel_referentie", typ: "varchar", track: L("lcl_fin_referencecode"), filter: "like" },
|
||||
{ name: "vatvalue", dbs: "fin_btwtabelwaarde_key", typ: "key", foreign: "fin_btwtabelwaarde", track: L("lcl_fin_btwtarief"), filter: "exact" },
|
||||
{ name: "costtype", dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: L("lcl_shared_charge_type"), filter: "exact" }
|
||||
// niet terug linken{ name: "factuur", dbs: "fin_factuur_key", typ: "key", foreign: "fac_factuur", filter: "exact" }
|
||||
],
|
||||
fields: { "id" : { dbs: "fin_factuurregel_key", typ: "key", filter: "exact" },
|
||||
"name" : { dbs: "fin_factuurregel_omschrijving", typ: "varchar", track: true, label: L("lcl_descr"), filter: "like" },
|
||||
"line" : { dbs: "fin_factuurregel_nr", typ: "number" },
|
||||
"total" : { dbs: "fin_factuurregel_totaal", typ: "float", track: true, label: L("lcl_fin_total_sum_exBTW") },
|
||||
"vat" : { dbs: "fin_factuurregel_btw", typ: "float", track: true, label: L("lcl_fin_total_sum_inBTW") },
|
||||
"reference": { dbs: "fin_factuurregel_referentie", typ: "varchar", track: true, label: L("lcl_fin_referencecode"), filter: "like" },
|
||||
"vatvalue" : { dbs: "fin_btwtabelwaarde_key", typ: "key", foreign: "fin_btwtabelwaarde", track: true, label: L("lcl_fin_btwtarief"), filter: "exact" },
|
||||
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type"), filter: "exact" }
|
||||
// niet terug linken{ name: "factuur", dbs: "fin_factuur_key", typ: "key", foreign: "fac_factuur", filter: "exact" }
|
||||
},
|
||||
|
||||
_pre_analyze_fields: function (params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
|
||||
{
|
||||
@@ -166,9 +165,9 @@ model_invoicelines =
|
||||
var volgnr = oRs("volgnr").value + 1;
|
||||
oRs.Close();
|
||||
|
||||
fields.push({ dbs: "fin_factuur_key", typ: "key", val: factuur_key });
|
||||
fields.push({ dbs: "fin_factuurregel_key", typ: "key", seq: "fin_s_fin_factuurregel_key" });
|
||||
fields.push({ dbs: "fin_factuurregel_nr", typ: "number", val: volgnr });
|
||||
fields["invoice"] = { dbs: "fin_factuur_key", typ: "key", val: factuur_key };
|
||||
fields["id"] = { dbs: "fin_factuurregel_key", typ: "key", seq: "fin_s_fin_factuurregel_key" };
|
||||
fields["line"] = { dbs: "fin_factuurregel_nr", typ: "number", val: volgnr };
|
||||
|
||||
var finIns = buildInsert("fin_factuurregel", fields, { noValidateToken: true });
|
||||
var factuurregel_key = finIns.sequences["fin_factuurregel_key"];
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_invoices.inc
|
||||
|
||||
Description: Factuur model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Factuur model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -35,25 +34,25 @@ model_invoices =
|
||||
record_name: "invoice",
|
||||
|
||||
// Het interne factuurnr is de id, het externe nummer is name
|
||||
fields: [{ name: "id", dbs: "fin_factuur_key", typ: "key", filter: "exact" },
|
||||
{ name: "invoicedate", dbs: "fin_factuur_datum", typ: "datetime", track: L("lcl_fin_findate"), filter: "range" },
|
||||
/*readonly*/ { name: "creditor", dbs: "prs_bedrijf_key", typ: "key", foreign: "prs_bedrijf", track: L("lcl_ord_company_uit"), filter: "exact",
|
||||
sql: "COALESCE(mld_opdr.mld_uitvoerende_keys, bes_bestelopdr.prs_bedrijf_key, cnt_contract.cnt_prs_bedrijf_key)" },
|
||||
/*readonly*/ { name: "referencetype", dbs: "dummy", typ: "varchar", filter: "exact",
|
||||
sql: "DECODE(fin_factuur.mld_opdr_key, NULL, DECODE(fin_factuur.bes_bestelopdr_key, NULL, DECODE(fin_factuur.cnt_contract_key, NULL, '?', 'C'), 'B'), 'O')" },
|
||||
{ name: "name", dbs: "fin_factuur_nr", typ: "varchar", track: L("lcl_fin_invoice_nr_extern"), filter: "exact" },
|
||||
{ name: "order", dbs: "mld_opdr_key", typ: "key", foreign: "mld_opdr", filter: "exact"},
|
||||
{ name: "contract", dbs: "cnt_contract_key", typ: "key", foreign: "cnt_contract", filter: "exact"},
|
||||
{ name: "purchaseorder", dbs: "bes_bestelopdr_key", typ: "key", foreign: "bes_bestelopdr", filter: "exact"},
|
||||
{ name: "total", dbs: "fin_factuur_totaal", typ: "float", track: L("lcl_fin_totaal_bedrag"), filter: "range" },
|
||||
{ name: "vat", dbs: "fin_factuur_totaal_btw", typ: "float", track: L("lcl_fin_totaal_bedrag_btw"), filter: "range" },
|
||||
{ name: "status", dbs: "fin_factuur_statuses_key", typ: "key", foreign: fin.getfinstatustext, track: L("lcl_fin_fin_status"), filter: "exact" },
|
||||
{ name: "accountingperiod", dbs: "fin_factuur_boekmaand", typ: "varchar", track: L("lcl_fin_divide_period"), filter: "exact" },
|
||||
{ name: "reference", dbs: "fin_factuur_debiteur_nr", typ: "varchar", track: L("lcl_fin_debtor_nr"), filter: "like" },
|
||||
{ name: "costtype", dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: L("lcl_shared_charge_type"), filter: "exact" },
|
||||
{ name: "contact", dbs: "prs_perslid_key_user", typ: "key", foreign: "prs_perslid", track: L("lcl_mld_name"), filter: "exact" },
|
||||
{ name: "remark", dbs: "fin_factuur_opmerking", typ: "varchar", track: L("lcl_fin_remark"), filter: "like" }
|
||||
],
|
||||
fields: {"id" : { dbs: "fin_factuur_key", typ: "key", filter: "exact" },
|
||||
"invoicedate" : { dbs: "fin_factuur_datum", typ: "datetime", track: true, label: L("lcl_fin_findate"), filter: "range" },
|
||||
/*readonly*/ "creditor" : { dbs: "prs_bedrijf_key", typ: "key", foreign: "prs_bedrijf", track: true, label: L("lcl_ord_company_uit"), filter: "exact",
|
||||
sql: "COALESCE(mld_opdr.mld_uitvoerende_keys, bes_bestelopdr.prs_bedrijf_key, cnt_contract.cnt_prs_bedrijf_key)" },
|
||||
/*readonly*/ "referencetype" : { dbs: "dummy", typ: "varchar", filter: "exact",
|
||||
sql: "DECODE(fin_factuur.mld_opdr_key, NULL, DECODE(fin_factuur.bes_bestelopdr_key, NULL, DECODE(fin_factuur.cnt_contract_key, NULL, '?', 'C'), 'B'), 'O')" },
|
||||
"name" : { dbs: "fin_factuur_nr", typ: "varchar", track: true, label: L("lcl_fin_invoice_nr_extern"), filter: "exact" },
|
||||
"order" : { dbs: "mld_opdr_key", typ: "key", foreign: "mld_opdr", filter: "exact"},
|
||||
"contract" : { dbs: "cnt_contract_key", typ: "key", foreign: "cnt_contract", filter: "exact"},
|
||||
"purchaseorder" : { dbs: "bes_bestelopdr_key", typ: "key", foreign: "bes_bestelopdr", filter: "exact"},
|
||||
"total" : { dbs: "fin_factuur_totaal", typ: "float", track: true, label: L("lcl_fin_totaal_bedrag"), filter: "range" },
|
||||
"vat" : { dbs: "fin_factuur_totaal_btw", typ: "float", track: true, label: L("lcl_fin_totaal_bedrag_btw"), filter: "range" },
|
||||
"status" : { dbs: "fin_factuur_statuses_key", typ: "key", foreign: fin.getfinstatustext, track: true, label: L("lcl_fin_fin_status"), filter: "exact" },
|
||||
"accountingperiod": { dbs: "fin_factuur_boekmaand", typ: "varchar", track: true, label: L("lcl_fin_divide_period"), filter: "exact" },
|
||||
"reference" : { dbs: "fin_factuur_debiteur_nr", typ: "varchar", track: true, label: L("lcl_fin_debtor_nr"), filter: "like" },
|
||||
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type"), filter: "exact" },
|
||||
"contact" : { dbs: "prs_perslid_key_user", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_mld_name"), filter: "exact" },
|
||||
"remark" : { dbs: "fin_factuur_opmerking", typ: "varchar", track: true, label: L("lcl_fin_remark"), filter: "like" }
|
||||
},
|
||||
includes: {"invoicelines": { model: model_invoicelines,
|
||||
joinfield: "fin_factuur_key"
|
||||
}
|
||||
@@ -162,7 +161,7 @@ model_invoices =
|
||||
model_invoices._analyze_fields(fields, params, jsondata);
|
||||
model_invoices._validate_fields(fields, params, jsondata);
|
||||
|
||||
fields.push({ dbs: "fin_factuur_key", typ: "key", seq: "fin_s_fin_factuur_key" });
|
||||
fields["id"] = { dbs: "fin_factuur_key", typ: "key", seq: "fin_s_fin_factuur_key" };
|
||||
var finIns = buildInsert("fin_factuur", fields, { noValidateToken: true} );
|
||||
var factuur_key = finIns.sequences["fin_factuur_key"];
|
||||
|
||||
|
||||
@@ -96,8 +96,8 @@ model_issueobjects =
|
||||
var new_key = null;
|
||||
if (params.isNew)
|
||||
{
|
||||
fields.push({ dbs: "mld_melding_key", typ: "key", val: parent_key });
|
||||
fields.push({ dbs: "mld_melding_object_key", typ: "key", seq: "mld_s_mld_object_key" });
|
||||
fields["issue"] = { dbs: "mld_melding_key", typ: "key", val: parent_key };
|
||||
fields["id"] = { dbs: "mld_melding_object_key", typ: "key", seq: "mld_s_mld_object_key" };
|
||||
|
||||
var mldIns = buildInsert("mld_melding_object", fields, { noValidateToken: true });
|
||||
new_key = mldIns.sequences["mld_melding_object_key"];
|
||||
|
||||
@@ -471,10 +471,10 @@ model_issues =
|
||||
model_issues._analyze_fields(fields, params, jsondata);
|
||||
model_issues._validate_fields(fields, params, jsondata);
|
||||
|
||||
fields.push({ dbs: "mld_alg_onroerendgoed_keys", typ: "key", val: (params.data.alg_onroerendgoed_keys==-1 ? null : params.data.alg_onroerendgoed_keys) });
|
||||
fields.push({ dbs: "mld_meldbron_key", typ: "key", val: S("mld_meldbron_key") });
|
||||
fields.push({ dbs: "mld_melding_module", typ: "varchar", val: "MLD" });
|
||||
fields.push({ dbs: "mld_melding_key", typ: "key", seq: "mld_s_mld_melding_key" });
|
||||
fields["alg"] = { dbs: "mld_alg_onroerendgoed_keys", typ: "key", val: (params.data.alg_onroerendgoed_keys==-1 ? null : params.data.alg_onroerendgoed_keys) };
|
||||
fields["origin"] = { dbs: "mld_meldbron_key", typ: "key", val: S("mld_meldbron_key") };
|
||||
fields["module"] = { dbs: "mld_melding_module", typ: "varchar", val: "MLD" };
|
||||
fields["issue"] = { dbs: "mld_melding_key", typ: "key", seq: "mld_s_mld_melding_key" };
|
||||
|
||||
var mldIns = buildInsert("mld_melding", fields, { noValidateToken: true });
|
||||
var new_key = mldIns.sequences["mld_melding_key"];
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_locations.inc
|
||||
|
||||
Description: Locatie model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Locatie model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -21,13 +20,13 @@ model_locations =
|
||||
primary: "alg_locatie_key",
|
||||
records_name: "locations",
|
||||
record_name: "location",
|
||||
fields: [{ name: "id", dbs: "alg_locatie_key", typ: "key", filter: "exact" },
|
||||
{ name: "code", dbs: "alg_locatie_code", typ: "varchar", filter: "like" },
|
||||
{ name: "name", dbs: "alg_locatie_omschrijving", typ: "varchar"},
|
||||
{ name: "district", dbs: "alg_district_key", typ: "key", foreign: "alg_district"},
|
||||
{ name: "coordinate_x", dbs: "alg_locatie_x", typ: "number"},
|
||||
{ name: "coordinate_y", dbs: "alg_locatie_y", typ: "number"}
|
||||
],
|
||||
fields: {"id" : { dbs: "alg_locatie_key", typ: "key", filter: "exact" },
|
||||
"code" : { dbs: "alg_locatie_code", typ: "varchar", filter: "like" },
|
||||
"name" : { dbs: "alg_locatie_omschrijving", typ: "varchar"},
|
||||
"district" : { dbs: "alg_district_key", typ: "key", foreign: "alg_district"},
|
||||
"coordinate_x" : { dbs: "alg_locatie_x", typ: "number"},
|
||||
"coordinate_y" : { dbs: "alg_locatie_y", typ: "number"}
|
||||
},
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
var urole = "fe"; // TODO: Moet echt niet ter zake doen
|
||||
|
||||
@@ -4,12 +4,11 @@
|
||||
|
||||
File: model_notes.inc
|
||||
|
||||
Description: notes model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: notes model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes: Dummy placeholder
|
||||
Notes:
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -70,13 +69,13 @@ model_notes =
|
||||
primary: "key",
|
||||
records_name: "notes",
|
||||
record_name: "note",
|
||||
fields: [{ name: "id", dbs: "key", typ: "key", filter: "exact" },
|
||||
{ name: "writer", dbs: "writer_key", typ: "key", foreign: "prs_perslid", filter: "exact" },
|
||||
{ name: "description", dbs: "omschrijving", typ: "varchar", filter: "like" },
|
||||
{ name: "createdate", dbs: "aanmaak", typ: "datetime" }
|
||||
fields: {"id" : { dbs: "key", typ: "key", filter: "exact" },
|
||||
"writer" : { dbs: "writer_key", typ: "key", foreign: "prs_perslid", filter: "exact" },
|
||||
"description" : { dbs: "omschrijving", typ: "varchar", filter: "like" },
|
||||
"createdate" : { dbs: "aanmaak", typ: "datetime" }
|
||||
// { name: "module", dbs: "module", typ: "varchar", filter: "exact" }
|
||||
// { name: "parent", dbs: "parent_key", typ: "key", filter: "exact" } //niet terug linken
|
||||
],
|
||||
},
|
||||
|
||||
|
||||
_analyze_fields: function (fields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
@@ -171,11 +170,11 @@ model_notes =
|
||||
//
|
||||
var xxx_tabel = model_notes._getNoteTable(params.data.module); // De tabel met notes die aangepast moet worden.
|
||||
var fields = [];
|
||||
fields.push({ dbs: "prs_perslid_key", typ: "key", val: user_key });
|
||||
fields.push({ dbs: xxx_tabel.parent+"_key", typ: "key", val: params.filter.id });
|
||||
fields.push({ dbs: xxx_tabel.naam+"_aanmaak", typ: "datetime", val: new Date() });
|
||||
fields.push({ dbs: xxx_tabel.naam+"_omschrijving", typ: "varchar", val: jsondata.description });
|
||||
fields.push({ dbs: xxx_tabel.naam+"_key", typ: "key", seq: xxx_tabel.seq });
|
||||
fields["writer"] = { dbs: "prs_perslid_key", typ: "key", val: user_key };
|
||||
fields["parent"] = { dbs: xxx_tabel.parent+"_key", typ: "key", val: params.filter.id };
|
||||
fields["created"] = { dbs: xxx_tabel.naam+"_aanmaak", typ: "datetime", val: new Date() };
|
||||
fields["description"] = { dbs: xxx_tabel.naam+"_omschrijving", typ: "varchar", val: jsondata.description };
|
||||
fields["id"] = { dbs: xxx_tabel.naam+"_key", typ: "key", seq: xxx_tabel.seq };
|
||||
|
||||
var xxxIns = buildInsert(xxx_tabel.naam, fields, { noValidateToken: true });
|
||||
var new_key = xxxIns.sequences[xxx_tabel.naam];
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_objects.inc
|
||||
|
||||
Description: Object model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Object model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -22,22 +21,22 @@ model_objects =
|
||||
records_name: "objects",
|
||||
record_name: "object",
|
||||
multi_update: true,
|
||||
fields: [{ name: "id", dbs: "ins_deel_key", typ: "key", filter: "exact" },
|
||||
fields: {"id" : { dbs: "ins_deel_key", typ: "key", filter: "exact" },
|
||||
//{ name: "code", dbs: "ins_deel_code", typ: "varchar", filter: "like" },
|
||||
{ name: "name", dbs: "ins_deel_omschrijving", typ: "varchar"},
|
||||
{ name: "type", dbs: "ins_srtdeel_key", typ: "key", filter: "exact", foreign: "ins_srtdeel"},
|
||||
{ name: "state", dbs: "ins_deel_state", typ: "varchar" },
|
||||
{ name: "statedate", dbs: "ins_deel_statedate", typ: "datetime" },
|
||||
{ name: "location", dbs: "alg_v_allonroerendgoed.alg_locatie_key", typ: "key", foreign: "alg_locatie"},
|
||||
{ name: "building", dbs: "alg_v_allonroerendgoed.alg_gebouw_key", typ: "key", foreign: "alg_gebouw" },
|
||||
{ name: "floor", dbs: "alg_v_allonroerendgoed.alg_verdieping_key", typ: "key", foreign: "alg_verdieping" },
|
||||
{ name: "room", dbs: "alg_v_allonroerendgoed.alg_ruimte_key", typ: "key", foreign: "alg_ruimte" },
|
||||
"name" : { dbs: "ins_deel_omschrijving", typ: "varchar"},
|
||||
"type" : { dbs: "ins_srtdeel_key", typ: "key", filter: "exact", foreign: "ins_srtdeel"},
|
||||
"state" : { dbs: "ins_deel_state", typ: "varchar" },
|
||||
"statedate": { dbs: "ins_deel_statedate", typ: "datetime" },
|
||||
"location" : { dbs: "alg_v_allonroerendgoed.alg_locatie_key", typ: "key", foreign: "alg_locatie"},
|
||||
"building" : { dbs: "alg_v_allonroerendgoed.alg_gebouw_key", typ: "key", foreign: "alg_gebouw" },
|
||||
"floor" : { dbs: "alg_v_allonroerendgoed.alg_verdieping_key", typ: "key", foreign: "alg_verdieping" },
|
||||
"room" : { dbs: "alg_v_allonroerendgoed.alg_ruimte_key", typ: "key", foreign: "alg_ruimte" }
|
||||
//{ name: "type", dbs: "ins_deel_statedate", typ: "key", filter: "exact", foreign: "ins_srtdeel"},
|
||||
|
||||
//{ name: "district", dbs: "alg_district_key", typ: "key", foreign: "alg_district"},
|
||||
//{ name: "coordinate_x", dbs: "ins_deel_x", typ: "number"},
|
||||
//{ name: "coordinate_y", dbs: "ins_deel_y", typ: "number"},
|
||||
],
|
||||
},
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
var urole = "fe"; // TODO: Moet echt niet ter zake doen
|
||||
|
||||
@@ -578,7 +578,7 @@ model_orders =
|
||||
if (act_key > 0)
|
||||
fields["act"] = { dbs: "fac_activiteit_key", typ: "key", val: act_key };
|
||||
|
||||
fields.push({ dbs: "mld_opdr_key", typ: "key", seq: "mld_s_mld_opdr_key" });
|
||||
fields["id"] = { dbs: "mld_opdr_key", typ: "key", seq: "mld_s_mld_opdr_key" };
|
||||
var mldIns = buildInsert("mld_opdr", fields, { noValidateToken: true });
|
||||
var opdr_key = mldIns.sequences["mld_opdr_key"];
|
||||
sql = mldIns.sql;
|
||||
@@ -768,7 +768,7 @@ model_orders =
|
||||
upd_params.checkteverzenden = checkTeVerzenden;
|
||||
if (checkTeVerzenden)
|
||||
{
|
||||
fields.push({ dbs: "mld_opdr_teverzenden", typ: "check", val: "" });
|
||||
fields["mustsend"] = { dbs: "mld_opdr_teverzenden", typ: "check", val: "" };
|
||||
}
|
||||
|
||||
if (!params.auth.ORDBOF)
|
||||
@@ -851,19 +851,19 @@ model_orders =
|
||||
if (reapprove || refiat)
|
||||
{ // Zet de refiat waarden. Het hergoedkeurings- en/of herfiatteringstraject wordt opnieuw ingegaan. // Tracking hiervan is niet nodig.
|
||||
if (opdr_info.hours > 0)
|
||||
fields.push({ dbs: "mld_opdr_uren_refiat", typ: "float", val: opdr_info.hours });
|
||||
fields["hoursrefiat"] = { dbs: "mld_opdr_uren_refiat", typ: "float", val: opdr_info.hours };
|
||||
if (opdr_info.h_rate > 0)
|
||||
fields.push({ dbs: "mld_opdr_uurloon_refiat", typ: "float", val: opdr_info.h_rate });
|
||||
fields["raterefiat"] = { dbs: "mld_opdr_uurloon_refiat", typ: "float", val: opdr_info.h_rate };
|
||||
if (opdr_info.m_cost > 0)
|
||||
fields.push({ dbs: "mld_opdr_materiaal_refiat", typ: "float", val: opdr_info.m_cost });
|
||||
fields["matrerialfiat"] = { dbs: "mld_opdr_materiaal_refiat", typ: "float", val: opdr_info.m_cost };
|
||||
if (opdr_info.t_cost > 0)
|
||||
fields.push({ dbs: "mld_opdr_kosten_refiat", typ: "float", val: opdr_info.t_cost });
|
||||
fields["costrefiat"] = { dbs: "mld_opdr_kosten_refiat", typ: "float", val: opdr_info.t_cost };
|
||||
|
||||
// Ook voor status 5 wordt refiatstatus gezet zodat bekend is dat het om een herfiattering gaat. De fiatteringsvoorwaarde is dan iets anders.
|
||||
fields.push({ dbs: "mld_statusopdr_key_refiat", typ: "number", val: opdr_info.opdr_status });
|
||||
fields["statusrefiat"] = { dbs: "mld_statusopdr_key_refiat", typ: "number", val: opdr_info.opdr_status };
|
||||
// Goedkeuring opnieuw ingaan kan alleen als het approved bedrag leeg is.
|
||||
fields.push({ dbs: "mld_opdr_approved_refiat", typ: "float", val: opdr_info.approved });
|
||||
fields.push({ dbs: "mld_opdr_approved", typ: "float", val: null });
|
||||
fields["approvedrefiat"] = { dbs: "mld_opdr_approved_refiat", typ: "float", val: opdr_info.approved };
|
||||
fields["approved"] = { dbs: "mld_opdr_approved", typ: "float", val: null };
|
||||
}
|
||||
|
||||
// Met FSN#20132 kan bij bestaande opdrachten via deze weg niet meer het opdrachttype wijzigen
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_persons.inc
|
||||
|
||||
Description: Perslid model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Perslid model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -24,17 +23,17 @@ model_persons =
|
||||
primary: "prs_perslid_key",
|
||||
records_name: "persons",
|
||||
record_name: "person",
|
||||
fields: [{ name: "id", dbs: "prs_perslid_key", typ: "key", filter: "exact"},
|
||||
{ name: "lastname", dbs: "prs_perslid_naam", typ: "varchar", filter: "exact"},
|
||||
{ name: "firstname", dbs: "prs_perslid_voornaam", typ: "varchar", filter: "exact"},
|
||||
{ name: "mail", dbs: "prs_perslid_email", typ: "varchar", filter: "exact"},
|
||||
{ name: "login", dbs: "prs_perslid_oslogin", typ: "varchar", filter: "exact"},
|
||||
{ name: "department", dbs: "prs_afdeling_key", typ: "key", foreign: "prs_afdeling"},
|
||||
{ name: "location", dbs: "prs_v_werkplek_gegevens.alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: "exact"},
|
||||
{ name: "building", dbs: "prs_v_werkplek_gegevens.alg_gebouw_key", typ: "key", foreign: "alg_gebouw" },
|
||||
{ name: "floor", dbs: "prs_v_werkplek_gegevens.alg_verdieping_key", typ: "key", foreign: "alg_verdieping" },
|
||||
{ name: "room", dbs: "prs_v_werkplek_gegevens.alg_ruimte_key", typ: "key", foreign: "alg_ruimte" }
|
||||
],
|
||||
fields: {"id" : { dbs: "prs_perslid_key", typ: "key", filter: "exact"},
|
||||
"lastname" : { dbs: "prs_perslid_naam", typ: "varchar", filter: "like"},
|
||||
"firstname" : { dbs: "prs_perslid_voornaam", typ: "varchar", filter: "like"},
|
||||
"mail" : { dbs: "prs_perslid_email", typ: "varchar", filter: "exact"},
|
||||
"login" : { dbs: "prs_perslid_oslogin", typ: "varchar", filter: "exact"},
|
||||
"department": { dbs: "prs_afdeling_key", typ: "key", foreign: "prs_afdeling"},
|
||||
"location" : { dbs: "prs_v_werkplek_gegevens.alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: "exact"},
|
||||
"building" : { dbs: "prs_v_werkplek_gegevens.alg_gebouw_key", typ: "key", foreign: "alg_gebouw" },
|
||||
"floor" : { dbs: "prs_v_werkplek_gegevens.alg_verdieping_key", typ: "key", foreign: "alg_verdieping" },
|
||||
"room" : { dbs: "prs_v_werkplek_gegevens.alg_ruimte_key", typ: "key", foreign: "alg_ruimte" }
|
||||
},
|
||||
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_regions.inc
|
||||
|
||||
Description: Regio model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Regio model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -111,7 +110,7 @@ model_regions =
|
||||
model_regions._check_authorization(params, "POST");
|
||||
|
||||
var fields = api2.update_fields(params, model_regions, jsondata); // Build updater
|
||||
fields.push({dbs: "alg_regio_key", typ: "key", seq: "alg_s_alg_regio_key" });
|
||||
fields["id"] = {dbs: "alg_regio_key", typ: "key", seq: "alg_s_alg_regio_key" };
|
||||
var regIns = buildInsert("alg_regio", fields, { noValidateToken: true });
|
||||
var reg_key = regIns.sequences["alg_regio_key"];
|
||||
|
||||
|
||||
@@ -169,7 +169,8 @@ function model_reports_template()
|
||||
// Voltooi model_reports_template voor een bepaald rapport
|
||||
function model_reports(fac_usrrap_key)
|
||||
{
|
||||
var usrrap = model_reportsx.REST_GET({filter: { "id" : fac_usrrap_key}, include: ["columns"] })[0];
|
||||
var reportsx = new model_reportsx(fac_usrrap_key, { include: ["columns"] });
|
||||
var usrrap = reportsx.data;
|
||||
user.auth_required_or_abort(usrrap);
|
||||
|
||||
var model = new model_reports_template();
|
||||
|
||||
@@ -16,47 +16,48 @@
|
||||
<!-- #include file="./model_reportcolumns.inc" -->
|
||||
<%
|
||||
|
||||
model_reportsx =
|
||||
function model_reportsx(usrrap_key, params)
|
||||
{
|
||||
table: "fac_usrrap",
|
||||
primary: "fac_usrrap_key",
|
||||
records_name: "reports",
|
||||
record_name: "report",
|
||||
records_title: L("lcl_menu_fac_reports"),
|
||||
record_title: L("lcl_usrrap_report"),
|
||||
autfunction: "WEB_PRSSYS",
|
||||
params = params || {};
|
||||
this.table = "fac_usrrap";
|
||||
this.primary = "fac_usrrap_key";
|
||||
this.records_name = "reports";
|
||||
this.record_name = "report";
|
||||
this.records_title = L("lcl_menu_fac_reports");
|
||||
this.record_title = L("lcl_usrrap_report");
|
||||
this.autfunction = "WEB_PRSSYS";
|
||||
|
||||
fields: { "id" : { dbs: "fac_usrrap_key", typ: "key", label: "Key", filter: "exact" },
|
||||
"name" : { dbs: "fac_usrrap_omschrijving", typ: "varchar", label: L("lcl_usrrap_report"), filter: "like", translate: true , len : 60},
|
||||
"description" : { dbs: "fac_usrrap_info", typ: "varchar", label: L("lcl_usrrap_info"), translate: true },
|
||||
"viewname" : { dbs: "fac_usrrap_view_name", typ: "varchar", label: L("lcl_usrrap_viewname"), filter: "like"},
|
||||
"authorisation": { dbs: "fac_functie_key", typ: "key", label: L("lcl_usrrap_functie"), foreign: "fac_functie"},
|
||||
"styling" : { dbs: "fac_usrrap_functie", typ: "key", label: L("lcl_usrrap_styling"),
|
||||
LOV: L("lcl_usrrap_stylingLOV") }, // 0;on-gestylede;1;gestylede;2;procedure;3;procedure gestyled;8;Via tabelizer
|
||||
this.fields = { "id" : { dbs: "fac_usrrap_key", typ: "key", label: "Key", filter: "exact" },
|
||||
"name" : { dbs: "fac_usrrap_omschrijving", typ: "varchar", label: L("lcl_usrrap_report"), filter: "like", translate: true , len : 60},
|
||||
"description" : { dbs: "fac_usrrap_info", typ: "varchar", label: L("lcl_usrrap_info"), translate: true },
|
||||
"viewname" : { dbs: "fac_usrrap_view_name", typ: "varchar", label: L("lcl_usrrap_viewname"), filter: "like"},
|
||||
"authorisation": { dbs: "fac_functie_key", typ: "key", label: L("lcl_usrrap_functie"), foreign: "fac_functie"},
|
||||
"styling" : { dbs: "fac_usrrap_functie", typ: "key", label: L("lcl_usrrap_styling"),
|
||||
LOV: L("lcl_usrrap_stylingLOV") }, // 0;on-gestylede;1;gestylede;2;procedure;3;procedure gestyled;8;Via tabelizer
|
||||
|
||||
"urllink" : { dbs: "fac_usrrap_urllink", typ: "varchar", label: L("lcl_usrrap_urllink")},
|
||||
"autorefresh" : { dbs: "fac_usrrap_autorefresh", typ: "check", label: L("lcl_usrrap_autorefresh")}
|
||||
},
|
||||
list: { columns: ["id", "name", "viewname", "description"] },
|
||||
includes: {"columns": { model: model_reportcolumns,
|
||||
"urllink" : { dbs: "fac_usrrap_urllink", typ: "varchar", label: L("lcl_usrrap_urllink")},
|
||||
"autorefresh" : { dbs: "fac_usrrap_autorefresh", typ: "check", label: L("lcl_usrrap_autorefresh")}
|
||||
};
|
||||
this.list = { columns: ["id", "name", "viewname", "description"] };
|
||||
this.includes = {"columns": { model: model_reportcolumns,
|
||||
joinfield: "fac_usrrap_key"
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
_check_authorization: function(params, method)
|
||||
this._check_authorization = function(params, method)
|
||||
{
|
||||
params.message = "";
|
||||
var autfunction = "WEB_PRSSYS";
|
||||
params.authparams = user.checkAutorisation(autfunction); // pessimistisch
|
||||
},
|
||||
};
|
||||
|
||||
_analyze_fields: function (fields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
this._analyze_fields = function (fields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
{
|
||||
},
|
||||
};
|
||||
|
||||
_clone_report_cols: function(old_usrrap_key, new_model)
|
||||
this._clone_report_cols = function(old_usrrap_key, new_model)
|
||||
{
|
||||
var oldrap = usrrap.fac_usrrap_info(usrrap_key); // Niet via 'model', die kan geen VIEW-rapporten aan
|
||||
var oldrap = usrrap.fac_usrrap_info(old_usrrap_key); // Niet via 'model', die kan geen VIEW-rapporten aan
|
||||
|
||||
for (var i = 0; i < oldrap.columns.length; i++)
|
||||
{
|
||||
@@ -71,13 +72,13 @@ model_reportsx =
|
||||
new_model.columns.push(newcol);
|
||||
}
|
||||
__Log(new_model);
|
||||
},
|
||||
};
|
||||
|
||||
REST_GET: function _reportsx_GET(params, jsondata)
|
||||
this.REST_GET = function _reportsx_GET(params, jsondata)
|
||||
{
|
||||
var query = api2.sqlfields(params, model_reportsx);
|
||||
var query = api2.sqlfields(params, this);
|
||||
|
||||
var wheres = api2.sqlfilter(params, model_reportsx);
|
||||
var wheres = api2.sqlfilter(params, this);
|
||||
query.wheres = query.wheres.concat(wheres);
|
||||
|
||||
authparams = user.checkAutorisation("WEB_PRSSYS", true);
|
||||
@@ -97,16 +98,17 @@ model_reportsx =
|
||||
if (params.include && params.include.length)
|
||||
sql += ", fac_usrrap_cols_volgnr";
|
||||
|
||||
var json = api2.sql2json (params, sql, model_reportsx);
|
||||
var json = api2.sql2json (params, sql, this);
|
||||
|
||||
return json;
|
||||
},
|
||||
REST_PUT: function _reportsx_REST_PUT(params, jsondata, the_key) /* update report */
|
||||
{
|
||||
model_reportsx._check_authorization(params, "PUT");
|
||||
};
|
||||
|
||||
var fields = api2.update_fields(params, model_reportsx, jsondata); // Build updater
|
||||
model_reportsx._analyze_fields(fields, params, jsondata);
|
||||
this.REST_PUT = function _reportsx_REST_PUT(params, jsondata, the_key) /* update report */
|
||||
{
|
||||
this._check_authorization(params, "PUT");
|
||||
|
||||
var fields = api2.update_fields(params, this, jsondata); // Build updater
|
||||
this._analyze_fields(fields, params, jsondata);
|
||||
|
||||
var wheres = [" fac_usrrap_key = " + the_key];
|
||||
var roomUpd = buildTrackingUpdate("fac_usrrap", wheres.join(" AND " ), fields, { noValidateToken: true });
|
||||
@@ -115,16 +117,17 @@ model_reportsx =
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
var beztrack = api2.process_includes(params, model_reportsx, jsondata, the_key);
|
||||
var beztrack = api2.process_includes(params, this, jsondata, the_key);
|
||||
|
||||
return { key: the_key, warning: "" };
|
||||
},
|
||||
REST_POST: function _reportsx_REST_POST(params, jsondata) /* new report */
|
||||
{
|
||||
model_reportsx._check_authorization(params, "POST");
|
||||
};
|
||||
|
||||
var fields = api2.update_fields(params, model_reportsx, jsondata); // Build updater
|
||||
model_reportsx._analyze_fields(fields, params, jsondata);
|
||||
this.REST_POST = function _reportsx_REST_POST(params, jsondata) /* new report */
|
||||
{
|
||||
this._check_authorization(params, "POST");
|
||||
|
||||
var fields = api2.update_fields(params, this, jsondata); // Build updater
|
||||
this._analyze_fields(fields, params, jsondata);
|
||||
|
||||
fields["xxx"] = {dbs: "fac_usrrap_key", typ: "key", seq: "fac_s_fac_usrrap_key" };
|
||||
var rapIns = buildInsert("fac_usrrap", fields, { noValidateToken: true });
|
||||
@@ -134,13 +137,14 @@ model_reportsx =
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
var beztrack = api2.process_includes(params, model_reportsx, jsondata, rap_key);
|
||||
var beztrack = api2.process_includes(params, this, jsondata, rap_key);
|
||||
|
||||
return { key: rap_key, warning: "" };
|
||||
},
|
||||
REST_DELETE: function (params, the_key) /* delete report */
|
||||
};
|
||||
|
||||
this.REST_DELETE = function (params, the_key) /* delete report */
|
||||
{
|
||||
model_reportsx._check_authorization(params, "DELETE");
|
||||
this._check_authorization(params, "DELETE");
|
||||
var sql = "DELETE FROM fac_usrrap"
|
||||
+ " WHERE fac_usrrap_key = " + the_key;
|
||||
|
||||
@@ -149,10 +153,18 @@ model_reportsx =
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
return { key: the_key, warning: "" };
|
||||
}
|
||||
}
|
||||
if (user.oslogin() != "_FACILITOR")
|
||||
{
|
||||
model_reportsx.REST_POST = false;
|
||||
};
|
||||
|
||||
|
||||
if (user.oslogin() != "_FACILITOR")
|
||||
{
|
||||
this.REST_POST = false;
|
||||
}
|
||||
if (usrrap_key > 0)
|
||||
{
|
||||
params.filter = { "id" : usrrap_key };
|
||||
this.data = this.REST_GET(params)[0];
|
||||
}
|
||||
|
||||
}
|
||||
%>
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_reservableconsumables.inc
|
||||
|
||||
Description: reserveerbare artikelen model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: reserveerbare artikelen model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -22,24 +21,24 @@ model_reservableconsumables =
|
||||
primary: "res_artikel_key",
|
||||
records_name: "reservableconsumables",
|
||||
record_name: "reservableconsumables",
|
||||
fields: [ { name: "id", dbs: "res_artikel_key", typ: "key", filter: "exact" },
|
||||
{ name: "name", dbs: "res_artikel_omschrijving", typ: "varchar", filter: "like" },
|
||||
{ name: "code", dbs: "res_artikel_nr", typ: "number", filter: "like" },
|
||||
{ name: "seqnr", dbs: "res_artikel_volgnummer", typ: "number" },
|
||||
{ name: "remark", dbs: "res_artikel_opmerking", typ: "varchar", filter: "like" },
|
||||
{ name: "unit", dbs: "res_artikel_eenheid", typ: "varchar", filter: "like" },
|
||||
{ name: "price", dbs: "res_artikel_prijs", typ: "float" },
|
||||
{ name: "fixed", dbs: "res_artikel_prijs_vast", typ: "check0", filter: "exact" },
|
||||
{ name: "purchase", dbs: "res_artikel_inkoopprijs", typ: "float"},
|
||||
{ name: "vat", dbs: "res_artikel_btw", typ: "float" },
|
||||
{ name: "employeecost", dbs: "res_artikel_kostenpersoneel", typ: "float" },
|
||||
{ name: "generalcost" , dbs: "res_artikel_kostenalgemeen", typ: "float" },
|
||||
{ name: "catalog", dbs: "res_discipline_key", typ: "key", foreign: "res_discipline" },
|
||||
{ name: "group", dbs: "res_artikel_groep", typ: "varchar", filter: "like" },
|
||||
{ name: "start", dbs: "res_artikel_ingangsdatum", typ: "date" },
|
||||
{ name: "expires", dbs: "res_artikel_vervaldatum", typ: "date" },
|
||||
{ name: "minimum", dbs: "res_artikel_minimum", typ: "number", filter: "exact" }
|
||||
],
|
||||
fields: { "id" : { dbs: "res_artikel_key", typ: "key", filter: "exact" },
|
||||
"name" : { dbs: "res_artikel_omschrijving", typ: "varchar", filter: "like" },
|
||||
"code" : { dbs: "res_artikel_nr", typ: "number", filter: "like" },
|
||||
"sequence" : { dbs: "res_artikel_volgnummer", typ: "number" },
|
||||
"remark" : { dbs: "res_artikel_opmerking", typ: "varchar", filter: "like" },
|
||||
"unit" : { dbs: "res_artikel_eenheid", typ: "varchar", filter: "like" },
|
||||
"price" : { dbs: "res_artikel_prijs", typ: "float" },
|
||||
"fixed" : { dbs: "res_artikel_prijs_vast", typ: "check0", filter: "exact" },
|
||||
"purchase" : { dbs: "res_artikel_inkoopprijs", typ: "float"},
|
||||
"vat" : { dbs: "res_artikel_btw", typ: "float" },
|
||||
"employeecost": { dbs: "res_artikel_kostenpersoneel", typ: "float" },
|
||||
"generalcost" : { dbs: "res_artikel_kostenalgemeen", typ: "float" },
|
||||
"catalog" : { dbs: "res_discipline_key", typ: "key", foreign: "res_discipline" },
|
||||
"group" : { dbs: "res_artikel_groep", typ: "varchar", filter: "like" },
|
||||
"start" : { dbs: "res_artikel_ingangsdatum", typ: "date" },
|
||||
"expires" : { dbs: "res_artikel_vervaldatum", typ: "date" },
|
||||
"minimum" : { dbs: "res_artikel_minimum", typ: "number", filter: "exact" }
|
||||
},
|
||||
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_reservableequipment.inc
|
||||
|
||||
Description: reserveerbare delen model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: reserveerbare delen model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -39,16 +38,16 @@ model_reservableequipment =
|
||||
primary: "res_deel_key",
|
||||
records_name: "reservableequipment",
|
||||
record_name: "reservableequipment",
|
||||
fields: [ { name: "id", dbs: "res_deel_key", typ: "key", filter: "exact" },
|
||||
{ name: "name", dbs: "res_deel_omschrijving", typ: "varchar", filter: "like" },
|
||||
{ name: "remark", dbs: "res_deel_opmerking", typ: "varchar", filter: "like" },
|
||||
{ name: "unit", dbs: "res_deel_eenheid", typ: "varchar", filter: "like" },
|
||||
{ name: "price", dbs: "res_deel_prijs", typ: "float", filter: "like" },
|
||||
{ name: "fixed", dbs: "res_deel_prijs_vast", typ: "check0", filter: "exact" },
|
||||
{ name: "object", dbs: "res_ins_deel_key", typ: "key", foreign: "ins_deel" },
|
||||
{ name: "catalog", dbs: "res_discipline_key", typ: "key", foreign: "res_discipline", filter: "exact" },
|
||||
{ name: "scope", dbs: "res_deel_alg_level", typ: "key", foreign: alg_level }
|
||||
],
|
||||
fields: { "id" : { dbs: "res_deel_key", typ: "key", filter: "exact" },
|
||||
"name" : { dbs: "res_deel_omschrijving", typ: "varchar", filter: "like" },
|
||||
"remark" : { dbs: "res_deel_opmerking", typ: "varchar", filter: "like" },
|
||||
"unit" : { dbs: "res_deel_eenheid", typ: "varchar", filter: "like" },
|
||||
"price" : { dbs: "res_deel_prijs", typ: "float", filter: "like" },
|
||||
"fixed" : { dbs: "res_deel_prijs_vast", typ: "check0", filter: "exact" },
|
||||
"object" : { dbs: "res_ins_deel_key", typ: "key", foreign: "ins_deel" },
|
||||
"catalog" : { dbs: "res_discipline_key", typ: "key", foreign: "res_discipline", filter: "exact" },
|
||||
"scope" : { dbs: "res_deel_alg_level", typ: "key", foreign: alg_level }
|
||||
},
|
||||
// advanced filter
|
||||
filter: { prefunc: function _prefilterfunc(params)
|
||||
{
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_reservablerooms.inc
|
||||
|
||||
Description: Bezoekers model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Bezoekers model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -40,16 +39,16 @@ model_reservablerooms =
|
||||
primary: "res_ruimte_key",
|
||||
records_name: "reservablerooms",
|
||||
record_name: "reservableroom",
|
||||
fields: [{ name: "id", dbs: "res_ruimte_key", typ: "key", filter: "exact" },
|
||||
{ name: "name", dbs: "res_ruimte_nr", typ: "varchar"},
|
||||
{ name: "description", dbs: "res_ruimte_omschrijving", typ: "varchar"},
|
||||
{ name: "open", dbs: "res_ruimte_begintijd", typ: "time", val: fnFrom },
|
||||
{ name: "close", dbs: "res_ruimte_eindtijd", typ: "time", val: fnTo },
|
||||
{ name: "location", dbs: "alg_v_allonroerendgoed.alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: "exact"},
|
||||
{ name: "capacity", dbs: "dummy", typ: "varchar", sql: sqlcap },
|
||||
{ name: "room", dbs: "res_alg_ruimte.res_alg_ruimte_key", typ: "key", foreign: "alg_ruimte"},
|
||||
{ name: "image", dbs: "res_ruimte_image", typ: "varchar" }
|
||||
],
|
||||
fields: {"id" : { dbs: "res_ruimte_key", typ: "key", filter: "exact" },
|
||||
"name" : { dbs: "res_ruimte_nr", typ: "varchar"},
|
||||
"description": { dbs: "res_ruimte_omschrijving", typ: "varchar"},
|
||||
"open" : { dbs: "res_ruimte_begintijd", typ: "time", val: fnFrom },
|
||||
"close" : { dbs: "res_ruimte_eindtijd", typ: "time", val: fnTo },
|
||||
"location" : { dbs: "alg_v_allonroerendgoed.alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: "exact"},
|
||||
"capacity" : { dbs: "dummy", typ: "varchar", sql: sqlcap },
|
||||
"room" : { dbs: "res_alg_ruimte.res_alg_ruimte_key", typ: "key", foreign: "alg_ruimte"},
|
||||
"image" : { dbs: "res_ruimte_image", typ: "varchar" }
|
||||
},
|
||||
// advanced filter
|
||||
filter: { prefunc: function _prefilterfunc(params)
|
||||
{
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: reservationconsumables.inc
|
||||
File: model_reservationconsumables.inc
|
||||
|
||||
Description: reserveren delen model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: reserveren delen model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: reservationequipment.inc
|
||||
File: model_reservationequipment.inc
|
||||
|
||||
Description: reserveren delen model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: reserveren delen model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -140,11 +139,11 @@ model_reservationequipment =
|
||||
var res_tot = new Date(oRs("res_rsv_ruimte_tot").value);
|
||||
oRs.Close();
|
||||
|
||||
fields.push({ dbs: "res_rsv_deel_key", typ: "key", seq: "res_s_res_rsv_deel_key" });
|
||||
fields.push({ dbs: "res_rsv_ruimte_key", typ: "key", val: rsv_ruimte_key });
|
||||
fields.push({ dbs: "res_rsv_deel_van", typ: "datetime", val: res_van });
|
||||
fields.push({ dbs: "res_rsv_deel_tot", typ: "datetime", val: res_tot });
|
||||
fields.push({ dbs: "res_rsv_deel_aantal", typ: "number", val: 1 });
|
||||
fields["id"] = { dbs: "res_rsv_deel_key", typ: "key", seq: "res_s_res_rsv_deel_key" };
|
||||
fields["reservation"] = { dbs: "res_rsv_ruimte_key", typ: "key", val: rsv_ruimte_key };
|
||||
fields["from"] = { dbs: "res_rsv_deel_van", typ: "datetime", val: res_van };
|
||||
fields["to"] = { dbs: "res_rsv_deel_tot", typ: "datetime", val: res_tot };
|
||||
fields["amount"] = { dbs: "res_rsv_deel_aantal", typ: "number", val: 1 };
|
||||
|
||||
var resIns = buildInsert("res_rsv_deel", fields, { noValidateToken: true });
|
||||
var rsv_deel_key = resIns.sequences["res_rsv_deel_key"];
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_reservations.inc
|
||||
|
||||
Description: Reservering model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Reservering model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -50,9 +49,9 @@ model_reservations =
|
||||
"name" : { dbs: "res_reservering_id", sql: "res_reservering_key||'/'||res_rsv_ruimte_volgnr", typ: "varchar", label: L("lcl_reservation")},
|
||||
"from" : { dbs: "res_rsv_ruimte_van", typ: "datetime", filter: "range", label: L("lcl_res_starttime"), track: true}, // TODO: Andere lcl voor catering
|
||||
"to" : { dbs: "res_rsv_ruimte_tot", typ: "datetime", filter: "range", label: L("lcl_res_endtime"), track: true},
|
||||
"description" : { dbs: "res_rsv_ruimte_omschrijving", typ: "varchar", track: L("lcl_descr")},
|
||||
"description" : { dbs: "res_rsv_ruimte_omschrijving", typ: "varchar", label: L("lcl_descr"), track: true },
|
||||
"activity" : { dbs: "res_activiteit_key", typ: "key", filter: "exact", foreign: "res_activiteit", label: L("lcl_activity"), track: true },
|
||||
"remark" : { dbs: "res_rsv_ruimte_opmerking", typ: "varchar", track: L("lcl_remark")},
|
||||
"remark" : { dbs: "res_rsv_ruimte_opmerking", typ: "varchar", label: L("lcl_remark"), track: true},
|
||||
"host" : { dbs: "res_rsv_ruimte_host_key", typ: "key", foreign: "prs_perslid", label: L("lcl_host"), track: true},
|
||||
"contact" : { dbs: "res_rsv_ruimte_contact_key", typ: "key", foreign: "prs_perslid", label: L("lcl_name"), track: true},
|
||||
"visitorscount" : { dbs: "res_rsv_ruimte_bezoekers", typ: "number", label: L("lcl_visitors"), track: true },
|
||||
@@ -130,9 +129,9 @@ model_reservations =
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var res_disc_key = oRs("res_discipline_key").value;
|
||||
var soort = 0; // reserveerbare ruimtes
|
||||
fields.push({ dbs: "res_ruimte_opstel_key", typ: "key", val: oRs("res_ruimte_opstel_key").Value });
|
||||
fields.push({ dbs: "alg_ruimte_key", typ: "key", val: -1 });
|
||||
fields.push({ dbs: "res_status_bo_key", typ: "key", val: 2 }); // 'ingevoerd'. Altijd bij ruimte reserveringen
|
||||
fields["configuration"] = { dbs: "res_ruimte_opstel_key", typ: "key", val: oRs("res_ruimte_opstel_key").Value };
|
||||
fields["room"] = { dbs: "alg_ruimte_key", typ: "key", val: -1 };
|
||||
fields["bostatus"] = { dbs: "res_status_bo_key", typ: "key", val: 2 }; // 'ingevoerd'. Altijd bij ruimte reserveringen
|
||||
oRs.Close();
|
||||
}
|
||||
else // moet er een alg_ruimte zijn
|
||||
@@ -162,7 +161,7 @@ model_reservations =
|
||||
+ " AND res_srtactiviteit_soort = " + soort;
|
||||
oRs = Oracle.Execute(sql);
|
||||
//jsondata.reservation.activity = oRs("res_activiteit_key").Value;
|
||||
fields.push({ dbs: "res_activiteit_key", typ: "key", val: oRs("res_activiteit_key").Value });
|
||||
fields["activity"] = { dbs: "res_activiteit_key", typ: "key", val: oRs("res_activiteit_key").Value };
|
||||
oRs.Close()
|
||||
}
|
||||
}
|
||||
@@ -235,24 +234,22 @@ model_reservations =
|
||||
model_reservations._validate_fields(fields, params, jsondata);
|
||||
|
||||
// Eerst een nieuw res_reservering record aanmaken
|
||||
var resfields = [ { dbs: "res_reservering_key", typ: "key", seq: "res_s_res_reservering_key" },
|
||||
{ dbs: "res_reservering_aanmaak", typ: "datetime", val: new Date() }
|
||||
];
|
||||
var resfields = { "id": { dbs: "res_reservering_key", typ: "key", seq: "res_s_res_reservering_key" },
|
||||
"create": { dbs: "res_reservering_aanmaak", typ: "datetime", val: new Date() }
|
||||
};
|
||||
var resIns = buildInsert("res_reservering", resfields, { noValidateToken: true });
|
||||
var reservering_key = resIns.sequences["res_reservering_key"];
|
||||
var volgnr = 1;
|
||||
Oracle.Execute(resIns.sql);
|
||||
|
||||
// Nu aan de slag met een res_rsv_ruimte record
|
||||
fields = fields.concat(
|
||||
[ { dbs: "res_rsv_ruimte_key", typ: "key", seq: "res_s_res_rsv_ruimte_key" },
|
||||
{ dbs: "res_reservering_key", typ: "key", val: reservering_key },
|
||||
{ dbs: "res_rsv_ruimte_volgnr", typ: "number", val: volgnr }
|
||||
]);
|
||||
fields.push({ dbs: "res_rsv_ruimte_host_key", typ: "key", val: user_key });
|
||||
fields.push({ dbs: "res_rsv_ruimte_contact_key", typ: "key", val: user_key });
|
||||
fields["id"] = { dbs: "res_rsv_ruimte_key", typ: "key", seq: "res_s_res_rsv_ruimte_key" };
|
||||
fields["reskey"] = { dbs: "res_reservering_key", typ: "key", val: reservering_key };
|
||||
fields["sequence"] = { dbs: "res_rsv_ruimte_volgnr", typ: "number", val: volgnr };
|
||||
fields["host"] = { dbs: "res_rsv_ruimte_host_key", typ: "key", val: user_key };
|
||||
fields["contact"] = { dbs: "res_rsv_ruimte_contact_key", typ: "key", val: user_key };
|
||||
if (!jsondata.status)
|
||||
fields.push({ dbs: "res_status_fo_key", typ: "key", val: S("res_default_fe_status_key") });
|
||||
fields["status"] = { dbs: "res_status_fo_key", typ: "key", val: S("res_default_fe_status_key") };
|
||||
var resIns = buildInsert("res_rsv_ruimte", fields, { noValidateToken: true });
|
||||
var rsv_ruimte_key = resIns.sequences["res_rsv_ruimte_key"];
|
||||
|
||||
|
||||
@@ -4,12 +4,11 @@
|
||||
|
||||
File: model_rooms.inc
|
||||
|
||||
Description: room model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: room model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes: Dummy placeholder
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
|
||||
File: model_visitors.inc
|
||||
|
||||
Description: Bezoekers model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: Bezoekers model.
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
@@ -79,8 +78,8 @@ model_visitors =
|
||||
REST_POST: function (params, jsondata, parent_key) /* new visitors */
|
||||
{
|
||||
var fields = api2.update_fields(params, model_visitors, jsondata); // Build updater
|
||||
fields.push({ dbs: "bez_bezoekers_key", typ: "key", seq: "bez_s_bez_bezoekers_key" });
|
||||
fields.push({ dbs: "bez_afspraak_key", typ: "key", val: parent_key });
|
||||
fields["id"] = { dbs: "bez_bezoekers_key", typ: "key", seq: "bez_s_bez_bezoekers_key" };
|
||||
fields["afspraak"] = { dbs: "bez_afspraak_key", typ: "key", val: parent_key };
|
||||
|
||||
var bezIns = buildInsert("bez_bezoekers", fields, { noValidateToken: true });
|
||||
var bez_key = bezIns.sequences["bez_bezoekers_key"];
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
|
||||
File: model_workplaces.inc
|
||||
|
||||
Description: workplace model. Dit bestand heeft niets met interfacing te maken
|
||||
maar werkt uitsluitend op JSON-data
|
||||
Description: workplace model
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes: Dummy placeholder
|
||||
Notes:
|
||||
*/
|
||||
Reference in New Issue
Block a user