Files
Facilitor/APPL/ALG/alg_regio_list.inc
Erik Groener 5ebf1b8023 FSN#22720 FOX#24 Cross Site Request Forgery voorkomen
svn path=/Website/trunk/; revision=17123
2013-03-11 13:30:15 +00:00

146 lines
4.7 KiB
PHP

<% /*
$Revision$
$Id$
File: alg_regio.inc
Description: Show an overview of regio items in list-form,
which meets with the given requirements
Parameters:
Context: Search action from alg_regio_search_list.asp form
Note:
*/ %>
<!-- #include file="../Shared/disCxprs3d.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/getkenmerksql.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"] });
function fnrowData(oRs)
{
var detail_key = oRs("alg_regio_key").value;
var key = oRs("alg_regio_key").value;
var oms = oRs("alg_regio_omschrijving").value;
var data = {detail_key: detail_key, key: key, oms: oms};
return JSON.stringify(data);
}
%>
<script type="text/javascript">
var autosearch = 1; // automatisch laden van resultaat op search pagina.
function gotoDetails(row)
{
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_district_search.asp?regio_key=" + algData.detail_key + "&autosearch=" + autosearch;
FcltMgr.openDetail(url, "<%=L("lcl_district")%>");
}
function districtEdit(row)
{
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
var url = "appl/ALG/alg_regio.asp?mode=viewUpdate&key=" + algData.key;
FcltMgr.openDetail(url, "<%=L("lcl_region")%>" + ' ' + algData.oms);
}
function doDelete(rowArray, isMulti)
{
var regKeyString = getKeyString(rowArray);
if (isMulti || confirm(L("lcl_alg_del_txt_regio")))
{
var data = { key: regKeyString,
level: "RE"
};
<% protectRequest.dataToken("data"); %>
$.post("alg_delete.asp",
data,
FcltCallbackRefresh,
"json");
}
}
</script>
<%
function regio_list(pautfunction, params)
{
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
var addButton = [];
var authparams = alg.checkAutorisation();
var canAdd = (authparams.mALGwritelevel < 1);
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var showall = params.showall;
var reg_key = params.reg_key;
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteRegio(oRs("alg_regio_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
%>
<html>
<head>
<% FCLTHeader.Generate({outputmode: outputmode}); %>
</head>
<body id="listbody">
<%
var sqln = "SELECT r.alg_regio_key, "
+ " r.alg_regio_omschrijving "
+ " FROM alg_regio r "
+ " WHERE r.alg_regio_verwijder IS NULL ";
if (authparams.ALGreadlevel > -1)
{ // Er is een scope-beperking van kracht
sqln += " AND r.alg_regio_key IN "
+ "(SELECT alg_regio_key FROM fac_v_my_regions "
+ "WHERE prs_perslid_key="+user_key
+ " AND niveau=" + authparams.ALGreadlevel + ")";
}
if (reg_key)
{
sqln += " AND r.alg_regio_key = " + reg_key;
}
var addurl = "appl/alg/alg_regio.asp";
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
if (canAdd)
{
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
}
var rst = new ResultsetTable({sql:sqln,
keyColumn: "alg_regio_key",
ID: "algtable",
showAll: showall,
rowData: fnrowData,
rowActionEnabler: fnrowActionEnabler,
outputmode: outputmode,
filterParams: params,
buttons: addButton
});
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "alg_regio_omschrijving"}));
rst.addAction({ action: "districtEdit", caption: L("lcl_edit"), isDefault: true});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", multi: true, multiOnce: true});
rst.addAction({ action: "gotoDetails", caption: L("lcl_goto_district_list")});
var cnt = rst.processResultset();
%>
</body>
</html>
<%}%>