YKPN#40205 bezoeker flags toegevoegd aan zoek criteria en lijsten
svn path=/Website/trunk/; revision=34928
This commit is contained in:
@@ -514,6 +514,8 @@ bez =
|
||||
}
|
||||
bresult.canChange &= bresult.canReadAny; // Dat is toch wel het minste
|
||||
|
||||
bresult.canWriteFlags = bresult.canWrite("WEB_BEZBOF") || bresult.canWrite("WEB_BEZFOF"); // Kan ik flags aanpassen
|
||||
|
||||
return bresult;
|
||||
},
|
||||
default_actie: function ()
|
||||
|
||||
40
APPL/BEZ/bez_flag.asp
Normal file
40
APPL/BEZ/bez_flag.asp
Normal file
@@ -0,0 +1,40 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
verhoog de status van de flag met 1.
|
||||
*/ %>
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="bez.inc" -->
|
||||
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
var bez_key = getFParamInt("bez_key");
|
||||
var afspr_key = getFParamInt("afspr_key");
|
||||
var flagkey = getFParamInt("flagkey");
|
||||
|
||||
var bfe = bez.func_enabled_afspraak(afspr_key);
|
||||
user.auth_required_or_abort(bfe.canWriteFlags);
|
||||
|
||||
var result = {};
|
||||
|
||||
flagkey += 1;
|
||||
flagkey = flagkey % S("bez_bezoekers_flags"); // cycle door de waarden {0, 1, ... , (S('bez_bezoekers_flags')-1)}.
|
||||
|
||||
var updatesql = "UPDATE bez_bezoekers"
|
||||
+ " SET bez_bezoekers_flag = " + flagkey
|
||||
+ " WHERE bez_bezoekers_key = " + bez_key;
|
||||
Oracle.Execute(updatesql);
|
||||
|
||||
result.success = true;
|
||||
result.bez_key = bez_key;
|
||||
result.newflag = flagkey; // Het nieuwe volgnummer van de bezoeker vlaggetjes.
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
@@ -81,6 +81,7 @@ function bez_list(pautfunction, params)
|
||||
// params.bezInside : boolean (true | false)
|
||||
// params.bezDepart : boolean (true | false)
|
||||
// params.bezClosed : boolean (true | false)
|
||||
// params.flags : intArray [flagkeys {0-9}]
|
||||
// params.tiny : boolean (true | false) voor als de afspraakgegevens niet hoeven
|
||||
// params.mobile : boolean (true | false)
|
||||
|
||||
@@ -127,6 +128,7 @@ function bez_list(pautfunction, params)
|
||||
var bezInside = params.bezInside;
|
||||
var bezDepart = params.bezDepart;
|
||||
var bezClosed = params.bezClosed;
|
||||
var flags = params.flags;
|
||||
var withflex = params.withflex;
|
||||
var anyflex = false;
|
||||
|
||||
@@ -224,6 +226,7 @@ function bez_list(pautfunction, params)
|
||||
+ ", b.bez_bezoekers_out "
|
||||
+ ", l.alg_locatie_omschrijving loc_omschr"
|
||||
+ ", b.bez_bezoekers_key bez_key"
|
||||
+ ", b.bez_bezoekers_flag"
|
||||
+ ", COALESCE(rd.res_rsv_deel_key, 0) rsv_deel_key"
|
||||
+ ", b.bez_bezoekers_pasnr badgenr"
|
||||
+ ", a.bez_afspraak_datum" // just for sorting
|
||||
@@ -530,6 +533,25 @@ function bez_list(pautfunction, params)
|
||||
+ " OR UPPER(b.bez_bezoekers_pasnr) LIKE" + wildsearchtext + ")";
|
||||
}
|
||||
|
||||
if (!afspr_key && flags && flags.length > 0 && flags.length < S("bez_bezoekers_flags"))
|
||||
{
|
||||
var filterNull = false;
|
||||
|
||||
for (var i = 0; i < flags.length; i++)
|
||||
{
|
||||
if (flags[i] === 0)
|
||||
{
|
||||
filterNull = true;
|
||||
}
|
||||
}
|
||||
|
||||
sql += " AND (b.bez_bezoekers_flag IN (" + flags.join(",") + ")";
|
||||
|
||||
if (filterNull)
|
||||
sql += " OR b.bez_bezoekers_flag IS NULL";
|
||||
sql += ")";
|
||||
}
|
||||
|
||||
if (!afspr_key && host_key)
|
||||
sql += " AND a.bez_afspraak_host_key = " + host_key;
|
||||
|
||||
@@ -701,9 +723,9 @@ function bez_list(pautfunction, params)
|
||||
+ " ORDER BY 1";
|
||||
}
|
||||
|
||||
/******************************************
|
||||
* General Callback functies ResultsetTable
|
||||
*****************************************/
|
||||
/********************************************
|
||||
* General Callback functies ResultsetTable *
|
||||
********************************************/
|
||||
|
||||
function fnrowClass(oRs)
|
||||
{
|
||||
@@ -969,6 +991,34 @@ function bez_list(pautfunction, params)
|
||||
);
|
||||
}
|
||||
|
||||
function fncolFlags(oRs)
|
||||
{
|
||||
var bez_key = oRs("bez_key").Value;
|
||||
var afspr_key = oRs("afspr_key").Value;
|
||||
var flagkey = oRs("bez_bezoekers_flag").Value || 0;
|
||||
var ttl = L("lcl_bez_flag" + flagkey);
|
||||
var displ = "";
|
||||
|
||||
if (print)
|
||||
{
|
||||
if (flagkey != 0) displ = safe.html(ttl); // else blijft-ie gewoon leeg
|
||||
}
|
||||
else if (excel) // dan gewoon maar de code, handig groeperen
|
||||
{
|
||||
displ = flagkey||"";
|
||||
}
|
||||
else // maak er dan nog leuke plaatjes van
|
||||
{
|
||||
var flagIcon = flagkey == 0 ? "fa-circle-o" : "fa-circle";
|
||||
// Met hidden flagkey voor sortering. 999 zorgt dat bij 1 keer sorteren de gevlagde direct bovenaan staan
|
||||
displ = "<div " + ((urole == "bo" || urole == "fo") ? "onclick='toggleBezFlag(event, "+ afspr_key +", "+ bez_key +");'":"")
|
||||
+ " title='"+safe.htmlattr(ttl)+"'>"
|
||||
+ "<i id='bezflagimg"+bez_key+"' flagkey='"+flagkey+"' class='fa "+flagIcon+" bezflag"+flagkey+"'></i>"
|
||||
+ "<span style='display:none'>"+(flagkey||999)+"</span></div>";
|
||||
}
|
||||
return displ;
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
* End general callback functies ResultsetTable
|
||||
*********************************************/
|
||||
@@ -1045,6 +1095,11 @@ function bez_list(pautfunction, params)
|
||||
// Kolommen
|
||||
if (!groupbez || groupbez == 99)
|
||||
{
|
||||
|
||||
// Flags
|
||||
if (S("bez_bezoekers_flags") > 0 && !frontend)
|
||||
rst.addColumn(new Column({caption: I("fa-circle"), content: fncolFlags, align: "center"}));
|
||||
|
||||
if (backo) {
|
||||
var captionResOk = "<i class='fa fa-sign-in fa-lg'></i>";
|
||||
rst.addColumn(new Column({caption: (outputmode == 0 ? captionResOk : L("lcl_vis_inside")), content: fncolRegVisit, align: "center"}));
|
||||
|
||||
@@ -204,4 +204,34 @@ function SaveBadge(bez_key, badgenr)
|
||||
data,
|
||||
FcltCallback,
|
||||
"json");
|
||||
}
|
||||
|
||||
function toggleBezFlag(evt, afspr_key, bez_key)
|
||||
{
|
||||
FcltMgr.stopPropagation(evt);
|
||||
|
||||
var flagkey = $('#bezflagimg'+bez_key).attr('flagkey');
|
||||
var data = { afspr_key: afspr_key
|
||||
, bez_key : bez_key
|
||||
, flagkey : flagkey
|
||||
};
|
||||
protectRequest.dataToken(data);
|
||||
$.post("../bez/bez_flag.asp"
|
||||
, data
|
||||
, FcltCallbackAndThen(setBezFlag)
|
||||
, "json"
|
||||
);
|
||||
}
|
||||
|
||||
function setBezFlag(data)
|
||||
{ // Zet de flag en het volgnummer van de flag.
|
||||
var bez_key = data.bez_key;
|
||||
var flagkey = data.newflag;
|
||||
var flagimg = 'fa fa-circle bezflag'+flagkey;
|
||||
|
||||
$('#bezflagimg'+bez_key).attr('flagkey', flagkey);
|
||||
$('#bezflagimg'+bez_key).attr('class', flagimg);
|
||||
$('#bezflagimg'+bez_key).parent().attr('title', L("lcl_bez_flag" + flagkey));
|
||||
$('#bezflagimg'+bez_key).next().text(flagkey||999); // Hidden span voor sorteren
|
||||
$('#beztable th').removeClass('sorttable_sorted sorttable_sorted_reverse'); // sortable cache't namelijk
|
||||
}
|
||||
@@ -208,7 +208,29 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
label: L("lcl_BEZ_group")
|
||||
});
|
||||
|
||||
} %>
|
||||
}
|
||||
|
||||
if (!frontend && S("bez_bezoekers_flags") > 1) // Flags checkboxen -->
|
||||
{
|
||||
%>
|
||||
<tr>
|
||||
<td class="label"><label><%=L("lcl_bez_flags")%>: </label></td>
|
||||
<td id="bezFlags">
|
||||
<% for (flagkey=0; flagkey < S("bez_bezoekers_flags"); flagkey++)
|
||||
{
|
||||
if (flagkey == 0)
|
||||
{
|
||||
%><label for="flag0"><input type="checkbox" name="flag0" id="flag0" checked> <%=safe.html(L("lcl_bez_flag0"))%></label><br>
|
||||
<% }
|
||||
else
|
||||
{
|
||||
%><label for="flag<%=flagkey%>"><input type="checkbox" name="flag<%=flagkey%>" id="flag<%=flagkey%>" checked><i class="fa fa-circle bezflag<%=flagkey%> bezs"></i> <%=safe.html(L("lcl_bez_flag"+flagkey))%></label><br>
|
||||
<% }
|
||||
} %>
|
||||
</td>
|
||||
</tr>
|
||||
<% } %>
|
||||
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
|
||||
@@ -242,33 +264,33 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
secsearch: 4, // verdieping en hoger
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
|
||||
|
||||
sql = "SELECT bez_actie_key"
|
||||
+ " , " + lcl.xsqla('bez_actie_omschrijving', 'bez_actie_key')
|
||||
+ " FROM bez_actie"
|
||||
+ " WHERE bez_actie_verwijder IS NULL"
|
||||
+ " ORDER BY bez_actie_key";
|
||||
|
||||
|
||||
var sqlcnt = "SELECT COUNT ( * ) nraction"
|
||||
+ " FROM (" + sql + ")";
|
||||
|
||||
|
||||
var oRs2 = Oracle.Execute(sqlcnt);
|
||||
var nractions = oRs2("nraction").Value;
|
||||
oRs2.close();
|
||||
|
||||
if (nractions > 1)
|
||||
{
|
||||
|
||||
if (nractions > 1)
|
||||
{
|
||||
FCLTselector("actie",
|
||||
sql,
|
||||
{ initKey: action_key,
|
||||
trclass:"primsearch noxd",
|
||||
label: L("lcl_action"),
|
||||
emptyOption: (action_key == -1? L("lcl_all") : null),
|
||||
emptyOption: (action_key == -1? L("lcl_all") : null),
|
||||
readonly: action_key > -1
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!fronto || minfo)
|
||||
{
|
||||
// <!-- Aanvrager -->
|
||||
|
||||
@@ -53,6 +53,14 @@ var bezInside = (getQParamInt("bezInside", 0) == 1); // Binnen
|
||||
var bezDepart = (getQParamInt("bezDepart", 0) == 1); // Vertrokken
|
||||
var bezClosed = (getQParamInt("bezClosed", 0) == 1); // Verwerkt
|
||||
|
||||
// Flags
|
||||
var flags = [];
|
||||
for (flagkey=0; flagkey < S("bez_bezoekers_flags"); flagkey++)
|
||||
{
|
||||
if (getQParam("flag" + flagkey, "off") == "on")
|
||||
flags.push(flagkey);
|
||||
}
|
||||
|
||||
var autfunction = "";
|
||||
switch(urole)
|
||||
{
|
||||
@@ -89,6 +97,7 @@ bez_list ( autfunction,
|
||||
bezInside: bezInside,
|
||||
bezDepart: bezDepart,
|
||||
bezClosed: bezClosed,
|
||||
flags: flags,
|
||||
withflex: true,
|
||||
contactonly: getQParamInt("contactonly", 0)
|
||||
}
|
||||
|
||||
@@ -210,7 +210,8 @@ var urlMail = "../shared/queuemail.asp?pcode=BEZMAI&defemail_key=" + bez_afspraa
|
||||
{
|
||||
BLOCK_START("bezBezoekers", L("lcl_vis_visitors"));
|
||||
|
||||
bez_list("*", {afspr_key: afspr_key,
|
||||
bez_list("*", {urole : urole,
|
||||
afspr_key: afspr_key,
|
||||
tiny: true,
|
||||
noPrint: true,
|
||||
noHeader: true, // die hebben we zelf al gedaan
|
||||
|
||||
@@ -621,14 +621,11 @@ function mld_list (pautfunction, params)
|
||||
}
|
||||
else // maak er dan nog leuke plaatjes van
|
||||
{
|
||||
if (flagkey == 0)
|
||||
var flagimg = "<i id='mldflagimg"+mldkey+"' flagkey='0' class='fa fa-circle-o mldflag"+flagkey+"'>";
|
||||
else
|
||||
var flagimg = "<i id='mldflagimg"+mldkey+"' flagkey='"+flagkey+"' class='fa fa-circle mldflag"+flagkey+"'>";
|
||||
var flagIcon = flagkey == 0 ? "fa-circle-o" : "fa-circle";
|
||||
// Met hidden flagkey voor sortering. 999 zorgt dat bij 1 keer sorteren de gevlagde direct bovenaan staan
|
||||
displ = "<div " + ((urole == "bo" || urole == "fo") ? "onclick='toggleMldFlag(event, "+ mldkey +");'":"")
|
||||
+ " title='"+safe.htmlattr(ttl)+"'>"
|
||||
+ flagimg
|
||||
+ "<i id='mldflagimg"+mldkey+"' flagkey='"+flagkey+"' class='fa "+flagIcon+" mldflag"+flagkey+"'></i>"
|
||||
+ "<span style='display:none'>"+(flagkey||999)+"</span></div>";
|
||||
}
|
||||
return displ;
|
||||
|
||||
@@ -1597,6 +1597,10 @@ border-spacing: 1px;
|
||||
.opdrflag3,.opdrflag4,.opdrflag5,
|
||||
.opdrflag6,.opdrflag7,.opdrflag8,
|
||||
.opdrflag9,
|
||||
.bezflag0,.bezflag1,.bezflag2,
|
||||
.bezflag3,.bezflag4,.bezflag5,
|
||||
.bezflag6,.bezflag7,.bezflag8,
|
||||
.bezflag9,
|
||||
.resflag0,.resflag1,.resflag2,
|
||||
.resflag3,.resflag4,.resflag5,
|
||||
.resflag6,.resflag7,.resflag8,
|
||||
@@ -1604,18 +1608,19 @@ border-spacing: 1px;
|
||||
font-size: 1.3em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.mldflag0, .resflag0, .opdrflag0 { color: #eee;}
|
||||
.mldflag1, .resflag1, .opdrflag1 { color: #4d4d4d; }
|
||||
.mldflag2, .resflag2, .opdrflag2 { color: #f15854; }
|
||||
.mldflag3, .resflag3, .opdrflag3 { color: #ffd600; }
|
||||
.mldflag4, .resflag4, .opdrflag4 { color: #5da5da; }
|
||||
.mldflag5, .resflag5, .opdrflag5 { color: #60bd68; }
|
||||
.mldflag6, .resflag6, .opdrflag6 { color: #673ab7; }
|
||||
.mldflag7, .resflag7, .opdrflag7 { color: #faa43a; }
|
||||
.mldflag8, .resflag8, .opdrflag8 { color: #b276b2; }
|
||||
.mldflag9, .resflag9, .opdrflag9 { color: #b2912f; }
|
||||
|
||||
.mlds, .ress, .opdrs { /* small flags for search use*/
|
||||
.mldflag0, .resflag0, .opdrflag0, .bezflag0 { color: #eee;}
|
||||
.mldflag1, .resflag1, .opdrflag1, .bezflag1 { color: #4d4d4d; }
|
||||
.mldflag2, .resflag2, .opdrflag2, .bezflag2 { color: #f15854; }
|
||||
.mldflag3, .resflag3, .opdrflag3, .bezflag3 { color: #ffd600; }
|
||||
.mldflag4, .resflag4, .opdrflag4, .bezflag4 { color: #5da5da; }
|
||||
.mldflag5, .resflag5, .opdrflag5, .bezflag5 { color: #60bd68; }
|
||||
.mldflag6, .resflag6, .opdrflag6, .bezflag6 { color: #673ab7; }
|
||||
.mldflag7, .resflag7, .opdrflag7, .bezflag7 { color: #faa43a; }
|
||||
.mldflag8, .resflag8, .opdrflag8, .bezflag8 { color: #b276b2; }
|
||||
.mldflag9, .resflag9, .opdrflag9, .bezflag9 { color: #b2912f; }
|
||||
|
||||
.mlds, .ress, .opdrs, .bezs { /* small flags for search use*/
|
||||
font-size: 1em;
|
||||
vertical-align: inherit;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user