106 lines
5.1 KiB
C++
106 lines
5.1 KiB
C++
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: bez/bez_flexkenmerk.inc
|
|
Description: Functie die html code genereert voor de presentatie van de flexvelden
|
|
Parameters: urole Rol van de gebruiker (frontend, frontoffice, backoffice, management info)
|
|
reado Readonly
|
|
flexcolumns aantal kolommen voor flexkenmerken
|
|
advanced Geadvanceerd
|
|
Context: Functie wordt aangeroepen door
|
|
1) load_kenmerk.asp
|
|
2) bez_edit_xxx.asp die initieel serverside deze html code invoegd.
|
|
Note: We ondersteunen vooralsnog geen *afspraak* kenmerken maar alleen per bezoeker.
|
|
*/ %>
|
|
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
|
<%
|
|
function getSqlBezFlex(bez_key, filter)
|
|
{
|
|
var filter = filter || [];
|
|
return sql = "SELECT k.bez_kenmerk_key kenmerk_key, "
|
|
+ lcl.xsql('k.bez_kenmerk_omschrijving', 'k.bez_kenmerk_key') +" kenmerk_omschrijving, "
|
|
+ " k.bez_kenmerk_kenmerktype kenmerk_kenmerktype, "
|
|
+ " k.fac_kenmerkdomein_key kenmerkdomein_key, "
|
|
+ " k.bez_kenmerk_lengte kenmerk_lengte, "
|
|
+ " k.bez_kenmerk_dec kenmerk_dec, "
|
|
+ " k.bez_kenmerk_nmin kenmerk_nmin, "
|
|
+ " k.bez_kenmerk_nmax kenmerk_nmax, "
|
|
+ (bez_key > 0
|
|
? " (SELECT v.bez_kenmerkwaarde_waarde "
|
|
+ " FROM bez_kenmerkwaarde v "
|
|
+ " WHERE v.bez_bezoekers_key = " + bez_key
|
|
+ " AND v.bez_kenmerk_key = k.bez_kenmerk_key"
|
|
+ " AND v.bez_kenmerkwaarde_verwijder IS NULL)"
|
|
: lcl.xsql('k.bez_kenmerk_default', 'k.bez_kenmerk_key')
|
|
) + " kenmerk_waarde, "
|
|
+ " k.bez_kenmerk_volgnr kenmerk_volgnr, "
|
|
+ lcl.xsql('k.bez_kenmerk_dimensie', 'k.bez_kenmerk_key') +" kenmerk_dimensie, "
|
|
+ lcl.xsql('k.bez_kenmerk_hint', 'k.bez_kenmerk_key') +" kenmerk_hint, "
|
|
+ lcl.xsql('k.bez_kenmerk_default', 'k.bez_kenmerk_key') +" kenmerk_default, "
|
|
+ " k.bez_kenmerk_verplicht kenmerk_verplicht, "
|
|
+ " k.bez_kenmerk_groep kenmerk_groep, "
|
|
+ " NULL otherpath, "
|
|
+ " k.bez_kenmerk_toonbaar kenmerk_toonbaar,"
|
|
+ " k.bez_kenmerk_uniek kenmerk_uniek,"
|
|
+ " k.bez_kenmerk_regexp kenmerk_regexp"
|
|
+ " FROM bez_kenmerk k "
|
|
+ " WHERE k.bez_kenmerk_verwijder IS NULL "
|
|
+ (filter.length > 0 ? " AND " + filter.join(" AND ") : "")
|
|
+ "ORDER BY k.bez_kenmerk_volgnr, "
|
|
+ lcl.xsql('k.bez_kenmerk_omschrijving', 'k.bez_kenmerk_key');
|
|
}
|
|
|
|
function generateFlexKenmerkCode(params)
|
|
{
|
|
var bez_key = params.bez_key? params.bez_key : -1; // bez_bezoekers_key
|
|
var reado = params.reado; // Readonly
|
|
var flexcolumns = params.flexcolumns;
|
|
var advanced = params.advanced; // Geavanceerd
|
|
var flexcolumns= params.flexcolumns;
|
|
var prs_key = (params.prs_key? params.prs_key : -1); // Perslid key
|
|
var cont_key = (params.cont_key? params.cont_key : -1); // Contactpersoon key
|
|
var beznum = params.beznum; // Bezoeker nummer
|
|
var requiredbyfield = params.requiredbyfield; // required flexkenmerken is alleen required als veld met name=requiredbyfield is ingevuld
|
|
var flexstart = params.flexstart;
|
|
var flexend = params.flexend;
|
|
var notr = params.notr;
|
|
var ispopup = params.ispopup;
|
|
var nolabel = params.nolabel;
|
|
var tmpfolder = params.tmpfolder;
|
|
var filter = params.filter;
|
|
|
|
function isReadonly (volgnummer) //??
|
|
{
|
|
return reado || (volgnummer < 900);
|
|
}
|
|
|
|
var sql = getSqlBezFlex(bez_key, filter);
|
|
|
|
var trn = 0;
|
|
|
|
listKenmerk(sql,
|
|
"BEZ", // Module
|
|
bez_key,
|
|
{ flexcolumns: flexcolumns,
|
|
label_colspan: ((notr || ispopup) ? null : (params.mobile? 1 : (S("bez_sel_contactpersoon") > 0 || S("bez_sel_internpersoon")? 3 : 2)) ),
|
|
kenmerk_search: advanced,
|
|
fnIsReadonly: isReadonly,
|
|
prs_key: prs_key, // Wordt alleen gebruikt als geldt (!kenmerk_search && !multiMode)
|
|
cont_key: cont_key, // Wordt alleen gebruikt als geldt (!kenmerk_search && !multiMode)
|
|
parentKey: bez_key,
|
|
hideVervallen: bez_key < 0,
|
|
nameprefix: "flex" + beznum + "_",
|
|
mobile: params.mobile,
|
|
requiredbyfield: requiredbyfield,
|
|
serie: beznum, // Het serie nummer (onderscheid tussen bezoekers) voor dezelfde serie flexkenmerken
|
|
flexstart: flexstart,
|
|
flexend: flexend,
|
|
notr: notr,
|
|
nolabel: nolabel,
|
|
tmpfolder: tmpfolder
|
|
}
|
|
);
|
|
} %>
|
|
|