<% /* $Revision$ $Id$ File: api2_tools.inc Description: Context: Notes: voorheen mgt/mgt_tools.inc maar de functies zijn essentieel voor vele modellen dus moet het in api2_tools.inc */ %> <% function buildKenmerktypeLOV(kenmerktype, params) { 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 "T": kenmerktypeLOV = "T;" + L("mgt_srtkenmerk_tijd"); break; case "R": kenmerktypeLOV = "R;" + L("mgt_srtkenmerk_referentie_l") + ";" + "r;" + L("mgt_srtkenmerk_referentie_r") + ";" + "S;" + L("mgt_srtkenmerk_referentie_s") break; case "S": kenmerktypeLOV = "S;" + L("mgt_srtkenmerk_referentie_s") + ";" + "R;" + L("mgt_srtkenmerk_referentie_l") + ";" + "r;" + L("mgt_srtkenmerk_referentie_r") break; case "r": kenmerktypeLOV = "r;" + L("mgt_srtkenmerk_referentie_r") + ";" + "R;" + L("mgt_srtkenmerk_referentie_l") + ";" + "S;" + L("mgt_srtkenmerk_referentie_s") 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") + ";" + (params && params.module == "MLD"? "b;" + L("mgt_srtkenmerk_label_ii") : "") break; case "l": kenmerktypeLOV = "l;" + L("mgt_srtkenmerk_label_i") + ";" + "L;" + L("mgt_srtkenmerk_label") + ";" + (params && params.module == "MLD"? "b;" + L("mgt_srtkenmerk_label_ii") : "") break; case "b": kenmerktypeLOV = "b;" + L("mgt_srtkenmerk_label_ii") + ";" + "L;" + L("mgt_srtkenmerk_label") + ";" + "l;" + L("mgt_srtkenmerk_label_i") break; case "Q": kenmerktypeLOV = "Q;" + L("mgt_srtkenmerk_blanco"); break; // case "B": // kenmerktypeLOV = "B;" + L("mgt_srtkenmerk_berekening"); // break; case "V": kenmerktypeLOV = "V;" + L("mgt_srtkenmerk_checkbox"); break; default: kenmerktypeLOV = (params && params.emptyOption ? params.emptyOption + ";" : "") + "C;" + L("mgt_srtkenmerk_karakter") + ";N;" + L("mgt_srtkenmerk_numeriek") + ";D;" + L("mgt_srtkenmerk_datum") + ";T;" + L("mgt_srtkenmerk_tijd") + ";R;" + L("mgt_srtkenmerk_referentie_l") + ";r;" + L("mgt_srtkenmerk_referentie_r") + ";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") + (params && params.module != "MLD"? "" : ";b;" + L("mgt_srtkenmerk_label_ii")) + ";Q;" + L("mgt_srtkenmerk_blanco") + ";V;" + L("mgt_srtkenmerk_checkbox"); } 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 == "V") { // Checkbox; waarde in checked is altijd true of false, dus altijd valid. valid = true; } else if (ktyp == "N" && klen == 1 && kmin == 0 && kmax == 1) { // Dit is de oude schrijfwijze voor een checkbox. valid = true; } else if (ktyp == "N") { var t; if (kdec) { var l1 = klen-kdec; var l2 = kdec; // Als een punt é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 { 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() { var 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() { var 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(pniveau) { var statusList = "-1;" + ";1;" + L("lcl_mld_afgewezen") + (pniveau == "O" ? ";6;" : ";5;") + L("lcl_mld_afgemeld") + (pniveau == "O" ? ";9;" : ";52;") + L("lcl_mld_afgerond"); return statusList; } function buildHltPropList() { var hltPropList = "0;" + L("lcl_No") + ";1;" + L("lcl_Yes") + ";2;" + L("lcl_mld_delete_on_resume"); return hltPropList; } function buildStdmeldingObjReqStatusList() { var statusList = "-1;" + ";2;" + L("lcl_mld_altijd_verplicht") + ";21;"+ L("lcl_mld_aanwezig_verplicht") + ";1;" + L("lcl_mld_afgewezen") + ";5;" + 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"); } %>