FSN#37938 m adressen via suggest

svn path=/Website/trunk/; revision=31684
This commit is contained in:
Peter Feij
2016-11-25 16:55:42 +00:00
parent 5800074574
commit d1a407cb4d
17 changed files with 445 additions and 155 deletions

View File

@@ -16,7 +16,7 @@
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
@@ -183,15 +183,12 @@ else
manRWFIELD("bld_opp", "fld float", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {datatype:"float", maxlength: 15});
manRWFIELD("bld_omtrek", "fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {maxlength: 15});
manRWFIELD("bld_inhoud", "fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {maxlength: 15});
sql = "SELECT mld_adres_key"
+ " , mld_adres_naam "
+ " FROM mld_v_afleveradres"
+ " ORDER BY mld_adres_naam ";
FCLTselector("mld_adres",
sql,
{ label: L("lcl_delivery_address"),
initKey: mld_adres,
FCLTadresselector("mld_adres", "sgAdres",
{
label: L("lcl_delivery_address"),
adresKey: mld_adres,
emptyOption: "",
filtcode: "A",
readonly: !this_alg.writeman
}) ;
manRWFIELD("bld_x", "fld", L("lcl_geoxcoord"), bld_x, {maxlength: 25});

View File

@@ -199,18 +199,15 @@ oRs.Close();
ROFIELDTR("fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {suppressEmpty: true});
ROFIELDTR("fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {suppressEmpty: true});
sql = "SELECT mld_adres_key"
+ " , mld_adres_naam"
+ " FROM mld_v_afleveradres"
+ " ORDER BY mld_adres_naam";
FCLTselector("del_address",
sql,
{ label: L("lcl_delivery_address"),
initKey: mld_adres,
emptyOption: "",
readonly: true,
suppressEmpty: true
});
sql = "SELECT mld_adres_naam"
+ " FROM mld_adres"
+ " WHERE mld_adres_key = " + mld_adres;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
ROFIELDTR("fld", L("lcl_delivery_address"), oRs("mld_adres_naam").value, {suppressEmpty: true});
}
oRs.Close();
ROFIELDTR("fld", L("lcl_geoxcoord"), bld_x, {suppressEmpty:true});
ROFIELDTR("fld", L("lcl_geoycoord"), bld_y, {suppressEmpty:true});
var fldcls = "fld";

View File

@@ -25,6 +25,7 @@
<!-- #include file="../Shared/artikelgroepselector.inc" -->
<!-- #include file="../Shared/besitemselector.inc" -->
<!-- #include file="../Shared/bedrijfselector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/rater.inc" -->
<!-- #include file="../Shared/Suggest/plaatsFilter.inc"-->
@@ -524,6 +525,10 @@ else // nieuwe bestelling. Defaults bepalen
}
}
function onChangeAdres(p_key)
{
$('#delivery_place').val('');
}
function onChangeBedrijf(p_key)
{
$("#btw").load("../Shared/loadBtwTabel.asp",
@@ -669,7 +674,7 @@ else // nieuwe bestelling. Defaults bepalen
if (getQParamInt("adres_key", -1) > 0)
aflever_readonly = true;
sql = "SELECT l.mld_adres_key"
/* sql = "SELECT l.mld_adres_key"
+ ", l.mld_adres_naam, l.mld_adres_upper"
+ (aflever_readonly? " FROM mld_adres l" : " FROM mld_v_afleveradres l")
+ " WHERE 1=1"
@@ -700,7 +705,18 @@ else // nieuwe bestelling. Defaults bepalen
{
%><input type='hidden' name='deliveryAddr' value='<%=bes_bestelling.mld_adres_key%>'><%
}
*/
FCLTadresselector("deliveryAddr", "sgAdres",
{
label: L("lcl_delivery_address"),
adresKey: bes_bestelling.mld_adres_key,
emptyOption: "",
filtcode: "A",
autlevel: ALGreadlevel,
onChange: "onChangeAdres",
readonly: (bes_key > 0 && aflever_readonly),
required: true
}) ;
RWFIELDTR("delivery_place", "fld", L("lcl_bes_del_room"), bes_bestelling.afleverruimte,
{
required: S("bes_afleverruimte_verplicht") == 1,

View File

@@ -15,6 +15,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="bes.inc" -->
@@ -199,40 +200,23 @@ var this_bestelopdr = bes.func_enabled_bestelopdracht(opdr_key);
</tr>
<% }
sql = "SELECT aa.mld_adres_key"
+ " , aa.mld_adres_naam"
+ " FROM mld_v_aanwezigadres aa"
+ " WHERE aa.mld_adres_afleveradres IS NOT NULL"
+ (authparams.ALGreadlevel >= 0
? " AND (EXISTS (SELECT ml.alg_locatie_key"
+ " FROM fac_v_my_locations ml"
+ " WHERE ml.prs_perslid_key = " + user_key
+ " AND ml.niveau = " + authparams.ALGreadlevel
+ " AND ml.alg_locatie_key = aa.alg_locatie_key)"
+ " OR aa.alg_locatie_key IS NULL"
+ " OR aa.mld_adres_key = " + bes_bestelopdr.mld_adres_key_lev + ")"
: "")
+ " ORDER BY 2";
FCLTselector("levering", sql, {label: L("lcl_bes_adres_lev"),
initKey: bes_bestelopdr.mld_adres_key_lev,
emptyOption: (bes_bestelopdr.mld_adres_key_lev < 0? null : "")})
FCLTadresselector("levering", "sgAdres",
{
label: L("lcl_bes_adres_lev"),
adresKey: bes_bestelopdr.mld_adres_key_lev,
emptyOption: (bes_bestelopdr.mld_adres_key_lev < 0? null : ""),
filtcode: "A",
autlevel: authparams.ALGreadlevel
}) ;
sql = "SELECT fa.mld_adres_key"
+ " , fa.mld_adres_naam"
+ " FROM mld_v_factuuradres fa"
+ (authparams.ALGreadlevel >= 0
? " WHERE (EXISTS (SELECT ml.alg_locatie_key"
+ " FROM fac_v_my_locations ml"
+ " WHERE ml.prs_perslid_key = " + user_key
+ " AND ml.niveau = " + authparams.ALGreadlevel
+ " AND ml.alg_locatie_key = fa.alg_locatie_key)"
+ " OR fa.alg_locatie_key IS NULL"
+ " OR fa.mld_adres_key = " + bes_bestelopdr.mld_adres_key_fac + ")"
: "")
+ " ORDER BY 2";
FCLTselector("factuur", sql, {label: L("lcl_bes_adres_fac"),
initKey: bes_bestelopdr.mld_adres_key_fac,
emptyOption:(bes_bestelopdr.mld_adres_key_fac < 0? null : "")})
FCLTadresselector("factuur", "sgAdres1",
{
label: L("lcl_bes_adres_fac"),
adresKey: bes_bestelopdr.mld_adres_key_fac,
emptyOption: (bes_bestelopdr.mld_adres_key_fac < 0? null : ""),
filtcode: "F",
autlevel: authparams.ALGreadlevel
}) ;
RWTEXTAREATR("opmerk", "fldtxt", L("lcl_remark"), bes_bestelopdr.opmerking, {html: "rows='3'", suppressEmpty: true}); // Afhandeling, reden niet akkoord
ROTEXTAREATR("fldtxt", L("lcl_bes_comment"), bes_bestelopdr.delivery_opmerk, {suppressEmpty: true});
ROTEXTAREATR("fldtxt", L("lcl_bes_bestelling_lev_opm"), bes_bestelling.lev_opm, {suppressEmpty: true} );

View File

@@ -11,6 +11,7 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/afdelingselector.inc" -->
<!-- #include file="../Shared/bedrijfselector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/disciplineselector.inc" -->
<!-- #include file="../Shared/srtgroepselector.inc" -->
@@ -129,10 +130,9 @@ oRs.Close();
autlevel: authparams.PRSreadlevel, // Was voorheen niet aanwezig
whenEmpty: L("lcl_search_generic") // want filter
});
%>
<!-- Afleveradres -->
<% FCLTselector("adr_key",
// <!-- Afleveradres -->
/* FCLTselector("adr_key",
"SELECT mld_adres_key, mld_adres_naam"
+ " FROM mld_adres"
+ " WHERE mld_adres_verwijder IS NULL"
@@ -140,8 +140,16 @@ oRs.Close();
{ emptyOption: "",
label : L("lcl_bes_del_place"),
trclass: "secsearch"
}); %>
}); */
FCLTadresselector("adr_key", "sgAdres",
{
label: L("lcl_delivery_address"), /* zelfde als lcl_bes_del_place */
whenEmpty: L("lcl_search_generic"),
filtcode: "A",
trclass: "secsearch"
}) ;
%>
</table>
</td><!-- end column 1 -->

View File

@@ -20,6 +20,7 @@
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/disciplineselector.inc" -->
<!-- #include file="../Shared/stdmeldingselector.inc" -->
@@ -897,7 +898,7 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
{
BLOCK_START("mldBes", L("lcl_aflevergegevens"));
var ALGreadlevel = this_mld.authparams(autfunction)? this_mld.authparams(autfunction).ALGreadlevel : 9;
sql = "SELECT ma.mld_adres_key"
/* sql = "SELECT ma.mld_adres_key"
+ " , ma.mld_adres_naam"
+ " , ma.mld_adres_upper"
+ " FROM mld_v_afleveradres ma"
@@ -915,6 +916,17 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
required: true
}
);
*/
FCLTadresselector("del_address", "sgAdres",
{
label: L("lcl_delivery_address"),
adresKey: mld_melding.deladdress,
emptyOption: "",
filtcode: "A",
autlevel: ALGreadlevel,
readonly: (mld_key > 0 && !this_mld.canAflChange),
required: true
}) ;
BLOCK_END();
}

View File

@@ -28,6 +28,7 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/uitvoerendeselector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/xd.inc" -->
<!-- #include file="mld.inc" -->
@@ -612,13 +613,11 @@ oRs.close();
if (anydeladr)
{
// Afleveradres
FCLTselector("adr_key",
"SELECT mld_adres_key, mld_adres_naam"
+ " FROM mld_adres"
+ " WHERE mld_adres_verwijder IS NULL"
+ " ORDER BY 2",
{ emptyOption: "",
label : L("lcl_bes_del_place"),
FCLTadresselector("adr_key", "sgAdres",
{
label: L("lcl_delivery_address"), /* zelfde als lcl_bes_del_place */
whenEmpty: L("lcl_search_generic"),
filtcode: "A",
trclass: "secsearch"
}) ;
}

View File

@@ -15,7 +15,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/afdelingselector.inc" -->
<!-- #include file="prs_flexkenmerk.inc" -->
@@ -130,15 +130,13 @@ BLOCK_START("prsAfd", L("lcl_dep_name_level"+afd_niveau));
filtercode: "A" // Laat alle kostenplaatsen zien, negeer mandatering.
});
sql = "SELECT mld_adres_key, "
+ " mld_adres_naam "
+ " FROM mld_v_afleveradres "
+ "ORDER BY mld_adres_naam ";
FCLTselector("mld_adres", sql,
{ label: L("lcl_delivery_address"),
initKey: mld_adres,
emptyOption: "" });
FCLTadresselector("mld_adres", "sgAdres",
{
label: L("lcl_delivery_address"),
adresKey: mld_adres,
filtcode: "A",
emptyOption: ""
}) ;
BLOCK_END();
BLOCK_START("prsAFlex"+(S("prs_flexcolumns")!=1?"2":""), L("lcl_prs_flexblok"));

View File

@@ -17,6 +17,7 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/afdelingselector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="prs_flexkenmerk.inc" -->
<!-- #include file="../Shared/calendar.inc"-->
<!-- #include file="prs.inc"-->
@@ -155,32 +156,22 @@ if (intern)
RWTEXTAREATR("bdr_opm", "fldtxt", L("lcl_prs_companies_opmerking"), bedrijf_info.opmerking, {html: "maxlength='320'"});
RWTEXTAREATR("bdr_opm2", "fldtxt", L("lcl_prs_companies_opmerking2"), bedrijf_info.opmerking2, {html: "maxlength='320'"});
sql = "SELECT mld_adres_key"
+ " , mld_adres_naam"
+ " FROM mld_v_aanwezigadres"
+ " WHERE mld_adres_afleveradres = 1"
+ " ORDER BY 2"
FCLTselector("mld_adrlkey", sql,
{ label: L("lcl_prs_companies_adres_lev"),
initKey: bedrijf_info.mld_adres_key_lev,
FCLTadresselector("mld_adrlkey", "sgAdres1",
{
label: L("lcl_prs_companies_adres_lev"),
adresKey: bedrijf_info.mld_adres_key_lev,
emptyOption: "",
readonly: false,
required: false
filtcode: "A"
}) ;
sql = "SELECT mld_adres_key"
+ " , mld_adres_naam"
+ " FROM mld_v_aanwezigadres"
+ " WHERE mld_adres_factuuradres = 1"
+ " ORDER BY 2"
FCLTselector("mld_adrfkey", sql,
{ label: L("lcl_prs_companies_adres_fac"),
initKey: bedrijf_info.mld_adres_key_fac,
FCLTadresselector("mld_adrfkey", "sgAdres2",
{
label: L("lcl_prs_companies_adres_fac"),
adresKey: bedrijf_info.mld_adres_key_fac,
emptyOption: "",
readonly: false
filtcode: "F"
}) ;
sql = "SELECT fin_btwtabel_key"
+ " , fin_btwtabel_omschrijving"
+ " FROM fin_btwtabel"

View File

@@ -20,6 +20,7 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/afdelingselector.inc" -->
<!-- #include file="../Shared/functieselector.inc" -->
<!-- #include file="../Shared/adresselector.inc" -->
<!-- #include file="prs_flexkenmerk.inc" -->
<!-- #include file="../Shared/calendar.inc"-->
<!-- #include file="prs.inc"-->
@@ -325,15 +326,12 @@ BLOCK_START("prsPerslid2", L("lcl_prs_organisatieblok"));
emptyOption: "",
readonly: !prsauthparams.writeman
});
sql = "SELECT mld_adres_key, "
+ " mld_adres_naam "
+ " FROM mld_v_afleveradres "
+ "ORDER BY mld_adres_naam "
FCLTselector("mld_adrkey", sql,
{ label: L("lcl_delivery_address"),
initKey: mld_adrkey,
FCLTadresselector("mld_adrkey", "sgAdres",
{
label: L("lcl_delivery_address"),
adresKey: mld_adrkey,
emptyOption: "",
filtcode: "A",
readonly: !prsauthparams.writeman
}) ;

View File

@@ -14,6 +14,7 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/afdelingselector.inc" -->
<!-- #include file="../Shared/functieselector.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
@@ -75,15 +76,10 @@ var authparams = user.checkAutorisation(autfunction);
<td class="label"><label for="prsNR"><%=L("lcl_prs_person_nr")%>:</label></td>
<td><input type="text" class="fldsrch" name="prsNR" value="<%=safe.htmlattr(prsNR)%>"></td>
</tr>
<% sql = "SELECT prs_srtperslid_key"
+ ", " + lcl.xsqla("prs_srtperslid_omschrijving", "prs_srtperslid_key")
+ ", prs_bedrijf_key"
+ " FROM prs_v_aanwezigsrtperslid "
+ "ORDER BY prs_srtperslid_upper ";
FCLTselector("func",
sql,
<%
FCLTfunctieselector("func", "sgFunc" ,
{ label: L("lcl_prs_person_function"),
emptyOption: ""
whenEmpty: L("lcl_search_generic")
});
sql = "SELECT prs_bedrijf_key, "

View File

@@ -131,15 +131,15 @@ oRs.Close();
kostenplaatsKey: kstpl_key,
readonly: true });
sql = "SELECT mld_adres_key"
+ " , mld_adres_naam"
+ " FROM mld_v_afleveradres"
+ " ORDER BY mld_adres_naam ";
FCLTselector("mld_adres", sql,
{ label: L("lcl_delivery_address"),
initKey: mld_adres,
emptyOption: "",
readonly: true });
sql = "SELECT mld_adres_naam"
+ " FROM mld_adres"
+ " WHERE mld_adres_key = " + mld_adres;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
ROFIELDTR("fld", L("lcl_delivery_address"), oRs("mld_adres_naam").value, {suppressEmpty: true});
}
oRs.Close();
BLOCK_END();
BLOCK_START("prsAFlex"+(S("prs_flexcolumns")!=1?"2":""), L("lcl_prs_flexblok"));

View File

@@ -0,0 +1,67 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: SuggestAdres.asp
Description: Suggereer adressen
Parameters: k De eerste paar letters
bAll Haal alle records op (met nog steeds een maximum van 500)
filtcode Beperkt de lijst met getoonde bedrijven
'L': Filter op adressen van bestaande contracten
'F': Filter op factuuradressen
'O': Filter op opdrachtadressen
'A': Filter op afleveradressen
Globals:
Context:
Note: UNDER CONSTRUCTION
*/ %>
<%
JSON_Result = true;
%>
<!-- #include file="../../Shared/common.inc" -->
<!-- #include file="./suggest.inc" -->
<!-- #include file="./adresFilter.inc" -->
<%
var chars = getQParam("k", "");
var autlevel = getQParamInt("autlevel", -1);
var bAll = getQParamInt("SuggestAll", 0) == 1;
var filtcode = getQParam("filtcode", "");
var extracode = getQParam("extraCode", "");
var locatie = getQParamInt("locatie", -1);
chars = chars.replace(/\*/g,"%");
var params = {
autlevel: autlevel,
locatie: locatie
};
var filtClause = getFiltClauseAdres(filtcode, params);
var extraInf = getExtraInfadres(extracode);
if (autlevel > -1) // Deze is gemakkelijk
{
filtClause +=" AND b.prs_bedrijf_key = " + user.afdeling().prs_bedrijf_key();
}
sql = "SELECT m.mld_adres_key"
+ ", mld_adres_naam naam"
+ ", COALESCE(mld_adres_bezoek_plaats, ' ') plts"
+ ", COALESCE(mld_adres_bezoek_adres, ' ') straat"
+ extraInf
+ ", m.mld_adres_upper"
+ " FROM mld_adres m"
+ " WHERE (mld_adres_upper LIKE " + safe.quoted_sql_wild(chars + "%")
+ " OR mld_adres_bezoek_postcode LIKE " + safe.quoted_sql_wild(chars + "%")
+ " OR UPPER(mld_adres_bezoek_adres) LIKE " + safe.quoted_sql_wild(chars + "%") +") "
+ filtClause
+ " ORDER BY m.mld_adres_upper ";
WriteResult(sql, bAll, "naam", "mld_adres_key", "straat", "extra");
%>

View File

@@ -0,0 +1,62 @@
<% /*
$Revision$
$Id$
File: adresFilter.inc
Description: functies voor bedrijf suggest velden
filtcode Beperkt de lijst met getoonde bedrijven
'L': Filter op adressen van bestaande contracten
'F': Filter op factuuradressen
'O': Filter op opdrachtadressen
'A': Filter op afleveradressen Globals:
Context:
Note: UNDER CONSTRUCTION
*/ %>
<%
function getFiltClauseAdres(pfiltcode, params)
{
var lfiltClause = " AND m.mld_adres_verwijder IS NULL";
if (pfiltcode && pfiltcode != "")
{
switch(pfiltcode)
{
case 'F': lfiltClause += " AND m.mld_adres_factuuradres IS NOT NULL";
break;
case 'O': lfiltClause += " AND m.mld_adres_opdrachtadres IS NOT NULL";
break;
case 'A': lfiltClause += " AND m.mld_adres_afleveradres IS NOT NULL";
break;
}
}
if (params && params.locatie > 0)
{
lfiltClause += " AND m.alg_locatie_key = " + params.locatie;
}
if (params && params.autlevel > 0)
{
lfiltClause += " AND m.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations"
+ " WHERE prs_perslid_key = " + user_key
+ " AND niveau = " + params.autlevel + ")";
}
return lfiltClause;
}
function getExtraInfadres(pextracode)
{
var lExtraInf = ", 'Extra' extra";
if (pextracode && pextracode != "")
{
switch(pextracode)
{
case 'P': lExtraInf = ", m.mld_adres_bezoek_postcode extra"; // nuttig?
break;
}
}
return lExtraInf;
}
%>

View File

@@ -0,0 +1,161 @@
<% /*
$Revision$
$Id$
File: adresselector.inc
Description: Algemene interface functie om een adres suggestbox te maken
Deze moet je kunnen includen en aanroepen.
Resulteert dan uiteindelijk in een zichtbaar textveld aangemaakt die de adres bevat
en een hidden keyveld die de key van het adres bevat (bedrijfskey veld).
Het bedrijfsnaam veld heeft geen naam en wordt niet meegesubmit.
Het bedrijfskey veld heeft een naam en wordt meegesubmit.
Het resultaat heeft de vorm "[<td>label</td><td>]selectveld[</td>]"
parameters fieldName: veldnaam van het bedrijfskey veld. Dit veld wordt gesubmit.
objectName: naam van het suggest object dat wordt aangemaakt.
params: object met meegegeven parameters.
adresKey: initi<74>le key waarde van de bedrijf die ingevuld moet worden.
label: label dat voor het bedrijfsnaam veld wordt weergegeven.
filtercode: extra filtercode voor de query die gebruikt wordt voor de suggest.
onChange: onchange op het textveld.
trclass: wordt ook op de <tr> gezet
autlevel: autorisatie niveau voor de query die gebruikt wordt voor de suggest.
extraParamField: veldnaam voor een extra hidden parameter veld.
isBad: boolean die aangeeft dat het bedrijfsnaam veld als ongeldig
en leeg weergegeven moet worden (true|false(default)).
readonly: geeft aan of het bedrijf veld readonly weergegeven moet worden (true|false(default)).
moreinfo: geeft een extra informatie button achter het suggest veld. Klikken hierop geeft informatie
over de geselecteerde waarde
*/ %>
<!-- #include file="./Suggest/adresFilter.inc" -->
<%
FCLTHeader.Requires({ plugins: ["suggest", "jQuery"], js: [] });
function FCLTadresselector(fieldName, objectName, params)
{
if (typeof params=="undefined") params = {};
if (!(params.adresKey && params.adresKey > 0) && params.readonly && params.suppressEmpty) return;
var lwhenEmpty = (params.whenEmpty != null ? params.whenEmpty : (params.readonly ? L("lcl_select_readonly") : L("lcl_select_adres")));
var ladresName = (device.test(device.supportsPlaceholder) ? "" : lwhenEmpty);
var lextraInit = "";
if (params.adresKey && params.adresKey > 0)
{
var filtClause = getFiltClauseAdres(params.filtercode);
sql = "SELECT m.mld_adres_naam adres, 'dummy' extra"
+ " FROM mld_adres m"
+ " WHERE m.mld_adres_key = " + params.adresKey
+ filtClause;
var oRs = Oracle.Execute(sql);
if (!oRs.eof) {
ladresName = oRs("adres").Value;
lextraInit = oRs("extra").Value
}
}
else
{
var filtClause = getFiltClauseAdres(params.filtercode, params);
var extraInf = getExtraInfadres(params.extracode);
sql = "SELECT COUNT(*) aantal"
+ " FROM mld_adres m"
+ " WHERE mld_adres_verwijder IS NULL"
+ filtClause;
var oRs = Oracle.Execute(sql);
// Als er maar <20><>n adres is, dan deze selecteren.
if (oRs("aantal").Value == 1)
{
sql = "SELECT m.mld_adres_key"
+ ", mld_adres_naam"
+ extraInf
+ " FROM mld_adres m"
+ " WHERE mld_adres_verwijder IS NULL"
+ filtClause;
var oRs = Oracle.Execute(sql);
ladresName = oRs("mld_adres_naam").Value;
lextraInit = oRs("extra").Value;
params.adresKey = oRs("mld_adres_key").Value;
}
}
// Bouw de url voor de persoons query op
var compQueryUrl = rooturl + "/appl/shared/suggest/SuggestAdres.asp"
+ ((typeof params.autlevel != "undefined")? "?autlevel=" + params.autlevel : "?autlevel=-1")
+ (params.filtercode? "&filtcode=" + params.filtercode : "")
+ (params.extracode? "&extracode=" + params.extracode : "");
if (params.label)
{ %><tr <%=params.trclass?"class='"+params.trclass+"'":""%>>
<td class="label">
<label class='selector' for="<%=fieldName%>"><%=params.label%>:</label>
<% = params.moreinfo && !params.readonly ? "<span class='labelextra'><i class='fa fa-info-circle details' onclick='adresdetails_" + fieldName + "()'></i></span>" : ""%>
</td>
<td>
<%
} %>
<nobr>
<input id="<%=fieldName%>_show" class="fldadr<%=!params.readonly&&params.required? " required" : ""%><%=params.readonly && params.moreinfo ? " details" : ""%>"
<% =params.moreinfo && params.readonly ? " title='" + L("lcl_details") + "' onclick='adresdetails_" + fieldName + "()'" : ""%>
value="<%=safe.htmlattr(ladresName)%>" placeholder="<%=lwhenEmpty%>"
<%=params.readonly? " readonly" : ""%>
<%=params.onChange && !params.readonly? " sgonChange='" + params.onChange + "'" : ""%>>
<input type="hidden" id="<%=fieldName%>" name="<%=fieldName%>" value="<%=params.adresKey%>">
<% = params.moreinfo && !params.readonly && !params.label ? "<i class='fa fa-info-circle details' onclick='adresdetails_" + fieldName + "()'></i>" : ""%>
<%
if (params.extraParamField)
{ /* het extra parameter veld wordt door suggest object gevuld */%>
<input type="hidden" id="<%=params.extraParamField%>" name="<%=params.extraParamField%>" value="<%=safe.htmlattr(lextraInit)%>">
<%
} %>
</nobr>
<%
if (params.label)
{ %>
</td></tr>
<%
} %>
<script type="text/javascript">
function adresdetails_<%=fieldName%> ()
{
if ($('#<%=fieldName%>')[0].value != -1) {
FcltMgr.openDetail("appl/fac/fac_adres.asp?key=" + $('#<%=fieldName%>')[0].value, $('#<%=fieldName%>')[0].value);
} else {
// FcltMgr.alert("Wat wil je nou?");
}
}
</script>
<%
if (!params.readonly)
{
if (params.urlAdd)
{
var urlAddTxt = "[";
for (var i = 0; i < params.urlAdd.length; i++)
{
urlAddTxt += (i > 0? ", " : "") + "{ urlParam: \"" + params.urlAdd[i].urlParam + "\", field: \"" + params.urlAdd[i].field + "\" }";
}
urlAddTxt += "]"
}
%>
<script type="text/javascript">
jQuery(document).ready( function()
{
<%=objectName%> = new Suggest({ objectName: "<%=objectName%>",
queryField: $("#<%=fieldName%>_show")[0],
queryUrl: "<%=compQueryUrl%>",
initKey: <%=params.adresKey? params.adresKey : -1%>,
keyField: $("#<%=fieldName%>")[0]
<%=params.urlAdd? ", urlAdd: " + urlAddTxt : ""%>
<%=params.extraParamField? ", extraParamField: $(\"" + "#" + params.extraParamField + "\")[0]" : ""%>
<%=params.extraParamField? ", initExtraParam: \"" + safe.jsstring("" + lextraInit) + "\"": ""%>
<%=params.isBad? ", isBad: true": ""%>
<%=params.readonly? ", fieldReadonly: true": ""%>
});
}
)
</script>
<%
}
}
%>

View File

@@ -109,7 +109,7 @@ function FCLTbesitemselector(fieldName, objectName, params)
<label class="selector" for="<%=fieldName%>"><%=params.label%>:</label>
<% if (params.favouritelist)
{ %>
<span class="labelextra details" title="<%=L("lcl_bes_favour_title")%>" onclick="favouriteList()"><%=I('fa-star-o')%></span>
<span class="labelextra details" title="<%=L("lcl_bes_favour_title")%>" onclick="favouriteList()"><%=I('fa-star')%></span>
<% } %>
</td>
<td>

View File

@@ -162,16 +162,19 @@ div#touchmenu li a {
}
li.hasIcon i.fa {
font-size: 1.4em;
font-size: 1.0em;
}
.fcltblock {
min-width:340px;
}
.rstable td, .rstable th
.rstable td
{
padding-bottom: 12px;
padding-top: 12px;
padding: 10px 0 10px 1px;
}
.rstable th
{
padding: 3px 3px 3px 5px;
}
.suggestsr,
@@ -264,3 +267,4 @@ div.time-holder table.times td.time {
}
#mod_prs_pwdchange {width:500px;}
i.dateklikker {top: 0;}