NYBU#55434: Flexkenmerken per artikelregel.
svn path=/Website/trunk/; revision=41494
This commit is contained in:
123
APPL/RES/res_flexkenmerk_art.inc
Normal file
123
APPL/RES/res_flexkenmerk_art.inc
Normal file
@@ -0,0 +1,123 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: res/res_flexkenmerk_art.inc
|
||||
Description: Functie die html code genereert voor de presentatie van de flexvelden van artikelen
|
||||
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 ook reserverings kenmerken bij een rsv_ruimte.
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<%
|
||||
function getSqlResFlexArt(rsv_artikel_key, artikel_key, filter)
|
||||
{
|
||||
var filter = filter || [];
|
||||
return sql = "SELECT k.res_kenmerk_key kenmerk_key"
|
||||
+ " , " + lcl.xsql("sk.res_srtkenmerk_omschrijving", "sk.res_srtkenmerk_key") + " kenmerk_omschrijving"
|
||||
+ " , sk.res_srtkenmerk_kenmerktype kenmerk_kenmerktype"
|
||||
+ " , sk.fac_kenmerkdomein_key kenmerkdomein_key"
|
||||
+ " , sk.res_srtkenmerk_lengte kenmerk_lengte"
|
||||
+ " , sk.res_srtkenmerk_dec kenmerk_dec"
|
||||
+ " , sk.res_srtkenmerk_nmin kenmerk_nmin"
|
||||
+ " , sk.res_srtkenmerk_nmax kenmerk_nmax"
|
||||
+ " , sk.res_srtkenmerk_systeem kenmerk_systeem"
|
||||
+ (rsv_artikel_key > 0
|
||||
? " , (SELECT v.res_kenmerkartikel_waarde "
|
||||
+ " FROM res_kenmerkartikel v "
|
||||
+ " WHERE v.res_rsv_artikel_key = " + rsv_artikel_key
|
||||
+ " AND v.res_kenmerk_key = k.res_kenmerk_key"
|
||||
+ " AND v.res_kenmerkartikel_verwijder IS NULL)"
|
||||
: " , " + lcl.xsql("k.res_kenmerk_default", "k.res_kenmerk_key")) + " kenmerk_waarde"
|
||||
+ " , k.res_kenmerk_volgnummer kenmerk_volgnr"
|
||||
+ " , " + lcl.xsql("sk.res_srtkenmerk_dimensie", "k.res_kenmerk_key") + " kenmerk_dimensie"
|
||||
+ " , " + lcl.xsql("k.res_kenmerk_hint", "k.res_kenmerk_key") + " kenmerk_hint"
|
||||
+ " , " + lcl.xsql("k.res_kenmerk_default", "k.res_kenmerk_key") + " kenmerk_default"
|
||||
+ " , k.res_kenmerk_verplicht kenmerk_verplicht"
|
||||
+ " , k.res_kenmerk_groep kenmerk_groep"
|
||||
+ " , NULL otherpath"
|
||||
+ " , k.res_kenmerk_toonbaar kenmerk_toonbaar"
|
||||
+ " , k.res_kenmerk_uniek kenmerk_uniek"
|
||||
+ " , k.res_kenmerk_regexp kenmerk_regexp"
|
||||
+ " FROM res_kenmerk k "
|
||||
+ " , res_srtkenmerk sk"
|
||||
+ " WHERE k.res_srtkenmerk_key = sk.res_srtkenmerk_key"
|
||||
+ " AND k.res_kenmerk_verwijder IS NULL"
|
||||
+ " AND k.res_artikel_key = " + artikel_key
|
||||
+ (filter.length > 0 ? " AND " + filter.join(" AND ") : "")
|
||||
+ " ORDER BY k.res_kenmerk_volgnummer"
|
||||
+ " , " + lcl.xsql("sk.res_srtkenmerk_omschrijving", "k.res_kenmerk_key");
|
||||
}
|
||||
|
||||
function generateFlexKenmerkCodeArt(params)
|
||||
{
|
||||
var rsv_artikel_key = params.rsv_artikel_key? params.rsv_artikel_key : -1; // res_rsv_artikel_key
|
||||
var artikel_key = params.artikel_key? params.artikel_key : -1; // artikel_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 resnum = params.resnum; // 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;
|
||||
var hidedefault = params.hidedefault; // Afhandelingskenmerken >= 900 met een default waarde hidden maken.
|
||||
|
||||
function isReadonly (volgnummer)
|
||||
{ // Backo mag kenmerken < 900 wel zien maar niet wijzigen. Kenmerken > 900 mag hij wel wijzigen.
|
||||
// Zie ook load_kenmerk.asp en bez_edit_bezoekers.inc
|
||||
if (reado)
|
||||
return true
|
||||
else
|
||||
{
|
||||
var backo = !user.has("WEB_BEZFOF");
|
||||
return (ispopup && backo && volgnummer < 900)
|
||||
}
|
||||
}
|
||||
|
||||
function isHidden (volgnummer, defaultval)
|
||||
{ // Afhandelingskenmerken met een default waarde hidden weergeven zodat ze wel opgeslagen worden (kenmerken >= 900 en default is niet null).
|
||||
return (volgnummer >= 900 && defaultval != null);
|
||||
}
|
||||
|
||||
var sql = getSqlResFlexArt(rsv_artikel_key, artikel_key, filter);
|
||||
|
||||
var trn = 0;
|
||||
|
||||
listKenmerk(sql,
|
||||
"RES", // Module
|
||||
rsv_artikel_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,
|
||||
fnIsHidden: (hidedefault? isHidden : null),
|
||||
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: rsv_artikel_key,
|
||||
hideVervallen: rsv_artikel_key < 0,
|
||||
nameprefix: "flex" + resnum + "_",
|
||||
mobile: params.mobile,
|
||||
requiredbyfield: requiredbyfield,
|
||||
serie: resnum, // Het serie nummer (onderscheid tussen bezoekers) voor dezelfde serie flexkenmerken
|
||||
flexstart: flexstart,
|
||||
flexend: flexend,
|
||||
notr: notr,
|
||||
nolabel: nolabel,
|
||||
tmpfolder: tmpfolder
|
||||
}
|
||||
);
|
||||
} %>
|
||||
|
||||
Reference in New Issue
Block a user