165 lines
7.9 KiB
C++
165 lines
7.9 KiB
C++
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: srtgroepselector.inc
|
|
Description: Algemene interface functie om een standaard srtgroep 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.
|
|
srtgroep_key Initiële key waarde van de srtgroep die ingevuld moet worden.
|
|
disc_key: Discipline key (parent)
|
|
module: Verplicht: module waarvan de srtgroepen zijn
|
|
multitoggle: Sta multi-toggle toe
|
|
sgRelType: De onderliggende multiSuggest-types die afhankelijk zijn van deze FCLTsrtgroepselector, gescheiden door komma's.
|
|
De eerstvolgende afhankelijke als eerste vermelden (bijv. "srtgroep, srtdeel").
|
|
autfunction Verplicht autfunction (fac_function_code)
|
|
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.
|
|
trclass: wordt ook op de <tr> gezet.
|
|
autlevel: autorisatie niveau voor de query die gebruikt wordt voor de suggest.
|
|
extraParamField: veldnaam voor een extra hidden parameter veld.
|
|
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)).
|
|
*/ %>
|
|
<!-- #include file="./Suggest/srtgroepFilter.inc" -->
|
|
|
|
<%
|
|
FCLTHeader.Requires({ plugins: ["suggest", "jQuery"], js: [] });
|
|
|
|
function FCLTsrtgroepselector(fieldName, objectName, params)
|
|
{
|
|
var sgType = "srtgroep";
|
|
params = params || {};
|
|
|
|
var lwhenEmpty = (params.whenEmpty != null ? params.whenEmpty : (params.readonly ? L("lcl_select_readonly") : L("lcl_select_srtgroep")));
|
|
var lsrtgroepName = "";
|
|
var lextraInit = "";
|
|
var filtClause = getFiltClauseSrtgroep(params.filtercode, params);
|
|
var module = params.module || "INS"; // geldige waarden: INS, BES
|
|
|
|
if (module != "INS" && module != "BES")
|
|
shared.internal_error(L("lcl_obj_bad_value") + " module={0}.".format(module));
|
|
|
|
if (params.readonly && params.srtgroep_key && params.srtgroep_key > 0)
|
|
{
|
|
var sql = "SELECT "
|
|
+ lcl.xsql("sg." + module + "_srtgroep_omschrijving", "sg." + module + "_srtgroep_key") + "srtgroep_omschrijving"
|
|
+ ", sg.ins_discipline_key extra"
|
|
+ " FROM " + module + "_srtgroep sg"
|
|
+ " WHERE " + module + "_srtgroep_key = " + params.srtgroep_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
lsrtgroepName = oRs("srtgroep_omschrijving").value;
|
|
lextraInit = oRs("extra").value;
|
|
oRs.Close();
|
|
}
|
|
else
|
|
{
|
|
var sql = "SELECT COUNT(distinct sg." + module + "_srtgroep_key) aantal"
|
|
+ " FROM " + module + "_v_aanwezigsrtgroep sg"
|
|
+ ", ins_tab_discipline td"
|
|
+ " WHERE td.ins_discipline_key = sg.ins_discipline_key"
|
|
+ " AND td.ins_discipline_verwijder IS NULL"
|
|
+ filtClause;
|
|
var oRs = Oracle.Execute(sql);
|
|
var aantalgroepen = oRs("aantal").value;
|
|
oRs.Close();
|
|
|
|
// Als er maar één srtgroep is, dan deze selecteren.
|
|
if (aantalgroepen == 1)
|
|
{
|
|
sql = "SELECT sg." + module + "_srtgroep_key srtgroep_key"
|
|
+ ", " + lcl.xsql("sg." + module + "_srtgroep_omschrijving", "sg." + module + "_srtgroep_key") + "srtgroep_omschrijving"
|
|
+ ", sg.ins_discipline_key extra"
|
|
+ " FROM " + module + "_v_aanwezigsrtgroep sg"
|
|
+ ", ins_tab_discipline td"
|
|
+ " WHERE td.ins_discipline_key = sg.ins_discipline_key"
|
|
+ " AND td.ins_discipline_verwijder IS NULL"
|
|
+ filtClause;
|
|
oRs = Oracle.Execute(sql);
|
|
lsrtgroepName = oRs("srtgroep_omschrijving").value;
|
|
lextraInit = oRs("extra").value;
|
|
params.srtgroep_key = oRs("srtgroep_key").value;
|
|
oRs.Close();
|
|
}
|
|
}
|
|
|
|
// Bouw de url voor de srtgroep query op
|
|
var srtgroepQueryUrl = rooturl + "/appl/shared/suggest/SuggestSrtgroep.asp"
|
|
+ "?autfunction=" + params.autfunction
|
|
+ (params.disc_key? "&disc_key=" + params.disc_key : "")
|
|
+ (params.extracode? "&extracode=" + params.extracode : "")
|
|
+ (params.filtercode? "&filtcode=" + params.filtercode : "")
|
|
+ "&module=" + module;
|
|
if (params.label)
|
|
{ %>
|
|
<tr <%=params.trclass ? "class='"+params.trclass+"'" : ""%>><td class="label">
|
|
<label for="<%=fieldName%>_show"><%=params.label%></label>
|
|
</td>
|
|
<td>
|
|
<%
|
|
}
|
|
if (params.readonly) { %>
|
|
<span id="<%=fieldName%>_show">
|
|
<%=safe.html(lsrtgroepName)%>
|
|
</span>
|
|
<% } else {
|
|
%>
|
|
<input id="<%=fieldName%>_show" class="fld<%=params.required ? " required" : ""%>" value="<%=safe.htmlattr(lsrtgroepName)%>" placeholder="<%=safe.htmlattr(lwhenEmpty)%>"
|
|
sgType="<%=sgType%>" <%=params.onChange ? " sgonChange='" + params.onChange + "'":""%>>
|
|
<% } %>
|
|
|
|
<input type="hidden" id="<%=fieldName%>" name="<%=fieldName%>" value="<%=params.srtgroep_key%>">
|
|
<%
|
|
if (params.extraParamField)
|
|
{ /* het extra parameter veld wordt door suggest object gevuld */%>
|
|
<input type="hidden" id="<%=params.extraParamField%>" name="<%=params.extraParamField%>" value="<%=safe.htmlattr(lextraInit)%>">
|
|
<%
|
|
}
|
|
|
|
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: "<%=srtgroepQueryUrl%>",
|
|
initKey: <%=params.srtgroep_key? params.srtgroep_key : -1%>,
|
|
icon: "fa-tag",
|
|
keyField: $("#<%=fieldName%>")[0]
|
|
<%=params.multitoggle ? ", multitoggle: true" : ""%>
|
|
<%=params.sgRelType ? ", sgRelType: \"" + params.sgRelType + "\"": ""%>
|
|
<%=params.urlAdd? ", urlAdd: " + urlAddTxt : ""%>
|
|
<%=params.extraParamField? ", extraParamField: $(\"" + "#" + params.extraParamField + "\")[0]" : ""%>
|
|
<%=params.extraParamField? ", initExtraParam: \"" + safe.jsstring("" + lextraInit) + "\"": ""%>
|
|
<%=params.isBad? ", isBad: true": ""%>
|
|
<%=params.readonly? ", fieldReadonly: true": ""%>
|
|
,highlightDescript: true
|
|
});
|
|
});
|
|
</script>
|
|
<%
|
|
}
|
|
}
|
|
%> |