335 lines
12 KiB
PHP
335 lines
12 KiB
PHP
<% /*
|
||
$Revision$
|
||
$Id$
|
||
|
||
File: mgt_tools.inc
|
||
|
||
Description:
|
||
|
||
Context:
|
||
|
||
Notes:
|
||
*/
|
||
%>
|
||
<%
|
||
function buildKenmerktypeLOV(kenmerktype, emptyOption)
|
||
{
|
||
var kenmerktypeLOV = "";
|
||
switch (kenmerktype)
|
||
{
|
||
case "C":
|
||
kenmerktypeLOV = "C;" + L("mgt_srtkenmerk_karakter");
|
||
break;
|
||
case "N":
|
||
kenmerktypeLOV = "N;" + L("mgt_srtkenmerk_numeriek");
|
||
break;
|
||
case "D":
|
||
kenmerktypeLOV = "D;" + L("mgt_srtkenmerk_datum");
|
||
break;
|
||
case "R":
|
||
kenmerktypeLOV = "R;" + L("mgt_srtkenmerk_referentie_l") + ";"
|
||
+ "S;" + L("mgt_srtkenmerk_referentie_s")
|
||
break;
|
||
case "S":
|
||
kenmerktypeLOV = "S;" + L("mgt_srtkenmerk_referentie_s") + ";"
|
||
+ "R;" + L("mgt_srtkenmerk_referentie_l")
|
||
break;
|
||
case "X":
|
||
kenmerktypeLOV = "X;" + L("mgt_srtkenmerk_bestandsnaam");
|
||
break;
|
||
case "F":
|
||
kenmerktypeLOV = "F;" + L("mgt_srtkenmerk_bestand");
|
||
break;
|
||
case "E":
|
||
kenmerktypeLOV = "E;" + L("mgt_srtkenmerk_bestand_e");
|
||
break;
|
||
case "M":
|
||
kenmerktypeLOV = "M;" + L("mgt_srtkenmerk_bestand_f");
|
||
break;
|
||
case "L":
|
||
kenmerktypeLOV = "L;" + L("mgt_srtkenmerk_label") + ";"
|
||
+ "l;" + L("mgt_srtkenmerk_label_i")
|
||
break;
|
||
case "l":
|
||
kenmerktypeLOV = "l;" + L("mgt_srtkenmerk_label_i") + ";"
|
||
+ "L;" + L("mgt_srtkenmerk_label")
|
||
break;
|
||
case "Q":
|
||
kenmerktypeLOV = "Q;" + L("mgt_srtkenmerk_blanco");
|
||
break;
|
||
// case "B":
|
||
// kenmerktypeLOV = "B;" + L("mgt_srtkenmerk_berekening");
|
||
// break;
|
||
default:
|
||
kenmerktypeLOV = (emptyOption ? emptyOption + ";" : "")
|
||
+ "C;" + L("mgt_srtkenmerk_karakter")
|
||
+ ";N;" + L("mgt_srtkenmerk_numeriek")
|
||
+ ";D;" + L("mgt_srtkenmerk_datum")
|
||
+ ";R;" + L("mgt_srtkenmerk_referentie_l")
|
||
+ ";S;" + L("mgt_srtkenmerk_referentie_s")
|
||
+ ";X;" + L("mgt_srtkenmerk_bestandsnaam")
|
||
+ ";F;" + L("mgt_srtkenmerk_bestand")
|
||
+ ";E;" + L("mgt_srtkenmerk_bestand_e")
|
||
+ ";M;" + L("mgt_srtkenmerk_bestand_f")
|
||
+ ";L;" + L("mgt_srtkenmerk_label")
|
||
+ ";l;" + L("mgt_srtkenmerk_label_i")
|
||
+ ";Q;" + L("mgt_srtkenmerk_blanco")
|
||
// + ";B;" + L("mgt_srtkenmerk_berekening");
|
||
}
|
||
return kenmerktypeLOV;
|
||
}
|
||
|
||
function buildVerplichtingList()
|
||
{ // LOV waarden voor xxx_kenmerk_verplicht.
|
||
var s = ";" + L("mgt_kenmerk_verplicht_0")
|
||
+ ";1;" + L("mgt_kenmerk_verplicht_1")
|
||
+ ";2;" + L("mgt_kenmerk_verplicht_2");
|
||
return s;
|
||
}
|
||
|
||
function buildGroepsverplichtingList()
|
||
{ // LOV waarden voor xxx_kenmerk_groep.
|
||
var s = "0;<" + L("lcl_none") + ">";
|
||
for (var i=1; i<=9; i++)
|
||
{
|
||
s = s + ";" + i + ";" + L("mgt_kenmerk_groep") + " " + i;
|
||
}
|
||
return s;
|
||
}
|
||
|
||
function buildKenmerkNiveauList()
|
||
{ // LOV waarde voor xxx_kenmerk_niveau
|
||
var s = "D;" + L("mgt_srtkenmerk_discipline")
|
||
+ ";G;" + L("mgt_srtkenmerk_srtgroep")
|
||
+ ";S;" + L("mgt_srtkenmerk_srtdeel");
|
||
return s;
|
||
}
|
||
|
||
function buildSrtcontroletypeList()
|
||
{ // LOV waarden voor srtcontrole_type
|
||
var s = "1;" + L("lcl_ins_srtcontrole_insp")
|
||
+ ";2;" + L("lcl_ins_srtcontrole_repl")
|
||
+ ";3;" + L("lcl_ins_srtcontrole_cert");
|
||
return s;
|
||
}
|
||
|
||
function fac_kenmerkdomein_foreign(module)
|
||
{
|
||
return {
|
||
"tbl": "(select fac_kenmerkdomein_key"
|
||
+ " , fac_kenmerkdomein_omschrijving"
|
||
+ " from fac_kenmerkdomein"
|
||
+ " where fac_kenmerkdomein_verwijder is null"
|
||
+ " and fac_kenmerkdomein_module = " + safe.quoted_sql(module)
|
||
+ " order by fac_kenmerkdomein_upper asc)",
|
||
"key": "fac_kenmerkdomein_key",
|
||
"desc": "fac_kenmerkdomein_omschrijving"
|
||
};
|
||
}
|
||
|
||
function checkSrtkenmerkValue(params)
|
||
{
|
||
// params: module IN module (ALG, BES, ...).
|
||
// srtkenmerk IN Is het een srtkenmerk (true) of kenmerk (false).
|
||
// key IN (srt)kenmerk_key van de te controleren waarde.
|
||
// value IN/OUT De te controleren waarde. Kan hier gewijzigd worden.
|
||
// err OUT Foutmelding bij ongeldige waarde voor "value", anders lege string.
|
||
//
|
||
var prefix = params.module + "_" + (params.srtkenmerk ? "srt" : "");
|
||
var sql = "SELECT *"
|
||
+ " FROM " + prefix + "kenmerk"
|
||
+ " WHERE " + prefix + "kenmerk_key = " + params.key;
|
||
var oRs = Oracle.Execute(sql);
|
||
var ktyp = oRs(prefix + "kenmerk_kenmerktype").Value;
|
||
var klen = oRs(prefix + "kenmerk_lengte").Value;
|
||
var kdec = oRs(prefix + "kenmerk_dec").Value;
|
||
var kmin = oRs(prefix + "kenmerk_nmin").Value;
|
||
var kmax = oRs(prefix + "kenmerk_nmax").Value;
|
||
oRs.Close();
|
||
|
||
var valid = true;
|
||
var value = params.value;
|
||
var err = ""; //L("lcl_mld_invalid_kenmerk_format");
|
||
|
||
if (value != "")
|
||
{
|
||
if (ktyp == "D")
|
||
{
|
||
// Test of er nu een geldig datumformaat staat.
|
||
var arr = /^(\d{1,2})[-](\d{1,2})[-](\d{1,4})$/.exec(value);
|
||
if (arr)
|
||
{
|
||
var dt = new Date( arr[3], arr[2] -1, arr[1] );
|
||
if ((arr[1] != dt.getDate()) ||
|
||
(arr[2] != dt.getMonth() + 1) ||
|
||
(arr[3] != dt.getYear() && arr[3] != dt.getFullYear()))
|
||
{
|
||
valid = false;
|
||
}
|
||
else
|
||
{
|
||
value = ("0" + dt.getDate()).slice(-2) + "-"
|
||
+ ("0" + (dt.getMonth()+1)).slice(-2) + "-"
|
||
+ dt.getFullYear();
|
||
}
|
||
}
|
||
else valid = false;
|
||
|
||
if (!valid) err = L("mgt_srtkenmerk_err_datum");
|
||
}
|
||
else if (ktyp == "C")
|
||
{ // newlines verdubbelen naar %0D%0A dus aantal regels bijtellen
|
||
if (value.length + (value.split("\n").length-1) > klen)
|
||
{
|
||
valid = false;
|
||
err = L("mgt_srtkenmerk_err_string").format(klen)+ "\n";
|
||
}
|
||
}
|
||
else if (ktyp == "N")
|
||
{
|
||
var t;
|
||
if (kdec)
|
||
{
|
||
var l1 = klen-kdec;
|
||
var l2 = kdec;
|
||
// Als een punt <20>n een komma in een getal behouden we alleen de laatste
|
||
if (value.lastIndexOf(".") > value.lastIndexOf(","))
|
||
{
|
||
value = value.replace(/\,/ig, "");
|
||
}
|
||
if (value.lastIndexOf(",") > value.lastIndexOf("."))
|
||
{
|
||
value = value.replace(/\./ig, "");
|
||
}
|
||
var s = "^\\-?(\\d{1," + l1 + "}[.,]?|\\d{0," + l1 + "}[.,]\\d{1," + l2 + "})$";
|
||
valid = value.match(new RegExp(s)) && valid;
|
||
if (valid)
|
||
{
|
||
t = parseFloat(value.replace(",","."));
|
||
}
|
||
else
|
||
{
|
||
err = L("mgt_srtkenmerk_err_float") + "\n";
|
||
|
||
var aantal_decimalen = value.length - value.replace(",",".").indexOf(".");
|
||
var aantal_helen = value.slice(0, value.replace(",",".").indexOf("."));
|
||
if (aantal_decimalen > kdec)
|
||
{
|
||
valid = false;
|
||
err += L("mgt_srtkenmerk_err_fl_dec").format(kdec) + "\n";
|
||
}
|
||
if (aantal_helen > (klen - kdec))
|
||
{
|
||
valid = false;
|
||
err += L("mgt_srtkenmerk_err_fl_pre").format(klen - kdec) + "\n";
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (klen == 1 && kmin == 0 && kmax == 1)
|
||
{
|
||
// Checkbox; waarde in checked is altijd true of false, dus altijd valid.
|
||
valid = true;
|
||
t = (field.checked?1:0);
|
||
}
|
||
else
|
||
{
|
||
var s = "^\\-?\\d{1," + klen + "}[.,]?$";
|
||
valid = value.match(new RegExp(s)) && valid;
|
||
if (valid)
|
||
{
|
||
t = parseInt(value);
|
||
}
|
||
else
|
||
{
|
||
err = L("mgt_srtkenmerk_err_integer") + "\n";
|
||
if (value.length > klen)
|
||
{
|
||
valid = false;
|
||
err += L("mgt_srtkenmerk_err_int_len").format(klen) + "\n";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (valid)
|
||
{
|
||
if ( (kmin !== null) && (kmax !== null))
|
||
{
|
||
if ( (t < kmin) || (t > kmax))
|
||
{
|
||
valid = false;
|
||
err += L("mgt_srtkenmerk_err_range").format(kmin, kmax) + "\n";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if ((kmin !== null) && (t < kmin))
|
||
{
|
||
valid = false;
|
||
err += L("mgt_srtkenmerk_err_min").format(kmin);
|
||
}
|
||
if ((kmax !== null) && (t > kmax))
|
||
{
|
||
valid = false;
|
||
err += L("mgt_srtkenmerk_err_max").format(kmax);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
params.value = (valid ? value : "");
|
||
params.err = (valid ? "" :err);
|
||
}
|
||
|
||
// Deze functie vertaalt het positie autorisatieniveau naar tekst
|
||
function buildAlgLevelLOV()
|
||
{
|
||
AlgLevelLOV = "-1;" + L("lcl_all")
|
||
+ ";0;" + L("lcl_region")
|
||
+ ";1;" + L("lcl_district")
|
||
+ ";2;" + L("lcl_location")
|
||
+ ";3;" + L("lcl_building")
|
||
+ ";4;" + L("lcl_floor")
|
||
+ ";5;" + L("lcl_room")
|
||
+ ";9;" + L("fac_functie_auth_none");
|
||
return AlgLevelLOV;
|
||
}
|
||
|
||
function buildPrsLevelLOV()
|
||
{
|
||
PrsLevelLOV = "-1;" + L("lcl_all")
|
||
+ ";0;" + L("lcl_company")
|
||
+ ";1;" + L("lcl_dep_name_level1")
|
||
+ ";2;" + L("lcl_dep_name_level2")
|
||
+ ";3;" + L("lcl_dep_name_level3")
|
||
+ ";4;" + L("lcl_dep_name_level4")
|
||
+ ";5;" + L("lcl_dep_name_level5")
|
||
+ ";9;" + L("fac_functie_auth_none");
|
||
return PrsLevelLOV;
|
||
}
|
||
|
||
function buildStatusList()
|
||
{
|
||
var statusList = "-1;"
|
||
+ ";1;" + L("lcl_mld_afgewezen")
|
||
+ ";6;" + L("lcl_mld_afgemeld");
|
||
return statusList;
|
||
}
|
||
|
||
function buildCadPositionLOV()
|
||
{
|
||
return "1;" + L("cad_label_type_bi_rui")
|
||
+ ";9;" + L("cad_label_type_bi_wp")
|
||
+ ";17;" + L("cad_label_type_bi_obj")
|
||
+ ";2;" + L("cad_label_type_bu_ts")
|
||
+ ";18;" + L("cad_label_type_bu_obj");
|
||
}
|
||
|
||
function buildCadSituationLOV()
|
||
{
|
||
return "0;" + L("cad_label_type_si_act")
|
||
+ ";4;" + L("cad_label_type_si_sce");
|
||
}
|
||
|
||
%> |