Files
Facilitor/APPL/API2/model_bes_kenmerk.inc
Jos Groot Lipman f8357debd6 FSN#40629 propertytype heet nu orderpropertytype
svn path=/Website/branches/v2017.1/; revision=33970
2017-05-23 09:06:55 +00:00

241 lines
8.0 KiB
PHP

<% /*
$Revision$
$Id$
File: model_bes_kenmerk.inc
Description: Vanuit CodeCharge gegenereerd model voor bes_kenmerk
Context:
Notes:
*/
%>
<%
function model_bes_kenmerk(params)
{
params = params || {};
this.records_name = "orderlineproperties";
this.record_name = "orderlineproperty";
this.table = "bes_kenmerk";
this.primary = "bes_kenmerk_key";
this.soft_delete = "bes_kenmerk_verwijder";
this.autfunction = params.internal?false:"WEB_BESMGT";
this.record_title = L("bes_kenmerk");
this.records_title = L("bes_kenmerk_m");
this.module = "BES";
this.fields = {
"id": {
"dbs": "bes_kenmerk_key",
"label": L("lcl_key"),
"typ": "key",
"required": true,
"filter": "exact",
"seq": "bes_s_bes_kenmerk_key",
"defaultvalue": null
},
"orderdisciplinehide": {
"dbs": "bes_srtinstallatie_key",
"label": L("bes_ins_discipline_key"),
"typ": "key",
"hidden_fld": true,
"foreign": {
"tbl": "bes_v_aanwezigdiscipline",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
},
"filter": "exact"
},
"orderpropertytype": {
"dbs": "bes_srtkenmerk_key",
"label": L("mgt_srtkenmerk_key"),
"typ": "key",
"required": true,
"insertonly": true,
"foreign": {
"tbl": "(select bes_srtkenmerk_key"
+ " , bes_srtkenmerk_omschrijving"
+ " from bes_srtkenmerk"
+ " where bes_srtkenmerk_verwijder is null"
+ " order by bes_srtkenmerk_omschrijving asc)",
"key": "bes_srtkenmerk_key",
"desc": "bes_srtkenmerk_omschrijving"
},
"filter": "exact",
"defaultvalue": null,
"LOVinit": "",
"friendlyname": true
},
"orderdiscipline": {
"dbs": "bes_kenmerkbestelregel.ins_discipline_key",
"label": L("bes_ins_discipline_key"),
"typ": "key",
"required": true,
"insertonly": true,
"foreign": {
"tbl": "bes_v_aanwezigdiscipline",
"key": "ins_discipline_key",
"desc": "ins_discipline_omschrijving"
}
},
"orderarticlegroup": {
"dbs": "bes_kenmerkbestelregel.bes_srtgroep_key",
"label": L("bes_srtgroep"),
"typ": "key",
"insertonly": true,
"foreign": {
"tbl": "bes_srtgroep",
"key": "bes_srtgroep_key",
"desc": "bes_srtgroep_omschrijving"
}
},
"orderarticle": {
"dbs": "bes_kenmerkbestelregel.bes_srtdeel_key",
"label": L("bes_srtdeel"),
"typ": "key",
"insertonly": true,
"foreign": {
"tbl": "bes_srtdeel",
"key": "bes_srtdeel_key",
"desc": "bes_srtdeel_omschrijving"
}
},
"level": {
"dbs": "bes_kenmerk_niveau",
"label": L("mgt_kenmerk_niveau"),
"typ": "varchar",
"hidden_fld": true,
"LOV": buildBESKenmerkNiveauList(),
"emptyoption": null,
"defaultvalue": "D"
},
"attributetype": {
"dbs": "bes_kenmerk_type",
"label": L("bes_kenmerk_type"),
"typ": "varchar",
"hidden_fld": true,
"defaultvalue": "I"
},
"sequence": {
"dbs": "bes_kenmerk_volgnummer",
"label": L("mgt_kenmerk_volgnummer"),
"typ": "number",
"required": true
},
"required": {
"dbs": "bes_kenmerk_verplicht",
"label": L("mgt_kenmerk_verplicht"),
"typ": "key",
"LOV": buildVerplichtingList(),
"emptyoption": null
},
"group": {
"dbs": "bes_kenmerk_groep",
"label": L("mgt_kenmerk_groep"),
"typ": "key",
"required": true,
"LOV": buildGroepsverplichtingList(),
"emptyoption": null
},
"readonly": {
"dbs": "bes_kenmerk_toonbaar",
"label": L("mgt_kenmerk_toonbaar"),
"typ": "check"
},
"propertydefault": {
"dbs": "bes_kenmerk_default",
"label": L("mgt_kenmerk_default"),
"typ": "memo",
"translate": true
},
"hint": {
"dbs": "bes_kenmerk_hint",
"label": L("mgt_kenmerk_hint"),
"typ": "varchar",
"translate": true,
"filter": "like",
"defaultvalue": null
},
"regexp": {
"dbs": "bes_kenmerk_regexp",
"label": L("mgt_kenmerk_regexp"),
"typ": "varchar"
}
};
function buildBESKenmerkNiveauList()
{
return "D;"+L("bes_ins_discipline_key")
+ ";G;"+L("bes_srtgroep")
+ ";S;"+L("bes_srtdeel");
}
this.hook_pre_edit = function (obj, fld)
{
if (obj.id == -1)
{
fld.orderarticlegroup.foreign.where = "bes_srtgroep_key IS NULL";
fld.orderarticle.foreign.where = "bes_srtdeel_key IS NULL"; // Geen artikelen ophalen: zijn er veel te veel.
}
%>
<script type="text/javascript">
var module = "BES";
</script>
<%
}
this.hook_pre_post = function (params, jsondata)
{
var checkdata = { module: "bes",
srtkenmerk: true,
key: jsondata.orderpropertytype,
value: jsondata.propertydefault
};
checkSrtkenmerkValue(checkdata);
if (checkdata.err != "")
abort_with_warning(checkdata.err);
jsondata.propertydefault = checkdata.value;
}
var ext_sql = "(SELECT DISTINCT"
+ " B.bes_kenmerk_key"
+ " , S.bes_srtkenmerk_omschrijving"
+ " , B.bes_kenmerk_volgnummer"
+ " , B.bes_kenmerk_niveau"
+ " , B.bes_kenmerk_type"
+ " , B.bes_srtinstallatie_key"
+ " , B.bes_srtkenmerk_key"
+ " , B.bes_kenmerk_hint"
+ " , S.bes_srtkenmerk_key"
+ " , I.bes_discipline_key ins_discipline_key" //I.ins_discipline_key
+ " , CASE WHEN b.bes_kenmerk_niveau <> 'D' THEN I.bes_srtgroep_key END bes_srtgroep_key"
+ " , CASE WHEN b.bes_kenmerk_niveau = 'S' THEN I.bes_srtdeel_key END bes_srtdeel_key"
+ " FROM bes_kenmerk B"
+ " , bes_srtkenmerk S"
+ " , BES_V_ALLSRTINSTALLATIE I"
+ " WHERE B.bes_srtkenmerk_key = S.bes_srtkenmerk_key"
+ " AND B.bes_kenmerk_type = 'I'"
+ " AND S.bes_srtkenmerk_verwijder IS NULL"
+ " AND B.bes_srtinstallatie_key = I.bes_srtinstallatie_key"
+ " AND B.bes_kenmerk_niveau = I.niveau"
+ ") bes_kenmerkbestelregel";
this.REST_GET = generic_REST_GET(this, {
"GET": {
"tables": [ ext_sql],
"wheres": [ "bes_kenmerk.bes_kenmerk_key = bes_kenmerkbestelregel.bes_kenmerk_key" ]
}
});
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
%>