240 lines
7.9 KiB
PHP
240 lines
7.9 KiB
PHP
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: model_bes_kenmerk.inc
|
|
|
|
Description: Vanuit CodeCharge gegenereerd model voor bes_kenmerk
|
|
|
|
Context:
|
|
|
|
Notes:
|
|
*/
|
|
%>
|
|
<%
|
|
|
|
function model_bes_kenmerk()
|
|
{
|
|
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 = "WEB_BESMGT";
|
|
this.record_title = L("bes_kenmerk");
|
|
this.records_title = L("bes_kenmerk_m");
|
|
|
|
|
|
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.propertytype,
|
|
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, {});
|
|
}
|
|
%> |