Files
Facilitor/APPL/API2/model_companies.inc
Maykel Geerdink a84c0846be PCHD#33515: Cross domein relatiebeheer.
svn path=/Website/trunk/; revision=26638
2015-10-13 13:40:14 +00:00

87 lines
4.6 KiB
PHP

<% /*
$Revision$
$Id$
File: model_companies.inc
Description: Bedrijven model.
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../prs/prs.inc" -->
<%
model_companies =
{
table: "prs_bedrijf",
primary: "prs_bedrijf_key",
records_name: "companies",
record_name: "company",
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" },
"location" : { dbs: "prs_bedrijfdienstlocatie.alg_locatie_key", typ: "key", foreign: "alg_locatie", filter: prs.getLocationSql },
"service" : { dbs: "prs_bedrijfdienstlocatie.prs_dienst_key", typ: "key", foreign: "prs_dienst", filter: "like" }
},
REST_GET: function _GET(params)
{
var autfunction = "WEB_RELMAN";
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_companies);
query.wheres.push("prs_bedrijf_verwijder IS NULL");
/* we need the dienstlocatie for the service and location */
query.tables.push("prs_bedrijfdienstlocatie");
query.wheres.push("prs_bedrijfdienstlocatie.prs_bedrijf_key(+) = prs_bedrijf.prs_bedrijf_key")
var wheres = api2.sqlfilter(params, model_companies)
query.wheres = query.wheres.concat(wheres);
var sql = "SELECT " + query.selects.join(", ")
+ " FROM " + query.tables.join(", ")
+ " WHERE " + query.wheres.join(" AND " )
+ " ORDER BY prs_bedrijf_naam";
var json = api2.sql2json (params, sql, model_companies);
return json;
},
PUT: function (params) /* update company */
{
},
POST: function (params) /* new company */
{
},
DELETE: function (params) /* delete company */
{
}
}
%>