133 lines
5.5 KiB
C++
133 lines
5.5 KiB
C++
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: CNT/cnt_flexkenmerk.inc
|
|
Description: Functie die html code genereert voor de presentatie van de flexvelden
|
|
Parameters: cnt_key Contract key
|
|
disc_key Contractsoort key
|
|
reado Readonly
|
|
flexcolumns aantal kolommen voor flexkenmerken
|
|
advanced Geadvanceerd
|
|
reqId Perslid key
|
|
Context: Functie wordt aangeroepen door
|
|
1) load_kenmerk.asp
|
|
2) cnt_edit.asp die initieel serverside deze html code invoegt.
|
|
Note:
|
|
*/ %>
|
|
|
|
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
|
<%
|
|
function generateFlexKenmerkCode(params)
|
|
{ %>
|
|
<div id="cntKenmerken">
|
|
<table id="flextable" cellpadding="0" cellspacing="0">
|
|
<%
|
|
var cnt_key = params.cnt_key; // Contract key
|
|
var disc_key = params.disc_key; // Contractsoort key
|
|
var reado = params.reado; // Readonly
|
|
var flexcolumns = params.flexcolumns;
|
|
var advanced = params.advanced; // Geavanceerd
|
|
var reqId = params.reqId; // Perslid key (!search && multiMode)
|
|
if (cnt_key > -1)
|
|
var this_cnt = params.this_cnt || cnt.func_enabled_contract(cnt_key);
|
|
else
|
|
var this_cnt = cnt.func_enabled_cnt(disc_key);
|
|
|
|
function isReadonly (volgnummer)
|
|
{
|
|
if (params.reado)
|
|
return true;
|
|
|
|
if (volgnummer <= 100 && this_cnt.canMANwrite)
|
|
return false; // die mag je bewerken met CNTMAN
|
|
|
|
if (volgnummer >= 100 && this_cnt.canUSEwrite)
|
|
return false; // die mag je bewerken met CNTUSE
|
|
|
|
return true; // blijkbaar toch niet...
|
|
}
|
|
|
|
function isInvisible(volgnummer, ktype) // MGE: In de search mode (overzichtscherm) zien we altijd alle flexkenmerken?? Deze functie wordt dan niet gebruikt.
|
|
{
|
|
if (volgnummer < 100 && !this_cnt.canMANread)
|
|
return true; // Invisible
|
|
|
|
if (volgnummer > 100 && !this_cnt.canUSEread /* incl readself */)
|
|
return true; // Invisible
|
|
|
|
return false;
|
|
}
|
|
|
|
if (cnt_key > 0)
|
|
{
|
|
var sql = "SELECT ins_discipline_key FROM cnt_contract WHERE cnt_contract_key = " + cnt_key;
|
|
var loRs = Oracle.Execute(sql);
|
|
var disc_key = loRs("ins_discipline_key").value;
|
|
}
|
|
|
|
sql = "SELECT k.cnt_kenmerk_key kenmerk_key, "
|
|
+ lcl.xsql('t.cnt_srtkenmerk_omschrijving', 't.cnt_srtkenmerk_key') +" kenmerk_omschrijving, "
|
|
+ " t.cnt_srtkenmerk_kenmerktype kenmerk_kenmerktype, "
|
|
+ " t.fac_kenmerkdomein_key kenmerkdomein_key, "
|
|
+ " t.cnt_srtkenmerk_lengte kenmerk_lengte, "
|
|
+ " t.cnt_srtkenmerk_dec kenmerk_dec, "
|
|
+ " t.cnt_srtkenmerk_nmin kenmerk_nmin, "
|
|
+ " t.cnt_srtkenmerk_nmax kenmerk_nmax, "
|
|
+ (cnt_key > 0
|
|
? " (SELECT v.cnt_kenmerkcontract_waarde"
|
|
+ " FROM cnt_kenmerkcontract v"
|
|
+ " WHERE v.cnt_contract_key = " + cnt_key
|
|
+ " AND v.cnt_kenmerk_key = k.cnt_kenmerk_key"
|
|
+ " AND v.cnt_kenmerkcontract_verwijder IS NULL)"
|
|
: lcl.xsql('k.cnt_kenmerk_default', 'k.cnt_kenmerk_key')
|
|
) + " kenmerk_waarde, "
|
|
+ " k.cnt_kenmerk_volgnummer kenmerk_volgnr, "
|
|
+ lcl.xsql('t.cnt_srtkenmerk_dimensie', 't.cnt_srtkenmerk_key') +" kenmerk_dimensie, "
|
|
+ lcl.xsql('k.cnt_kenmerk_hint', 'k.cnt_kenmerk_key') +" kenmerk_hint, "
|
|
+ lcl.xsql('k.cnt_kenmerk_default', 'k.cnt_kenmerk_key') +" kenmerk_default, "
|
|
+ " k.cnt_kenmerk_verplicht kenmerk_verplicht, "
|
|
+ " k.cnt_kenmerk_groep kenmerk_groep, "
|
|
+ " NULL otherpath, "
|
|
+ " k.cnt_kenmerk_toonbaar kenmerk_toonbaar, "
|
|
+ " k.cnt_kenmerk_uniek kenmerk_uniek,"
|
|
+ " k.cnt_kenmerk_regexp kenmerk_regexp"
|
|
+ " FROM cnt_srtkenmerk t"
|
|
+ ", cnt_kenmerk k"
|
|
+ ", cnt_discipline s"
|
|
+ " WHERE s.ins_discipline_key = " + disc_key
|
|
+ " AND k.cnt_srtcontract_key = s.ins_discipline_key"
|
|
+ " AND k.cnt_kenmerk_verwijder IS NULL"
|
|
+ " AND k.cnt_srtkenmerk_key = t.cnt_srtkenmerk_key"
|
|
+ " AND t.cnt_srtkenmerk_verwijder IS NULL"
|
|
+ (!this_cnt.canMANread? " AND cnt_kenmerk_volgnummer >= 100" : "")
|
|
+ (!this_cnt.canUSEread? " AND cnt_kenmerk_volgnummer <= 100" : "")
|
|
+ " ORDER BY k.cnt_kenmerk_volgnummer"
|
|
+ ", UPPER("+lcl.xsql('t.cnt_srtkenmerk_omschrijving', 't.cnt_srtkenmerk_key')+")";
|
|
|
|
var trn = 0;
|
|
|
|
if (!flexcolumns && !advanced)
|
|
{
|
|
var nrflexcolumns = S("cnt_flexcolumns");
|
|
}
|
|
else
|
|
var nrflexcolumns = flexcolumns || 1;
|
|
|
|
listKenmerk(sql,
|
|
"CNT",
|
|
cnt_key,
|
|
{ flexcolumns: nrflexcolumns,
|
|
kenmerk_search: advanced,
|
|
hideVervallen: cnt_key<0,
|
|
fnIsReadonly: isReadonly,
|
|
fnIsInvisible: isInvisible,
|
|
parentKey: cnt_key }
|
|
);
|
|
%>
|
|
</table>
|
|
</div>
|
|
<%
|
|
} %>
|
|
|