Files
Facilitor/APPL/API2/model_mld_workflowrule.inc
Koen Reefman d96cd24751 FCLT#70611 SCF-iconen (3/3)
svn path=/Website/trunk/; revision=61032
2023-07-03 13:34:11 +00:00

151 lines
6.4 KiB
C++

<% /*
$Revision$
$Id$
File: model_mld_workflow_rule.inc
Description: Vanuit CodeCharge gegenereerd model voor mld_workflow_rule
Context:
Notes:
*/
%>
<%
function model_mld_workflowrule(mystart_key)
{
this.records_name = "workflowrules";
this.record_name = "workflowrule";
this.table = "mld_workflowrule";
this.primary = "mld_workflowrule_key";
this.autfunction = "WEB_MLDMGT";
this.record_title = L("mld_workflowrule");
this.records_title = L("mld_workflowrule_m");
this.defaultIcon = "fa-align-left";
var prev_key = getQParamInt("prevstep", -1);
var mode = getQParam("mode", "");
var prefix_next_key = mode == "edit" && prev_key > 0;
this.fields = {
"id": {
"dbs": "mld_workflowrule_key",
"label": L("lcl_key"),
"typ": "key",
"required": true,
"seq": "mld_s_mld_workflowrule_key",
"readonly": true
},
"prevstep": {
"dbs": "mld_workflowstep_key",
"label": L("mld_workflowrule_step_prev"),
"typ": "key",
"foreign": {
"tbl": "(SELECT s.mld_workflowstep_key"
+ " , mld_workflowstep_start_key"
+ " , case when srt.ins_srtdiscipline_prefix is not null then srt.ins_srtdiscipline_prefix || '-' end || d.ins_discipline_omschrijving || '/ ' || m.mld_stdmelding_omschrijving stdmelding_omschr"
+ " FROM mld_workflowstep s"
+ " , mld_stdmelding m"
+ " , mld_v_aanwezigdiscipline d"
+ " , ins_srtdiscipline srt"
+ " WHERE m.mld_stdmelding_key = s.mld_stdmelding_key"
+ " AND m.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND srt.ins_srtdiscipline_key = d.ins_srtdiscipline_key"
+ " ORDER by d.ins_discipline_omschrijving asc"
+ " , m.mld_stdmelding_omschrijving asc)",
"key": "mld_workflowstep_key",
"desc": "stdmelding_omschr",
"where" : "(mld_workflowstep_start_key = " + mystart_key + " OR mld_workflowstep_key = " + mystart_key + ")"
},
"required": true,
"uniquewith": "nextstep"
},
// Alleen maar verwarrend
// "name": {
// "dbs": "mld_workflowrule_omschrijving",
// "label": L("mld_workflowrule_omschr"),
// "typ": "varchar"
// },
"nextstep_id": {
"dbs": "mld_workflowstep_next_key",
"label": L("lcl_key"),
"typ": "key",
"tdClass": "listid",
"hidden_fld": true,
"readonly": true
},
"nextstep": {
"dbs": "mld_workflowstep_next_key",
"label": L("mld_workflowrule_step_next"),
"typ": "key",
"foreign": {
"tbl": "(SELECT s.mld_workflowstep_key"
+ " , mld_workflowstep_start_key"
+ " , " + (prefix_next_key ? "LPAD(s.mld_workflowstep_key, 5, ' ') || '. ' || " : "") + "case when srt.ins_srtdiscipline_prefix is not null then srt.ins_srtdiscipline_prefix || '-' end || d.ins_discipline_omschrijving || ' / ' || m.mld_stdmelding_omschrijving stdmelding_omschr"
+ " FROM mld_workflowstep s"
+ " , mld_stdmelding m"
+ " , mld_v_aanwezigdiscipline d"
+ " , ins_srtdiscipline srt"
+ " WHERE m.mld_stdmelding_key = s.mld_stdmelding_key"
+ " AND m.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND srt.ins_srtdiscipline_key = d.ins_srtdiscipline_key"
+ " ORDER by d.ins_discipline_omschrijving asc"
+ " , m.mld_stdmelding_omschrijving asc)",
"key": "mld_workflowstep_key",
"desc": "stdmelding_omschr",
"where": (mystart_key ? "(mld_workflowstep_start_key = " + mystart_key + " OR mld_workflowstep_key = " + mystart_key + ")" : "" )
},
"required": true,
"uniquewith": "prevstep",
"sortOnFld": "id"
},
"_hint" : {
"dbs": "",
"label": "",
"typ": "label",
"labelvalue": L("mld_workflow_prev_in_overview")
},
"condition": {
"dbs": "mld_workflowrule_condition",
"label": L("mld_workflowrule_condition"),
"typ": "memo"
},
"otherpath": {
"dbs": "mld_workflowrule_result",
"label": "Otherpath",
"typ": "number",
"required": true,
"hidden_fld": true,
"defaultvalue": 1
}
};
if (prev_key > 0)
{
var start_key = Oracle.Get("mld_workflowstep_start_key", "mld_workflowstep", prev_key) || prev_key;
//this.fields.prevstep.foreign.where = "mld_workflowstep_start_key = " + start_key;
this.fields.nextstep.foreign.where = "mld_workflowstep_start_key = " + start_key
+ " AND mld_workflowstep_key <> " + prev_key
+ " AND mld_workflowstep_key NOT IN" // en geen prev stap van onszelf. Voorkom cyclus
+ " ( SELECT mld_workflowstep_key"
+ " FROM mld_workflowrule r"
+ " START WITH mld_workflowstep_next_key = " + prev_key
+ " CONNECT BY PRIOR r.mld_workflowstep_key ="
+ " r.mld_workflowstep_next_key)";
}
// Dit lijkt nog even nodig ook voor de parameter overdracht ('step is undefined')
// Het moet (nog) wel weg?
this.edit = {
"modal": true
};
this.list = {
"columns": ["id", "nextstep"]
};
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
%>