PCHD#54382 dienst->suggest

svn path=/Website/trunk/; revision=41357
This commit is contained in:
Peter Feij
2019-03-06 16:21:35 +00:00
parent 30b6b19aa1
commit b8d2545f82
5 changed files with 57 additions and 31 deletions

View File

@@ -23,6 +23,7 @@
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/afdelingselector.inc" -->
<!-- #include file="../Shared/contactpersoonselector.inc" -->
<!-- #include file="../Shared/dienstselector.inc" -->
<%
FCLTHeader.Requires({plugins:["jQuery"],
@@ -393,15 +394,10 @@ else // nieuw contract of copy
suppressEmpty: true
});
sql_dienst = "SELECT prs_dienst_key"
+ ", " + lcl.xsqla('prs_dienst_omschrijving', 'prs_dienst_key')
+ " FROM prs_dienst"
+ " ORDER BY UPPER("+lcl.xsql('prs_dienst_omschrijving', 'prs_dienst_key')+")"
FCLTselector("dienst",
sql_dienst,
{ initKey: cnt_info.prs_dienst_key,
label: L("lcl_prs_companies_dienst"),
emptyOption: "",
FCLTdienstselector("dienst","dienst",
{ label: L("lcl_prs_companies_dienst"),
dienstKey : cnt_info.prs_dienst_key,
whenEmpty: L("lcl_select_dienst"),
readonly: cnt_info.isAbonnement || !this_cnt.canChangeAlg,
suppressEmpty: true
});

View File

@@ -40,8 +40,9 @@
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!-- #include file="../Shared/xd.inc" -->
<!-- #include file="../Shared/kostensoortselector.inc" -->
<!-- #include file="../Shared/dienstselector.inc" -->
<!-- #include file="../Shared/xd.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
@@ -178,15 +179,6 @@ var authparams = user.checkAutorisation(autfunction, true) || {};
sgKs.CheckJustOne();
}
function onChangedDienst()
{
//sgComp.setValue($("#sComp_key").val(), $("#sComp_key_show").val(), true, true, null, true);
// Regel hierboven werkt niet goed omdat CheckExist een get call veroorzaakt om te kijken of waarde bestaat.
// In de tussentijd verstoort CheckJustOne dit process met een $.getJSON()
// Dus gewoon Uitvoerende leegmaken
sgComp.setValue(-1, "", true, false, null, true);
sgComp.CheckJustOne();
}
<% if (autosearch)
{ %>
window.afterfiltersready = function () { doSubmit() };
@@ -317,17 +309,11 @@ var authparams = user.checkAutorisation(autfunction, true) || {};
<td valign=top>
<table>
<!-- DIENST -->
<% sql_dienst = "SELECT prs_dienst_key"
+ ", " + lcl.xsqla('prs_dienst_omschrijving', 'prs_dienst_key')
+ " FROM prs_dienst"
+ " ORDER BY UPPER("+lcl.xsql('prs_dienst_omschrijving', 'prs_dienst_key')+")"
FCLTselector("dienst",
sql_dienst,
{ initKey: -1,
label: L("lcl_prs_companies_dienst"),
onChange: "onChangedDienst()",
trclass: "noxd",
emptyOption: ""
<% FCLTdienstselector("dienst","dienst",
{ label: L("lcl_prs_companies_dienst"),
dienstKey : -1,
trclass:"primsearch noxd",
whenEmpty: L("lcl_search_generic")
});
RWFIELDTR("cnt_persoon_omschr", "fld wildcardr", L("lcl_cnt_name"), safe.htmlattr(cnt_persoon_omschr), { trclass: "primsearch onlyxd hidden", datatype: "text" });
// <!-- Bedrijfs-contractpartij -->

View File

@@ -17,18 +17,23 @@ JSON_Result = true;
<!-- #include file="../../Shared/common.inc" -->
<!-- #include file="./suggest.inc" -->
<!-- #include file="./Dienstfilter.inc" -->
<%
var chars = getQParam("k", "");
var bAll = getQParamInt("SuggestAll", 0) == 1;
var filtcode = getQParam("filtcode", "");
chars = chars.replace(/\*/g,"%");
var filtClause = getFiltClauseDienst(filtcode);
sql = "SELECT prs_dienst_key"
+ ", " + lcl.xsqla('prs_dienst_omschrijving', 'prs_dienst_key')
+ ", " + lcl.xsqla('prs_dienst_hint', 'prs_dienst_key')
+ " FROM prs_dienst "
+ " FROM prs_dienst pd"
+ " WHERE (UPPER(" + lcl.xsql('prs_dienst_omschrijving', 'prs_dienst_key') + ") LIKE " + safe.quoted_sql_wild2(chars)
+ " OR UPPER(" + lcl.xsql('prs_dienst_hint', 'prs_dienst_key') + ") LIKE " + safe.quoted_sql_wild2(chars) + ")"
+ filtClause
+ " ORDER BY " + lcl.xsql('prs_dienst_omschrijving', 'prs_dienst_key');
WriteResult2(sql, { bAll: bAll,

View File

@@ -0,0 +1,38 @@
<% /*
$Revision$
$Id$
File: dienstFilter.inc
Description: functies voor bedrijf suggest velden
Globals:
Context:
Note:
*/ %>
<%
function getFiltClauseDienst(pfiltcode)
{
var lfiltClause = "";
if (pfiltcode && pfiltcode != "")
{
switch(pfiltcode)
{
// Interne uitvoerder, alleen de diensten van de eigen bedrijfdienstlocaties.
case 'OWN': lfiltClause = " AND pd.prs_dienst_key IN (SELECT DISTINCT d.prs_dienst_key"
+ " FROM prs_bedrijfdienstlocatie bdl"
+ " , prs_dienst d"
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
+ " AND d.prs_dienst_key = pd.prs_dienst_key"
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
+ " FROM prs_contactpersoon cp"
+ " WHERE cp.prs_perslid_key = " + user_key + "))";
break;
}
}
return lfiltClause;
}
%>

View File

@@ -16,6 +16,7 @@ FCLTHeader.Requires({ plugins: ["suggest", "jQuery"], js: [] });
function FCLTdienstselector(fieldName, objectName, params)
{
if (typeof params=="undefined") params = {};
if (!(params.dienstKey && params.dienstKey > 0) && params.readonly && params.suppressEmpty) return;
var lwhenEmpty = (params.whenEmpty != null ? params.whenEmpty : (params.readonly ? L("lcl_select_readonly") : L("lcl_select_dienst")));
var ldienstName = (device.test(device.supportsPlaceholder) ? "" : lwhenEmpty);