281 lines
9.6 KiB
PHP
281 lines
9.6 KiB
PHP
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: model_ins_kenmerk.inc
|
|
|
|
Description: Vanuit CodeCharge gegenereerd model voor ins_kenmerk
|
|
|
|
Context: Met parameter 'niveau' worden alleen de inspectiekenmerken getoond.
|
|
Zonder, alle niet-inspectie kenmerken.
|
|
|
|
Notes:
|
|
*/
|
|
%>
|
|
<!-- #include file="model_ins_srtkenmerk.inc"-->
|
|
<%
|
|
|
|
function model_ins_kenmerk(niveau, params)
|
|
{
|
|
params = params || {};
|
|
this.records_name = "objectproperties";
|
|
this.record_name = "objectproperty";
|
|
this.table = "ins_kenmerk";
|
|
this.primary = "ins_kenmerk_key";
|
|
this.soft_delete = "ins_kenmerk_verwijder";
|
|
this.autfunction = params.internal?false:"WEB_INSMGT";
|
|
this.record_title = L("ins_kenmerk");
|
|
this.records_title = L("ins_kenmerk_m");
|
|
this.module = "INS";
|
|
|
|
this.fields = {
|
|
"id": {
|
|
"dbs": "ins_kenmerk_key",
|
|
"label": L("lcl_key"),
|
|
"typ": "key",
|
|
"required": true,
|
|
"filter": "exact",
|
|
"seq": "ins_s_ins_kenmerk_key",
|
|
"readonly": true
|
|
},
|
|
"objectpropertytype": {
|
|
"dbs": "ins_srtkenmerk_key",
|
|
"label": L("mgt_srtkenmerk_key"),
|
|
"typ": "key",
|
|
"required": true,
|
|
"foreign": {
|
|
"tbl": "(select ins_srtkenmerk_key"
|
|
+ " , ins_srtkenmerk_omschrijving"
|
|
+ " from ins_srtkenmerk"
|
|
+ " where ins_srtkenmerk_verwijder is null"
|
|
+ " order by ins_srtkenmerk_omschrijving asc)",
|
|
"key": "ins_srtkenmerk_key",
|
|
"desc": "ins_srtkenmerk_omschrijving"
|
|
},
|
|
"filter": "exact"
|
|
},
|
|
"objectdiscipline": {
|
|
"dbs": "ins_v_allsrtinstallatie.ins_discipline_key",
|
|
"label": L("ins_srtinstallatie_discipline"),
|
|
"typ": "key",
|
|
"required": true,
|
|
"insertonly": true,
|
|
"foreign": { "tbl": "ins_v_aanwezigdiscipline",
|
|
"key": "ins_discipline_key",
|
|
"desc": "ins_discipline_omschrijving"
|
|
}
|
|
},
|
|
"objectgroup": {
|
|
"dbs": "ins_v_allsrtinstallatie.ins_srtgroep_key",
|
|
"label": L("ins_srtinstallatie_srtgroep"),
|
|
"typ": "key",
|
|
"insertonly": true,
|
|
"foreign": { "tbl": "ins_srtgroep",
|
|
"key": "ins_srtgroep_key",
|
|
"desc": "ins_srtgroep_omschrijving"
|
|
}
|
|
},
|
|
"objecttype": {
|
|
"dbs": "ins_v_allsrtinstallatie.ins_srtdeel_key",
|
|
"label": L("ins_srtinstallatie_srtdeel"),
|
|
"typ": "key",
|
|
"insertonly": true,
|
|
"foreign": { "tbl": "ins_srtdeel",
|
|
"key": "ins_srtdeel_key",
|
|
"desc": "ins_srtdeel_omschrijving"
|
|
}
|
|
},
|
|
"objectkey": {
|
|
"dbs": "ins_srtinstallatie_key",
|
|
"label": L("lcl_ins_object"),
|
|
"typ": "key",
|
|
"hidden_fld": true,
|
|
"required": true,
|
|
"foreign": {"tbl": "ins_srtcontrole",
|
|
"key": "ins_srtcontrole_key",
|
|
"desc": "ins_srtcontrole_omschrijving"
|
|
},
|
|
"filter": "exact"
|
|
},
|
|
"level": {
|
|
"dbs": "ins_kenmerk_niveau",
|
|
"label": L("mgt_kenmerk_niveau"),
|
|
"typ": "varchar",
|
|
"hidden_fld": true,
|
|
"LOV": fill_ins_niveau_LOV(),
|
|
"defaultvalue": "C"
|
|
},
|
|
"editlevel": {
|
|
"dbs": "ins_kenmerk_bewerkniveau",
|
|
"label": L("ins_kenmerk_bewerkniveau"),
|
|
"typ": "varchar",
|
|
"required": true,
|
|
"insertonly": true,
|
|
"defaultvalue": "D",
|
|
"LOV": L("ins_kenmerk_bewerkniveauLOV")
|
|
},
|
|
"sequence": {
|
|
"dbs": "ins_kenmerk_volgnummer",
|
|
"label": L("ins_kenmerk_volgnummer"),
|
|
"typ": "number",
|
|
"required": true
|
|
},
|
|
"required": {
|
|
"dbs": "ins_kenmerk_verplicht",
|
|
"label": L("ins_kenmerk_verplicht"),
|
|
"typ": "key",
|
|
"LOV": fill_verplicht_LOV(),
|
|
"emptyoption": L("lcl_mld_niet_verplicht"),
|
|
"multiedit": true
|
|
},
|
|
"group": {
|
|
"dbs": "ins_kenmerk_groep",
|
|
"label": L("ins_kenmerk_groep"),
|
|
"typ": "key",
|
|
"required": true,
|
|
"LOV": fill_groepsverplichting_LOV(),
|
|
"defaultvalue": "0",
|
|
"multiedit": true
|
|
},
|
|
"readonly": {
|
|
"dbs": "ins_kenmerk_toonbaar",
|
|
"label": L("mgt_kenmerk_toonbaar"),
|
|
"typ": "check",
|
|
"multiedit": true
|
|
},
|
|
"measurement": {
|
|
"dbs": "ins_kenmerk_meetwaarde",
|
|
"label": L("ins_kenmerk_meetwaarde"),
|
|
"typ": "check",
|
|
"multiedit": true
|
|
},
|
|
"clear": {
|
|
"dbs": "ins_kenmerk_wissen",
|
|
"label": L("ins_kenmerk_wissen"),
|
|
"typ": "key",
|
|
"LOV": L("ins_kenmerk_wissenLOV"),
|
|
"defaultvalue": "0",
|
|
"emptyoption": null,
|
|
"multiedit": true
|
|
},
|
|
"location": {
|
|
"dbs": "ins_kenmerk_locatiekolom",
|
|
"label": L("ins_kenmerk_locatiekolom"),
|
|
"typ": "varchar"
|
|
},
|
|
"propertydefault": {
|
|
"dbs": "ins_kenmerk_default",
|
|
"label": L("mgt_kenmerk_default"),
|
|
"typ": "memo",
|
|
"translate": true
|
|
},
|
|
"hint": {
|
|
"dbs": "ins_kenmerk_hint",
|
|
"label": L("mgt_kenmerk_hint"),
|
|
"typ": "memo",
|
|
"translate": true
|
|
},
|
|
"regexp": {
|
|
"dbs": "ins_kenmerk_regexp",
|
|
"label": L("mgt_kenmerk_regexp"),
|
|
"typ": "varchar"
|
|
}
|
|
};
|
|
|
|
this.getPropertyType = function (kenmerkdata)
|
|
{
|
|
var typedata = api2.GET(new model_ins_srtkenmerk({internal: params.internal}), kenmerkdata.objectpropertytype.id);
|
|
return typedata;
|
|
}
|
|
|
|
this.list = {
|
|
"columns": ["id",
|
|
"objectpropertytype",
|
|
"sequence",
|
|
"required",
|
|
"group"
|
|
]
|
|
};
|
|
this.search = {
|
|
"autosearch": true,
|
|
"filters": ["level",
|
|
"objectdiscipline",
|
|
"objectgroup",
|
|
"objecttype",
|
|
"objectpropertytype"
|
|
]
|
|
};
|
|
this.edit = { modal: true};
|
|
|
|
// Server side code!
|
|
//
|
|
// Afhankelijk van niveau:
|
|
|
|
var gparams = { GET: { } };
|
|
if (niveau == "C")
|
|
{
|
|
this.list.columns.splice(2, 0, "objectkey");
|
|
delete this.fields.objectdiscipline;
|
|
delete this.fields.objectgroup;
|
|
delete this.fields.objecttype;
|
|
delete this.fields.editlevel;
|
|
delete this.fields.measurement;
|
|
this.fields.objectkey.label = L("ins_srtcontrole");
|
|
this.record_title = L("ins_srtcontrole_kenmerk");
|
|
this.records_title = L("ins_srtcontrole_kenmerk_m");
|
|
gparams.GET = {wheres: [ "ins_kenmerk.ins_kenmerk_niveau = " + safe.quoted_sql(niveau)
|
|
, "ins_kenmerk.ins_kenmerk_verwijder IS NULL"
|
|
]
|
|
};
|
|
}
|
|
else
|
|
{ //kenmerk_niveau: D | G | S
|
|
// Toevoegen extra kolommen voor niet-inspectie kenmerken.
|
|
// NB: Standaard in this.list opnemen en bij niveau=C verwijderen geeft fout op niet bestaande ins_discipline_key etc.
|
|
this.list.columns.splice(2, 0, "objecttype");
|
|
this.list.columns.splice(2, 0, "objectgroup");
|
|
this.list.columns.splice(2, 0, "objectdiscipline");
|
|
//
|
|
this.record_title = L("ins_kenmerk");
|
|
this.records_title = L("ins_kenmerk_m");
|
|
gparams.GET = {tables: ["ins_v_allsrtinstallatie"],
|
|
wheres: [ "ins_kenmerk.ins_kenmerk_niveau <> 'C'",
|
|
"ins_kenmerk.ins_srtinstallatie_key = ins_v_allsrtinstallatie.ins_srtinstallatie_key",
|
|
"ins_kenmerk.ins_kenmerk_niveau = ins_v_allsrtinstallatie.niveau"
|
|
]
|
|
};
|
|
}
|
|
|
|
function fill_verplicht_LOV()
|
|
{ // Listbox verplicht vullen. Bij het veld is de emptyoption gezet.
|
|
// Hierdoor is er altijd een waarde geselecteerd.
|
|
return "1;" + L("lcl_mld_altijd_verplicht")
|
|
+ ";2;" + L("lcl_mld_groepsverplichting");
|
|
}
|
|
|
|
function fill_groepsverplichting_LOV()
|
|
{ // Listbox groepsverplichting vullen.
|
|
var groep_array = ["0", "<"+L("lcl_none")+">"];
|
|
for (i=1; i<=9; i++)
|
|
{
|
|
groep_array.push(i)
|
|
groep_array.push(L("ins_kenmerk_groep")+" "+i);
|
|
}
|
|
return groep_array.join(";");
|
|
}
|
|
|
|
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);
|
|
|
|
|
|
function fill_ins_niveau_LOV()
|
|
{
|
|
return "D;"+L("mgt_srtkenmerk_discipline")
|
|
+ ";G;"+L("mgt_srtkenmerk_srtgroep")
|
|
+ ";S;"+L("mgt_srtkenmerk_srtdeel");
|
|
}
|
|
|
|
}
|
|
%> |