Files
Facilitor/APPL/API2/model_prs_afdeling.inc
Arthur Egberink 749c4fec5e KFSG#41700 -- Scim koppeling realiseren (Error afhandeling)
svn path=/Website/branches/v2017.2/; revision=35721
2017-10-18 07:15:44 +00:00

128 lines
4.0 KiB
PHP

<% /*
$Revision$
$Id$
File: model_prs_afdeling.inc
Description: Afdelingen model.
Parameters:
Context:
Notes:
*/
%>
<!-- #include file="../prs/prs.inc" -->
<!-- #include file="./model_custom_fields.inc"-->
<!-- #include file="./model_prs_kenmerk.inc"-->
<%
function model_prs_afdeling()
{
this.table = "prs_afdeling";
this.primary = "prs_afdeling_key";
this.records_name = "departments";
this.record_name = "department";
this.autfunction = "WEB_PRSUSE";
this.soft_delete = "prs_afdeling.prs_afdeling_verwijder";
this.fields = {
"id": {
"dbs": "prs_afdeling_key",
"typ": "key",
"seq": "prs_s_prs_afdeling_key"
},
"name": {
"dbs": "prs_afdeling_naam",
"typ": "varchar"
},
"description": {
"dbs": "prs_afdeling_omschrijving",
"typ": "varchar"
},
"externalid": {
"dbs": "prs_afdeling_externid",
"label": L("prs_afdeling_externid"),
"typ": "varchar"
},
"parent": {
"dbs": "prs_afdeling_parentkey",
"label": L("lcl_prs_organisatie"),
"typ": "key",
"foreign": "prs_afdeling"
},
"company": {
"dbs": "prs_bedrijf_key",
"label": L("lcl_prs_company"),
"typ": "key",
"foreign": {
"tbl": "prs_bedrijf",
"key": "prs_bedrijf_key",
"desc": "prs_bedrijf_naam",
"desc_is_unique": "prs_bedrijf_verwijder IS NULL"
}
},
"xcompany": {
"dbs": "top_prs_bedrijf_key",
"sql": "pa.prs_bedrijf_key",
"label": L("lcl_prs_company"),
"typ": "key",
"foreign": "prs_bedrijf"
},
"costcentre": {
"dbs": "prs_kostenplaats_key",
"label": L("prs_kostenplaats_key"),
"typ": "key",
"foreign": {
"tbl": "prs_kostenplaats",
"key": "prs_kostenplaats_key",
"desc": "prs_kostenplaats_nr",
"desc_is_unique": "prs_kostenplaats_verwijder IS NULL"
}
},
"created": {
"dbs": "prs_afdeling_aanmaak",
"label": "Aanmaakdatum",
"typ": "datetime",
"readonly": true
}
};
this.includes = {
"custom_fields" : {
"model": new model_custom_fields(this, new model_prs_kenmerk("A", { internal: true }), { readman: true, readuse: true, pNiveau: "A" }),
"joinfield": "flexparentkey",
"enable_update": true
}
};
var gparams = { "GET": {
tables: [ "prs_v_afdeling pa"],
wheres: [ "pa.prs_afdeling_key = prs_afdeling.prs_afdeling_key" ]
}
}
var authparamsUSE = user.checkAutorisation("WEB_PRSUSE", true);
if (authparamsUSE.PRSreadlevel == 0) // prs_bedrijf
{
gparams["GET"].wheres.push("pa.prs_bedrijf_key = " + user.afdeling().prs_bedrijf_key());
}
else if (authparamsUSE.PRSreadlevel > 0)
{
gparams["GET"].wheres.push(
"prs_afdeling.prs_afdeling_key IN "
+ " (SELECT prs_afdeling_key"
+ " FROM prs_v_afdeling_familie a"
+ " WHERE a.prs_afdeling_elder_key IN"
+ " (SELECT aa.prs_afdeling_elder_key"
+ " FROM prs_v_afdeling_familie aa"
+ " WHERE aa.prs_afdeling_key = " + user.prs_afdeling_key()
+ " AND aa.niveau = " + authparamsUSE.PRSreadlevel + "))");
}
this.REST_GET = generic_REST_GET(this, gparams);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
%>