diff --git a/APPL/ALG/load_kenmerk.asp b/APPL/ALG/load_kenmerk.asp
index 62fb287e2a..3453dfc7da 100644
--- a/APPL/ALG/load_kenmerk.asp
+++ b/APPL/ALG/load_kenmerk.asp
@@ -1,106 +1,35 @@
<%@language = "javascript" %>
<% /*
- $Revision: 1 $
- $Modtime: 16-09-09 10:34 $
+ $Revision: 2 $
+ $Modtime: 20-10-09 9:37 $
- File: ALG@/load_kenmerk.asp
- Status: 60%
- Description: cnt_search.asp: Genereert html code voor de presentatie van de flexvelden voor cnt overzichten
- cnt.asp: Genereert javascript code om de flexkenmerken in het cnt_edit popup scherm dynamisch bij te werken
+ File: ALG/load_kenmerk.asp
+ Status: 95%
+ Description: Bestand die html code genereert voor de presentatie van de flexvelden
Parameters: urole Rol van de gebruiker (frontend, frontoffice, backoffice, management info)
- cnt_key Contract key
- disc_key Contractsoort key
+ onrgoed_key Onroerendgoed key
+ onrgoed_niveau Onroerendgoed niveau
reado Readonly
advanced Geadvanceerd
- Context: cnt_search.asp: Deze gegenereerde html code wordt in modal div geplaats van cnt_search.asp
- cnt.asp: Of submits naar/via cnt.asp!
- Note: cnt.asp: Het formulier van cnt.asp wordt dynamisch gewijzigd met onze flexvelden
-
- TODO: Aanpassen voor gebruik door cnt.asp
+ reqId Perslid key
+ Context: alg_xxx_search.asp en cnt_edit.asp: Clientside wordt de gegenereerde html code m.b.v. $('div#xxx').load binnen een div geplaatst.
+ De functie is gedefinieerd in alg_flexkenmerk.inc
+ Note:
*/ %>
<%
var DOCTYPE_Disable = true;
-Response.Expires = -1;
-var fp = new Object(); // dummy, moet er nog uitgewerkt worden TODO:
%>
-
-
+
-
-
-
<%
- var urole = getQParam("urole");
- var fronto = (urole == "fo");
- var backo = (urole == "bo");
- var minfo = (urole == "mi");
- var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
-
- var bld_key = getQParamInt("bld_key", -1); // Contract key
- var reado = getQParam("reado", 0) == 1; // Readonly
- var advanced = getQParam("advanced", 0) == 1; // Geavanceerd
- var reqId = getQParamInt("reqId", -1); // Perslid key (!search && multiMode)
- var onrgoedlvl = getQParam("onrgoedlvl", -1);
-
- __Log(onrgoedlvl);
-
- var autfunction = "";
- switch(urole)
- {
- case "bo": autfunction = "WEB_CNTMAN";
- break;
- case "mi": autfunction = "WEB_CNTMAN";
- break;
- }
-
- // De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
- var authparams = user.checkAutorisation(autfunction);
-
- function isReadonly (volgnummer)
- {
- return reado;
- }
-sql = "SELECT k.alg_kenmerk_key, "
- + " k.alg_kenmerk_omschrijving, "
- + " k.alg_kenmerk_kenmerktype, "
- + " r.alg_refkenmerk_objectnaam, "
- + " r.alg_refkenmerk_kolomnaam, "
- + " r.alg_refkenmerk_kolomtxt, "
- + " r.fac_usrtab_key, "
- + " k.alg_kenmerk_lengte, "
- + " k.alg_kenmerk_dec, "
- + " k.alg_kenmerk_nmin, "
- + " k.alg_kenmerk_nmax, "
- + " k.alg_kenmerk_default, "
- + " COALESCE (k.alg_kenmerk_volgnr, 0), "
- + " COALESCE (k.alg_kenmerk_dimensie, ''), "
- + " COALESCE (k.alg_kenmerk_hint, ''), "
- + " k.alg_kenmerk_default, "
- + " 0 "
- + " FROM alg_kenmerk k, "
- + " alg_refkenmerk r "
- + " WHERE k.alg_kenmerk_niveau = " + onrgoedlvl
- + " AND k.alg_refkenmerk_key = r.alg_refkenmerk_key(+) "
- + " AND k.alg_kenmerk_verwijder IS NULL "
- + "ORDER BY k.alg_kenmerk_volgnr, "
- + " k.alg_kenmerk_omschrijving ";
-
- var trn = 0;
- // Voor als we nog geen key weten
- var tmp_folder = "__NEW__" + Session.SessionId;
-
- listKenmerk(sql,
- "ALG", //module
- "A" + (bld_key > 0? bld_key : tmp_folder), //foldername?
- { kenmerk_2col: (advanced? true : false), // In edit mode kenmerken onder elkaar en niet in 2 kolommen.
- kenmerk_search: advanced,
- kenmerk_colspan: false,
- fnIsReadonly: isReadonly,
- parentKey: bld_key }
- );
+generateFlexKenmerkCode ({ urole: getQParam("urole"),
+ onrgoed_key: getQParamInt("onrgoed_key", -1), // Onroerendgoed key
+ onrgoed_niveau: getQParam("onrgoed_niveau", ""), // Onroerendgoed niveau
+ reado: getQParam("reado", 0) == 1, // Readonly
+ advanced: getQParam("advanced", 0) == 1, // Geavanceerd
+ reqId: getQParamInt("reqId", -1) // Perslid key (!search && multiMode)
+ });
%>
-
-
diff --git a/APPL/MLD/mld_flexkenmerk.inc b/APPL/MLD/mld_flexkenmerk.inc
index 02b1b16a8b..efbeb81865 100644
--- a/APPL/MLD/mld_flexkenmerk.inc
+++ b/APPL/MLD/mld_flexkenmerk.inc
@@ -1,6 +1,6 @@
<% /*
- $Revision: 1 $
- $Modtime: 30-09-09 16:07 $
+ $Revision: 2 $
+ $Modtime: 23-10-09 18:44 $
File: MLD/mld_flexkenmerk.inc
Status: 95%
@@ -44,12 +44,12 @@ function generateFlexKenmerkCode(params)
var opdr_type_org = params.opdr_type_org;
var opdr_key = params.opdr_key;
var reado = params.reado;
- var closing = params.closing;
+ var showClose = params.showClose;
var copy = params.copy;
//var mldman = params.stdm_str; // Kan zelf opgevraagd worden user.checkAutorisation("WEB_ORDSUP", true);
var opdr_status = params.opdr_status;
var in_desc = params.in_desc;
- var statusinfo = params.statusinfo;
+ //var statusinfo = params.statusinfo;
var advanced = params.advanced; // Geavanceerd
var reqId = params.reqId; // Perslid key (!search && multiMode)
@@ -111,7 +111,7 @@ function generateFlexKenmerkCode(params)
// Die check is trouwens redelijk redundant ware het niet dat er wat
// datavervuiling is wat een 'subselect return more than one row' kan
// geven in extreme situaties
- sql_waarde = ", (SELECT v.mld_kenmerkopdr_waarde"
+ sql_waarde = " (SELECT v.mld_kenmerkopdr_waarde"
+ " FROM mld_kenmerkopdr v"
+ " , mld_kenmerk vk"
+ " WHERE v.mld_opdr_key = " + opdr_key
@@ -135,7 +135,7 @@ function generateFlexKenmerkCode(params)
old_stdm = oRs(0).value;
if (old_stdm != stdm_str)
__Log("Old MLD_STDMELDING_KEY: " + old_stdm + " New: " + stdm_str);
- sql_waarde = ", (SELECT v.mld_kenmerkmelding_waarde"
+ sql_waarde = " (SELECT v.mld_kenmerkmelding_waarde"
+ " FROM mld_kenmerkmelding v"
+ " , mld_kenmerk vk"
+ " WHERE v.mld_melding_key = " + mld_key
@@ -155,7 +155,7 @@ function generateFlexKenmerkCode(params)
else if (opdr_type > 0 && mld_key > 0)
{ // New opdr, copy parent's melding kenmerk values or take default
__Log("About to copy kenmerk values from parent: " + mld_key);
- sql_waarde = ", COALESCE((SELECT v.mld_kenmerkmelding_waarde"
+ sql_waarde = " COALESCE((SELECT v.mld_kenmerkmelding_waarde"
+ " FROM mld_kenmerkmelding v"
+ " , mld_kenmerk vk"
+ " , mld_srtkenmerk vt"
@@ -189,7 +189,7 @@ function generateFlexKenmerkCode(params)
// 4) aanmaken melding
else
{ // Probably new melding: use default values
- sql_waarde = ", k.MLD_KENMERK_DEFAULT currrval";
+ sql_waarde = " k.mld_kenmerk_default";
sql_filter = " mld_stdmelding s"
+ " WHERE s.mld_stdmelding_key IN (" + stdm_str + ")"
@@ -199,25 +199,26 @@ function generateFlexKenmerkCode(params)
+ " AND k.mld_kenmerk_niveau = 'D'))"
}
- var sql = "SELECT k.mld_kenmerk_key" // 0
- + " , t.mld_srtkenmerk_omschrijving" // 1
- + " , t.mld_srtkenmerk_kenmerktype" // 2
- + " , r.mld_refsrtkenmerk_objectnaam" // 3
- + " , r.mld_refsrtkenmerk_kolomnaam" // 4
- + " , r.mld_refsrtkenmerk_kolomtxt" // 5
- + " , r.fac_usrtab_key" // 6
- + " , t.mld_srtkenmerk_lengte" // 7
- + " , t.mld_srtkenmerk_dec" // 8
- + " , t.mld_srtkenmerk_nmin" // 9
- + " , t.mld_srtkenmerk_nmax" // 10
- + sql_waarde // 11
- + " , k.mld_kenmerk_volgnummer" // 12
- + " , t.mld_srtkenmerk_dimensie" // 13
- + " , '' Hint" // 14
- + " , k.mld_kenmerk_default" // 15
- + " , k.mld_kenmerk_verplicht" // 16
- + " , " + otherKenmerkPath + " other" // 17 corresponderende pad voor copy/move folder
- + " , k.mld_kenmerk_toonbaar" // 18 1=Alleen toonbaar (readonly)
+ var sql = "SELECT k.mld_kenmerk_key kenmerk_key, " // 0
+ + " t.mld_srtkenmerk_omschrijving kenmerk_omschrijving, " // 1
+ + " t.mld_srtkenmerk_kenmerktype kenmerk_kenmerktype, " // 2
+ + " r.mld_refsrtkenmerk_objectnaam refkenmerk_objectnaam, " // 3
+ + " r.mld_refsrtkenmerk_kolomnaam refkenmerk_kolomnaam, " // 4
+ + " r.mld_refsrtkenmerk_kolomtxt refkenmerk_kolomtxt, " // 5
+ + " r.fac_usrtab_key fac_usrtab_key, " // 6
+ + " t.mld_srtkenmerk_lengte kenmerk_lengte, " // 7
+ + " t.mld_srtkenmerk_dec kenmerk_dec, " // 8
+ + " t.mld_srtkenmerk_nmin kenmerk_nmin, " // 9
+ + " t.mld_srtkenmerk_nmax kenmerk_nmax, " // 10
+ + sql_waarde + " kenmerk_waarde, " // 11
+ + " k.mld_kenmerk_volgnummer kenmerk_volgnr, " // 12
+ + " t.mld_srtkenmerk_dimensie kenmerk_dimensie, " // 13
+ + " k.mld_kenmerk_hint kenmerk_hint, " // 14
+ + " k.mld_kenmerk_default kenmerk_default, " // 15
+ + " k.mld_kenmerk_verplicht kenmerk_verplicht, " // 16
+ + " " + otherKenmerkPath + " otherpath," // 17 corresponderende pad voor copy/move folder
+ + " k.mld_kenmerk_toonbaar kenmerk_toonbaar," // 18 1=Alleen toonbaar (readonly)
+ + " k.mld_kenmerk_uniek kenmerk_uniek" // 19
+ " FROM mld_srtkenmerk t"
+ " , mld_kenmerk k"
+ " , mld_refsrtkenmerk r"
@@ -229,7 +230,7 @@ function generateFlexKenmerkCode(params)
var sql1 = "";
// PF/MGE 29-09-09: Ook bij nieuw meldingen mag ik afmeld-kenmerken tussen de 100..900 niet zien
- if ((opdr_type <= 0 || closing || opdr_status > 5) && (mld_key > 0 || opdr_key > 0))
+ if ((opdr_type <= 0 || showClose || opdr_status > 5) && (mld_key > 0 || opdr_key > 0))
{ // dan wil ik ze wel zien
}
else
@@ -256,17 +257,16 @@ function generateFlexKenmerkCode(params)
function isReadonly (volgnummer)
{
+ if (reado) return true; // als meegegeven dan altijd readonly
if (stdm_str == "-1" && opdr_type && opdr_status == 7) return true; // bij AV mag je nooit wijzigen
if (stdm_str == "-1" && opdr_type && opdr_status < 7
&& volgnummer >= 900 && mldman == 1) return false; // bij TV en mldman mag je nog boven de 900
- if (reado || statusinfo) return true;
-
if (stdm_str == "-1" && !in_desc && opdr_type)
{
// bestaande opdrachtdetails
if (volgnummer > 100 && volgnummer <= 900)
- return !closing; // afmeld-kenmerken mag je alleen tijdens het afmelden wijzigen
+ return !showClose; // afmeld-kenmerken mag je alleen tijdens het afmelden wijzigen
}
return false; // 'k vind het wel best
}
diff --git a/APPL/RES/res_flexkenmerk.inc b/APPL/RES/res_flexkenmerk.inc
index 902f77dd4f..ec25a452bc 100644
--- a/APPL/RES/res_flexkenmerk.inc
+++ b/APPL/RES/res_flexkenmerk.inc
@@ -1,6 +1,6 @@
<% /*
- $Revision: 1 $
- $Modtime: 3-09-09 10:51 $
+ $Revision: 2 $
+ $Modtime: 23-10-09 18:45 $
File: RES/res_flexkenmerk.inc
Status: 95%
@@ -31,7 +31,7 @@ var fp = new Object(); // dummy, moet er nog uitgewerkt worden TODO:
<%
function generateFlexKenmerkCode(params)
{ %>
-
en dat dan herhaald
// (Alleen!) voor bewerkbare velden voegen we ook id's toe die met het formulier gesubmit worden
// params: sql: moet een query met de goede :-) velden bevatten
+// sinds kort worden deze By Name gebruikt ipv By volgorde
// module, flexFolder: alleen gebruikt voor flexkenmerk 'F' (file) 'E' (encrypted file) en 'M' (map)
// props { fnIsInvisible: optioneel function (volgnr, type)
// fnIsReadonly: optioneel function (volgnr)
@@ -165,7 +164,7 @@ function listKenmerk( sql, module, flexFolder, props)
val_seperator = ':';
if (!kenmerk_search && !fp.multiMode)
{ // In multiMode no filling of default values
- val = oRs(11).Value;
+ val = oRs("kenmerk_waarde").Value; // was:11
// for a new value, this default is used. It could be a primitive value (string, number or key) or
// it is suggested to support (later)
// a more sophisticated value, using ##asp-variable## and/or SQL:SELECT in the string.
@@ -185,24 +184,25 @@ function listKenmerk( sql, module, flexFolder, props)
}
}
- var kkey = oRs(0).Value;
- val_label = Server.HTMLEncode(oRs(1).Value);
- var ktype = oRs(2).Value;
- var klen = oRs(7).Value; if (!klen) klen = 255;
- var kdec = oRs(8).Value;
- var kmin = oRs(9).Value;
- var kmax = oRs(10).Value;
- var kvolgnr = '' + oRs(12).Value;
- var kdim = oRs(13).Value;
- var hint = oRs(14).Value;
+ var kkey = oRs("kenmerk_key").Value; // was: 0
+ val_label = Server.HTMLEncode(oRs("kenmerk_omschrijving").Value); // was: 1
+ var ktype = oRs("kenmerk_kenmerktype").Value; // was: 2
+ var klen = oRs("kenmerk_lengte").Value; // was: 7
+ if (!klen) klen = 255;
+ var kdec = oRs("kenmerk_dec").Value; // was: 8
+ var kmin = oRs("kenmerk_nmin").Value; // was: 9
+ var kmax = oRs("kenmerk_nmax").Value; // was: 10
+ var kvolgnr = "" + oRs("kenmerk_volgnr").Value; // was: 12
+ var kdim = oRs("kenmerk_dimensie").Value; // was: 13
+ var hint = oRs("kenmerk_hint").Value; // was: 14
if (hint == null) hint = "";
- var def_val = oRs(15).value; // Alleen voor labels
- var required = (oRs.Fields.Count > 16)? (oRs(16).value == 1) : false; // Verplicht?
- var otherPath = (oRs.Fields.Count > 17)? oRs(17).value : null; // otherKenmerkPath?
+ var def_val = oRs("kenmerk_default").value; // Alleen voor labels // was: 15
+ var required = oRs("kenmerk_verplicht").value == 1; // was: 16
+ var otherPath = oRs("otherpath").value; // otherKenmerkPath? // was: 17, en alleen voor meldingen (tbv kopieren)
// forceReadonly kan gezet zijn: dan is het veld *altijd* readonly en kan alleen
// ingevuld raken doordat een extern proces (importjob?) dat doet of het wordt
// gevuld door de default waarde.
- var forceReadonly = (oRs.Fields.Count > 18)? (oRs(18).value == 1) : false; // readonly?
+ var forceReadonly = oRs("kenmerk_toonbaar").value == 1; // readonly // was: 18
if (def_val == null)
def_val = " ";
@@ -239,6 +239,15 @@ function listKenmerk( sql, module, flexFolder, props)
readonlyfield = props.fnIsReadonly(kvolgnr)
//__Log(val_label + '('+kvolgnr+') readonlyfield : '+readonlyfield);
+ // In het geval van readonly laten we velden zonder waarde helemaal niet zien,
+ // met uitzondering van Labels
+ if (readonlyfield && ktype != 'L' && (!val || val=="") )
+ {
+ oRs.MoveNext();
+ continue;
+ }
+
+
if( (klen > 50 && ktype == 'C') || (ktype == 'L'))
{
forceNewLine = true;
@@ -358,16 +367,16 @@ function listKenmerk( sql, module, flexFolder, props)
if (ktype == 'M') // Map met bestanden is altijd heel simpel
kv = BijlagenButton(module, flexFolder, kkey, readonlyfield, kdim, otherPath);
- if (ktype == 'R') // Referentie naar andere tabel (listboxje)
+ if (ktype == 'R' || (readonlyfield && ktype == 'S')) // Referentie naar andere tabel (listboxje)
{
- var FAC_USRTAB_KEY = oRs(6).Value;
+ var FAC_USRTAB_KEY = oRs("fac_usrtab_key").Value; // was: 6
var where = '';
- if (oRs(3).Value == "FAC_USRDATA" && FAC_USRTAB_KEY ) where = "FAC_USRTAB_KEY=" + FAC_USRTAB_KEY;
- sql = "select " + oRs(4).Value+"," + oRs(5).Value + " from " + oRs(3).Value
+ if (oRs("refkenmerk_objectnaam").Value == "FAC_USRDATA" && FAC_USRTAB_KEY ) where = "FAC_USRTAB_KEY=" + FAC_USRTAB_KEY;
+ sql = "select " + oRs("refkenmerk_kolomnaam").Value+"," + oRs("refkenmerk_kolomtxt").Value + " from " + oRs("refkenmerk_objectnaam").Value
+ ( where ? (" where " + where
- + (( oRs(3).Value == "FAC_USRDATA" && FAC_USRTAB_KEY )? " AND fac_usrdata_verwijder IS NULL" : ""))
+ + (( oRs("refkenmerk_objectnaam").Value == "FAC_USRDATA" && FAC_USRTAB_KEY )? " AND fac_usrdata_verwijder IS NULL" : ""))
: "" )
- + ((oRs(3).Value == "FAC_USRDATA")? " order by fac_usrdata_volgnr, 2" : " order by 2, 1")
+ + ((oRs("refkenmerk_objectnaam").Value == "FAC_USRDATA")? " order by fac_usrdata_volgnr, 2" : " order by 2, 1")
;
oRs2 = Oracle.Execute(sql);
kv = '';
@@ -419,9 +428,39 @@ function listKenmerk( sql, module, flexFolder, props)
kv = '';
}
+ // readonlyfield is bij "R" al meegenomen
+ if (ktype == 'S' && !readonlyfield) // Referentie naar andere tabel (suggest box)
+ {
+ var refkk_key = 1000; // todo: die zit nog niet in de query helaas
+// TODO: Bij bewerken bestaande waarde invullen
+%>
+<%
+ // wmaxLen: auto breder maken listboxen bij 1 kolom en lange strings
+ if (kenmerk_search)
+ wLen = '180px';
+ else if (kenmerk_2col || maxLen < 40)
+ wLen = '250px';
+ else
+ wLen = '500px';
+ kv = ""
+ + "";
+ }
+
if (ktype == 'L')
{ // Label line
- val_label = oRs(1);
+ val_label = oRs("kenmerk_omschrijving"); // was: 1
val_seperator = '';
kv = def_val;
}