FCLT#56458 Kenmerktype checkbox
svn path=/Website/trunk/; revision=40975
This commit is contained in:
@@ -64,6 +64,9 @@
|
||||
// case "B":
|
||||
// kenmerktypeLOV = "B;" + L("mgt_srtkenmerk_berekening");
|
||||
// break;
|
||||
case "V":
|
||||
kenmerktypeLOV = "V;" + L("mgt_srtkenmerk_checkbox");
|
||||
break;
|
||||
default:
|
||||
kenmerktypeLOV = (emptyOption ? emptyOption + ";" : "")
|
||||
+ "C;" + L("mgt_srtkenmerk_karakter")
|
||||
@@ -79,7 +82,8 @@
|
||||
+ ";L;" + L("mgt_srtkenmerk_label")
|
||||
+ ";l;" + L("mgt_srtkenmerk_label_i")
|
||||
+ ";Q;" + L("mgt_srtkenmerk_blanco")
|
||||
// + ";B;" + L("mgt_srtkenmerk_berekening");
|
||||
// + ";B;" + L("mgt_srtkenmerk_berekening")
|
||||
+ ";V;" + L("mgt_srtkenmerk_checkbox");
|
||||
}
|
||||
return kenmerktypeLOV;
|
||||
}
|
||||
@@ -190,6 +194,16 @@ function checkSrtkenmerkValue(params)
|
||||
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;
|
||||
@@ -232,28 +246,19 @@ function checkSrtkenmerkValue(params)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (klen == 1 && kmin == 0 && kmax == 1)
|
||||
var s = "^\\-?\\d{1," + klen + "}[.,]?$";
|
||||
valid = value.match(new RegExp(s)) && valid;
|
||||
if (valid)
|
||||
{
|
||||
// Checkbox; waarde in checked is altijd true of false, dus altijd valid.
|
||||
valid = true;
|
||||
t = (field.checked?1:0);
|
||||
t = parseInt(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
var s = "^\\-?\\d{1," + klen + "}[.,]?$";
|
||||
valid = value.match(new RegExp(s)) && valid;
|
||||
if (valid)
|
||||
err = L("mgt_srtkenmerk_err_integer") + "\n";
|
||||
if (value.length > klen)
|
||||
{
|
||||
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";
|
||||
}
|
||||
valid = false;
|
||||
err += L("mgt_srtkenmerk_err_int_len").format(klen) + "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ function kenmerkValues(n)
|
||||
this.op = $("#ko" + n).val();
|
||||
this.id = n;
|
||||
|
||||
if (this.typ == "N" && $("#has_k" + n + "val").val() == 1)
|
||||
if ((this.typ == "N" || this.typ == "V") && $("#has_k" + n + "val").val() == 1)
|
||||
{ // Het is een checkbox
|
||||
this.checkbox = true;
|
||||
this.val = $("#k" + n + "val").prop("checked") ? 1 : 0;
|
||||
@@ -234,7 +234,7 @@ function setAdvFlexValue(k)
|
||||
$("#Suggestk" + k.id + "_show").val(k.sug);
|
||||
}
|
||||
|
||||
if (k.typ == "N" && k.checkbox)
|
||||
if ((k.typ == "N" || this.typ == "V") && k.checkbox)
|
||||
$("#k"+k.id+"val").prop("checked", k.val == 1);
|
||||
else
|
||||
$("#k"+k.id+"val").val(k.val);
|
||||
|
||||
@@ -157,8 +157,8 @@ function getKenmerkSql(pmodule, pkeyColumn, prequestForm)
|
||||
where1 = " fac.safe_to_date(" + where1 + ",'DD/MM/YYYY')";
|
||||
}
|
||||
}
|
||||
else if (kt == "N") // Beide kanten naar NUMBER converteren om te kunnen vergelijken "<" en ">"
|
||||
{ // Een numeriek "N" kenmerk kan ook een checkbox zijn.
|
||||
else if (kt == "N" || kt == "V") // Beide kanten naar NUMBER converteren om te kunnen vergelijken "<" en ">"
|
||||
{ // Een numeriek "N" kenmerk kan ook een checkbox "V" zijn.
|
||||
if (kv == "on") kv = "1";
|
||||
kv = " fac.safe_to_number(" + safe.quoted_sql(kv.replace(",", ".")) + ")" ; // Bij "Geavanceerd" kan het numerieke getal met de komma i.p.v. punt zijn ingevuld.
|
||||
where1 = " fac.safe_to_number(" + where1 + ")" ;
|
||||
|
||||
@@ -432,10 +432,10 @@ function kenmerk_regel(kv_params)
|
||||
// Alleen dan hidden name-velden er bij
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"key' id='"+kv_params.nameprefix + kv_params.idCounter+"key' value='"+kv_params.kkey+"'>";
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"t' id='"+kv_params.nameprefix + kv_params.idCounter+"t' value='"+kv_params.ktype+"'>";
|
||||
if (kv_params.ktype == "C" || kv_params.ktype == "N" || kv_params.ktype == "B")
|
||||
if (kv_params.ktype == "C" || kv_params.ktype == "N" || kv_params.ktype == "B" || kv_params.ktype == "V")
|
||||
{
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"p' id='"+kv_params.nameprefix + kv_params.idCounter+"p' value='"+kv_params.klen+"'>";
|
||||
if (kv_params.ktype == "N" || kv_params.ktype == "B")
|
||||
if (kv_params.ktype == "N" || kv_params.ktype == "B" || kv_params.ktype == "V")
|
||||
{
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"d' id='"+kv_params.nameprefix + kv_params.idCounter+"d' value='"+kv_params.kdec+"'>";
|
||||
}
|
||||
@@ -664,7 +664,7 @@ function listKenmerk(sql, module, key, props)
|
||||
if (typeof xx != "undefined")
|
||||
{
|
||||
flexkenmerkwaarde = xx;
|
||||
if (oRs("kenmerk_kenmerktype").value == "C" || oRs("kenmerk_kenmerktype").value == "N" || oRs("kenmerk_kenmerktype").value == "B")
|
||||
if (oRs("kenmerk_kenmerktype").value == "C" || oRs("kenmerk_kenmerktype").value == "N" || oRs("kenmerk_kenmerktype").value == "B" || oRs("kenmerk_kenmerktype").value == "V")
|
||||
flexkenmerkwaarde = flexkenmerkwaarde.substr(0, oRs("kenmerk_lengte").value); // Kap de waarde op de maximale lengte af
|
||||
}
|
||||
}
|
||||
@@ -796,14 +796,14 @@ function listKenmerk(sql, module, key, props)
|
||||
// En: voor type M is het altijd nu nog leeg, en die komen dus readonly nooit!
|
||||
// Voorlopig laat ik die dan altijd maar zien (TODO: evt niet als er 0 bestanden zijn)
|
||||
if (readonlyfield && !isParent && ktype != 'L' && ktype != 'l' && ktype != 'M' && (!flexkenmerkwaarde || flexkenmerkwaarde=="") &&
|
||||
(!kenmerk_search && (ktype == 'C' || ktype == 'N' || ktype == 'B' || ktype == 'D' || ktype == 'T' || ktype == 'R' || ktype == 'S')) ) // Als geavanceerd dan maakt het niet uit of het readonly is. Dan moet je het kenmerk gewoon tonen.
|
||||
(!kenmerk_search && (ktype == 'C' || ktype == 'N' || ktype == 'V' || ktype == 'B' || ktype == 'D' || ktype == 'T' || ktype == 'R' || ktype == 'S')) ) // Als geavanceerd dan maakt het niet uit of het readonly is. Dan moet je het kenmerk gewoon tonen.
|
||||
{
|
||||
oRs.MoveNext();
|
||||
continue;
|
||||
}
|
||||
|
||||
// Als geavanceerd dan maakt het niet uit of het readonly is. Dan moet je het kenmerk gewoon tonen.
|
||||
if (kenmerk_search && readonlyfield && (ktype == 'C' || ktype == 'N' || ktype == 'B' || ktype == 'D' || ktype == 'T' || ktype == 'R' || ktype == 'S'))
|
||||
if (kenmerk_search && readonlyfield && (ktype == 'C' || ktype == 'N' || ktype == 'V' || ktype == 'B' || ktype == 'D' || ktype == 'T' || ktype == 'R' || ktype == 'S'))
|
||||
readonlyfield = false;
|
||||
|
||||
colCount++; // Nu pas ophogen.
|
||||
@@ -1508,7 +1508,8 @@ function listKenmerk(sql, module, key, props)
|
||||
}
|
||||
|
||||
var makeCheckbox = false;
|
||||
if ((ktype == 'N' || ktype == 'B') && klen == 1 && kmin == 0 && kmax == 1 && (kdec == 0 || !kdec))
|
||||
// if ((ktype == "B" && klen == 1 && kmin == 0 && kmax == 1 && (kdec == 0 || !kdec)) || ktype=="V") // Nog even niet ivm compatibiliteit van Number met Checkbox!
|
||||
if (((ktype == "N" || ktype == "B") && klen == 1 && kmin == 0 && kmax == 1 && (kdec == 0 || !kdec)) || ktype=="V")
|
||||
{
|
||||
makeCheckbox = true;
|
||||
if (formobile) // Daar staat de tekst achter het vinkje
|
||||
@@ -1609,7 +1610,7 @@ function listKenmerk(sql, module, key, props)
|
||||
// KENMERKTYPE N (Numeriek) of B (Berekening) ===============================================
|
||||
// ===============================================
|
||||
// ==========================================================================================
|
||||
if (ktype == "N" || ktype == "B")
|
||||
if (ktype == "N" || ktype == "B" || ktype == "V")
|
||||
{
|
||||
// Checkbox of numeriek/berekening input veld.
|
||||
if (makeCheckbox) // deze doen we compleet hier
|
||||
@@ -2879,7 +2880,7 @@ function flexkenmerken2jsondata(params)
|
||||
|
||||
// ATTENTIE: Als het een numeriek/decimaal veld is, kan het zijn dat er een komma in voorkomt die eigenlijk een punt moet zijn.
|
||||
// Als het een numeriek/decimaal veld is, kan het ook een checkbox zijn
|
||||
if (kt == "N")
|
||||
if (kt == "N" || kt == "V")
|
||||
{
|
||||
// Kijken of het een checkbox is
|
||||
var isCheckbox = getFParamInt("has_" + flex + "val", 0) == 1;
|
||||
|
||||
@@ -608,7 +608,7 @@ function flexValue(oRsFlex, showProperties)
|
||||
{
|
||||
flexValue = oRsFlex("waarde").value;
|
||||
// Indien de waarde van het kenmerk numeriek is en alleen de waarden 0 of 1 kan bevatten, dan de text "Ja" of "Nee" tonen
|
||||
if (oRsFlex("kenmerktype").value == "N" && oRsFlex("nmin").value == 0 && oRsFlex("nmax").value == 1)
|
||||
if (oRsFlex("kenmerktype").value == "V" || (oRsFlex("kenmerktype").value == "N" && oRsFlex("nmin").value == 0 && oRsFlex("nmax").value == 1))
|
||||
{
|
||||
if (flexValue == 0)
|
||||
flexValue = L("lcl_check_0");
|
||||
|
||||
Reference in New Issue
Block a user