FSN#36112 Workflowschermen nieuwe stijl
svn path=/Website/trunk/; revision=29005
This commit is contained in:
118
APPL/MGT/mld_workflow_expression.asp
Normal file
118
APPL/MGT/mld_workflow_expression.asp
Normal file
@@ -0,0 +1,118 @@
|
||||
<%@language = "javascript" %>
|
||||
<%
|
||||
/* $Revision$
|
||||
$Id$
|
||||
|
||||
File: mld_workflow_expression.asp
|
||||
Description: Detailscherm om expressie te bouwen
|
||||
Parameters: step_key (REQUIRED)
|
||||
Context:
|
||||
Note: Modal popup
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../mld/mld.inc" -->
|
||||
<!-- #include file="../mld/mld_flexkenmerk.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins: ["jQuery", "suggest"],
|
||||
js: ["jQuery-ui.js", "modal_kenmerken.js"]
|
||||
})
|
||||
|
||||
var step_key = getQParamInt("step_key");
|
||||
|
||||
var sql = "SELECT ms.mld_stdmelding_key,"
|
||||
+ " md.ins_discipline_key,"
|
||||
+ " md.ins_srtdiscipline_key"
|
||||
+ " FROM mld_workflowstep ws,"
|
||||
+ " mld_stdmelding ms,"
|
||||
+ " mld_discipline md"
|
||||
+ " WHERE ws.mld_stdmelding_key = ms.mld_stdmelding_key"
|
||||
+ " AND md.ins_discipline_key = ms.mld_ins_discipline_key"
|
||||
+ " AND ws.mld_workflowstep_key = " + step_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var srtdisc_key = oRs("ins_srtdiscipline_key").Value;
|
||||
var disc_key = oRs("ins_discipline_key").Value;
|
||||
var stdm_key = oRs("mld_stdmelding_key").Value;
|
||||
oRs.Close()
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<%
|
||||
FCLTHeader.Generate();
|
||||
%>
|
||||
<script type="text/javascript" >
|
||||
window.return_data = {};
|
||||
function quoted_sql(tekst, maxlen) // maxlen is optioneel
|
||||
{
|
||||
if (tekst == null)
|
||||
return "NULL";
|
||||
if (!maxlen)
|
||||
maxlen = 4000;
|
||||
tekst = tekst.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]+/g, "?");
|
||||
tekst = tekst.substr(0, maxlen);
|
||||
return "'" + tekst.replace(/\'/g,"''") + "'"; // " syntax highlight correctie
|
||||
}
|
||||
function preview ()
|
||||
{
|
||||
$("#sample").html(expr_text());
|
||||
FcltMgr.resized();
|
||||
}
|
||||
$(function () { $("input,select").change(preview); });
|
||||
function expr_text()
|
||||
{
|
||||
var sqlarr = [];
|
||||
var aantal_kenm = $("#k_all").val();
|
||||
// Ingevulde waarden van de kenmerken bewaren.
|
||||
// TODO: getKenmerkSql hier inzetten?
|
||||
for (var n = 1; n <= aantal_kenm; n++)
|
||||
{
|
||||
var kw = new kenmerkValues(n);
|
||||
if (typeof kw.val == 'number')
|
||||
kw.val = String(kw.val);
|
||||
var keyname = ":flex" + kw.key;
|
||||
if (kw.op == 'IS NOT NULL' || kw.op == 'IS NULL')
|
||||
sqlarr.push(keyname + " " + kw.op)
|
||||
else if (kw.val && kw.typ != "R" && kw.typ != "S")
|
||||
{
|
||||
if (kw.op == 'LIKE' || kw.op == 'NOT LIKE')
|
||||
sqlarr.push("UPPER(" + keyname + ") " + kw.op + " " + quoted_sql(kw.val.toUpperCase()))
|
||||
else
|
||||
sqlarr.push(keyname + " " + kw.op + " " + quoted_sql(kw.val))
|
||||
}
|
||||
else if (kw.val != '-1' && kw.val != '' && (kw.typ == "R" || kw.typ == "S"))
|
||||
sqlarr.push(keyname + " " + kw.op + " " + quoted_sql(kw.val));
|
||||
}
|
||||
return sqlarr.join(" AND ");
|
||||
}
|
||||
function expr_submit()
|
||||
{
|
||||
window.return_data.org_data = FcltMgr.dialogArguments();
|
||||
window.return_data.expression = expr_text();
|
||||
FcltMgr.closeDetail(window, return_data);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_wfexpression" >
|
||||
<form id="wf" name="wf" method="post">
|
||||
<%
|
||||
generateFlexKenmerkBlock({ stdm_arr : [stdm_key],
|
||||
disc_arr : [disc_key],
|
||||
srtdisc : [srtdisc_key], // Srtdiscipline/Soort melding
|
||||
flexcolumns : 1,
|
||||
closing : 1,
|
||||
advanced : true,
|
||||
wfbuilder : true
|
||||
});
|
||||
|
||||
var buttons = [ {title: L("lcl_submit"), icon: "opslaan.png", action: "expr_submit()" },
|
||||
{title: L("lcl_cancel"), icon: "undo.png", action: "FcltMgr.closeDetail( window )" }];
|
||||
CreateButtons(buttons);
|
||||
%></form>
|
||||
<div id='sample'></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -70,6 +70,23 @@ var scf_params =
|
||||
},
|
||||
"transit": {
|
||||
"mystart": mystart_key
|
||||
},
|
||||
"included": {
|
||||
"rules": {
|
||||
"edit": {
|
||||
"requires": {
|
||||
js: ["./mld_workflowstep.js"]
|
||||
},
|
||||
"buttons": [{ title: L("mld_workflowrule_condition"), action: "build_expression(" + prevstep + ")"}]
|
||||
},
|
||||
"list": {
|
||||
"columns": [
|
||||
"id",
|
||||
"nextstep",
|
||||
"condition"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -3,6 +3,16 @@
|
||||
$Id$
|
||||
*/
|
||||
|
||||
function build_expression(step_key)
|
||||
{
|
||||
parent.FcltMgr.openModalDetail("./mld_workflow_expression.asp?step_key=" + step_key, "Uitdrukking",
|
||||
{ callback: function (data)
|
||||
{ if (data.expression)
|
||||
$("textarea#condition").val(data.expression);
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
function add_step(row)
|
||||
{
|
||||
var prevstep_key = row.getAttribute("ROWKEY");
|
||||
|
||||
@@ -51,7 +51,10 @@ function scaffolding(model, scf_params)
|
||||
var imodel = getQParam("model", ""); // include model
|
||||
if (model.includes && imodel in model.includes)
|
||||
{
|
||||
scf_params = {}; // settings gelden alleen op het hoofdmodel?
|
||||
if ("included" in scf_params)
|
||||
scf_params = scf_params.included[imodel] || {}
|
||||
else
|
||||
scf_params = {}; // settings gelden alleen op het hoofdmodel?
|
||||
scf_params.orgmodel = model;
|
||||
scf_params.incsetting = model.includes[imodel];
|
||||
// scf_params.incsetting.joinfield zal nu ook altijd in de url voorkomen
|
||||
|
||||
Reference in New Issue
Block a user