142 lines
6.2 KiB
C++
142 lines
6.2 KiB
C++
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: srtcontroleselector.inc
|
|
Description: Algemene interface functie om een taken (srtcontrole) suggestbox te maken
|
|
|
|
parameters: fieldName: veldnaam van het key veld. Dit veld wordt gesubmit.
|
|
objectName: naam van het suggest object dat wordt aangemaakt.
|
|
params: object met meegegeven parameters.
|
|
srtcontrole_key: initiële key waarde van de srtcontrole die ingevuld moet worden.
|
|
multitoggle: Sta multi-toggle toe
|
|
label: label dat voor het veld wordt weergegeven.
|
|
filtercode: extra filtercode voor de query die gebruikt wordt voor de suggest.
|
|
onChange: onchange op het textveld.
|
|
intern_uitv: Ben ik interne uitvoerder.
|
|
isBad: boolean die aangeeft dat het veld als ongeldig
|
|
en leeg weergegeven moet worden (true|false(default)).
|
|
readonly: geeft aan of het veld readonly weergegeven moet worden (true|false(default)).
|
|
TODO: Autoselect als er maar eentje is
|
|
*/ %>
|
|
|
|
<!-- #include file="./Suggest/srtcontroleFilter.inc" -->
|
|
|
|
<%
|
|
FCLTHeader.Requires({ plugins: ["suggest", "jQuery"], js: [] });
|
|
|
|
function FCLTsrtcontroleselector(fieldName, objectName, params)
|
|
{
|
|
var sgType = fieldName;
|
|
if (typeof params == "undefined") params = {};
|
|
|
|
var lwhenEmpty = (params.whenEmpty != null ? params.whenEmpty : (params.readonly ? L("lcl_select_readonly") : L("lcl_select_srtcontrole")));
|
|
var lsrtcontroleName = "";
|
|
|
|
// Is er een initiele waarde meegegeven? Zoek dan de omschrijving erbij!
|
|
|
|
// Bijvoorbeeld params.perslidKey ook meegeven aan getFiltClauseSrtcontrole.
|
|
// params.perslidKey kan ook meegegeven worden met urlAdd zodat de waarde uit een veld wordt gehaald
|
|
if (params.urlAdd)
|
|
{
|
|
for (i in params.urlAdd)
|
|
{
|
|
if (params.urlAdd[i].init)
|
|
params[params.urlAdd[i].urlParam] = params.urlAdd[i].init;
|
|
}
|
|
}
|
|
|
|
var filtClause = getFiltClauseSrtcontrole(params.filtercode, params, true);
|
|
sql = "SELECT COUNT(*) aantal"
|
|
+ " FROM ins_srtcontrole isc"
|
|
+ " , ctr_disc_params cdp"
|
|
+ " , ctr_discipline cd"
|
|
+ filtClause.from
|
|
+ " WHERE isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
|
+ " AND cdp.ctr_ins_discipline_key = cd.ins_discipline_key"
|
|
+ filtClause.where;
|
|
var oRs = Oracle.Execute(sql);
|
|
// Als er maar één taakcategorie (ctr_discipline) is, dan deze selecteren.
|
|
var justone = (oRs("aantal").value == 1);
|
|
if (oRs("aantal").value == 1)
|
|
{
|
|
sql = "SELECT ins_srtcontrole_key"
|
|
+ filtClause.select
|
|
+ " , cd.ins_discipline_omschrijving"
|
|
+ " FROM ins_srtcontrole isc"
|
|
+ " , ctr_disc_params cdp"
|
|
+ " , ctr_discipline cd"
|
|
+ filtClause.from
|
|
+ " WHERE isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
|
+ " AND cdp.ctr_ins_discipline_key = cd.ins_discipline_key"
|
|
+ filtClause.where;
|
|
oRs.Close(); // close the above recordset first
|
|
var oRs = Oracle.Execute(sql);
|
|
lsrtcontroleName = oRs("ins_srtcontrole_omschrijving").value;
|
|
params.srtcontrole_key = oRs("ins_srtcontrole_key").Value;
|
|
}
|
|
oRs.Close(); // close the recordset
|
|
// TODO: dit gaat nog niet zo lekker; als ik binnen het kennelijk geldende filter geen Name kan vinden
|
|
// moet-ie dan bv bad worden getoond? Of wat?
|
|
|
|
// Bouw de url voor de srtcontrole query op
|
|
var srtcQueryUrl = rooturl + "/appl/shared/suggest/SuggestSrtcontrole.asp"
|
|
+ "?intern_uitv=" + (params.intern_uitv? 1 : 0)
|
|
+ (params.ctrdisc_key > 0? "&ctrdisc_key=" + params.ctrdisc_key : "")
|
|
+ (params.filtercode? "&filtcode=" + params.filtercode : "");
|
|
if (params.label)
|
|
{ %><tr>
|
|
<td class="label">
|
|
<label for="<%=fieldName%>_show"><%=params.label%></label>
|
|
</td>
|
|
<td>
|
|
<%
|
|
} %>
|
|
<nobr>
|
|
<input id="<%=fieldName%>_show" class="fld<%=(!params.readonly && params.required)? " required" : ""%>" value="<%=safe.htmlattr(lsrtcontroleName)%>" placeholder="<%=safe.htmlattr(lwhenEmpty)%>"
|
|
<%=params.readonly? " readonly":""%> sgType="<%=sgType%>"
|
|
<%=params.onChange && !params.readonly? " sgonChange='" + params.onChange + "'":""%>
|
|
>
|
|
<input type="hidden" id="<%=fieldName%>" name="<%=fieldName%>" value="<%=params.srtcontrole_key%>">
|
|
</nobr>
|
|
<%
|
|
if (params.label)
|
|
{ %>
|
|
</td></tr>
|
|
<%
|
|
}
|
|
|
|
if (!params.readonly)
|
|
{
|
|
if (params.urlAdd)
|
|
{
|
|
var urlAddTxt = "[";
|
|
for (var i = 0; i < params.urlAdd.length; i++)
|
|
{
|
|
urlAddTxt += (i > 0? ", " : "") + "{ urlParam: \"" + params.urlAdd[i].urlParam + "\", field: \"" + params.urlAdd[i].field + "\" }";
|
|
}
|
|
urlAddTxt += "]"
|
|
}
|
|
%>
|
|
<script type="text/javascript">
|
|
$(function()
|
|
{
|
|
<%=objectName%> = new Suggest({ objectName: "<%=objectName%>",
|
|
sgType: "<%=sgType%>",
|
|
queryField: $("#<%=fieldName%>_show")[0],
|
|
queryUrl: "<%=srtcQueryUrl%>",
|
|
initKey: <%=params.srtcontrole_key? params.srtcontrole_key : -1%>,
|
|
keyField: $("#<%=fieldName%>")[0]
|
|
<%=params.multitoggle ? ", multitoggle: true" : ""%>
|
|
<%=params.sgRelType ? ", sgRelType: \"" + params.sgRelType + "\"": ""%>
|
|
<%=params.urlAdd? ", urlAdd: " + urlAddTxt : ""%>
|
|
<%=params.isBad? ", isBad: true": ""%>
|
|
<%=params.readonly? ", fieldReadonly: true": ""%>
|
|
,highlightDescript: true
|
|
});
|
|
});
|
|
</script>
|
|
<%
|
|
}
|
|
}
|
|
%> |