Files
Facilitor/APPL/BEZ/bez_flexkenmerk.inc
Erik Groener 7c1c175ef0 DJIN#37247 Apart opmerking veld per bezoeker
svn path=/Website/trunk/; revision=31863
2016-12-07 07:27:18 +00:00

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
}
);
} %>