Files
Facilitor/APPL/ALG/alg_ruimte_list.inc
2009-10-23 07:22:58 +00:00

248 lines
8.9 KiB
C++

<% /*
$Revision: 2 $
$Modtime: 10/14/09 2:16p $
File: alg_ruimte.inc
Description: Show an overview of ruimte items in list-form,
which meets with the given requirements
Parameters:
Context: Search action from alg_ruimte_search_list.asp form
Note:
*/ %>
<!-- #include file="../Shared/escape.inc" -->
<!-- #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"],
js: []
})
function fnrowData(oRs)
{
var parent_key = oRs("alg_verdieping_key").value;
var detail_key = oRs("alg_ruimte_key").value;
var key = oRs("alg_ruimte_key").value;
var oms = oRs("alg_ruimte_omschrijving").value
var data = {parent_key:parent_key, 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.ROWDATA + ')');
var url = "appl/ALG/alg_werkplek_search.asp?ruimte_key="+algData.detail_key+"&autosearch="+autosearch;
FcltMgr.openDetail(url, "<%=lcl_workspace%>");
}
function gotoParent(row)
{
var algData = eval('(' + row.ROWDATA + ')');
var url = "appl/ALG/alg_verdieping_search.asp?verdieping_key="+algData.parent_key+"&autosearch="+autosearch;
FcltMgr.openDetail(url, "<%=lcl_floor%>");
}
function ruimteEdit(row)
{
var algData = eval('(' + row.ROWDATA + ')');
var url = "appl/ALG/alg_ruimte.asp?mode=viewUpdate&key="+algData.key;
FcltMgr.openDetail(url, "<%=lcl_room%>" + ' ' + algData.oms);
}
function doDelete(row, isMulti)
{
$(row).addClass('dirty');
var room_key = row.ROWKEY;
if (isMulti || confirm("<%=lcl_alg_del_txt_ruimte%>"))
$.post("alg_delete.asp",
{ key: room_key,
level: "R" },
FcltCallback,
"json");
}
</script>
<%
function ruimte_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 < 6);
// 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 loc_key = params.loc_key;
var bld_key = params.bld_key;
var lvl_key = params.lvl_key;
var room_key = params.room_key;
var area_nr = params.area_nr;
var area_descr = params.area_descr;
var area_use = params.area_use
function fnrowActionEnabler(oRs)
{
var eDelete = false;
if (alg.canWriteRuimte(oRs("alg_ruimte_key").value, authparams.mALGwritelevel))
eDelete = true;
return ({eDelete: eDelete})
}
%>
<html>
<head>
<% FCLTHeader.Generate({outputmode:outputmode}) %>
</head>
<body id="listbody">
<%
var sqln = "SELECT r.alg_ruimte_key, "
+ " v.alg_verdieping_key, "
+ " v.alg_gebouw_key, "
+ " g.alg_locatie_key, "
+ " l.alg_locatie_omschrijving, "
+ " g.alg_gebouw_omschrijving, "
+ " v.alg_verdieping_omschrijving, "
+ " r.alg_srtruimte_key, "
+ " s.alg_srtruimte_omschrijving, "
+ " r.alg_ruimte_nr, "
+ " r.alg_ruimte_omschrijving, "
+ " r.alg_ruimte_bruto_vloeropp, "
+ " r.alg_ruimte_opmerking, "
+ " r.alg_ruimte_omtrek, "
+ " r.alg_ruimte_inhoud, "
+ " v.alg_verdieping_code, "
+ " r.alg_ruimte_opp_alt1 "
+ " FROM alg_v_aanwezigruimte r, "
+ " alg_verdieping v, "
+ " alg_gebouw g, "
+ " alg_locatie l, "
+ " alg_srtruimte s "
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key "
+ " AND g.alg_gebouw_key = v.alg_gebouw_key "
+ " AND l.alg_locatie_key(+) = g.alg_locatie_key "
+ " AND s.alg_srtruimte_key(+) = r.alg_srtruimte_key "
+ " AND v.alg_verdieping_verwijder IS NULL ";
if ( authparams.ALGreadlevel > -1 )
{ // Er is een scope-beperking van kracht
sqln += " AND r.alg_ruimte_key IN "
+ "(SELECT alg_ruimte_key FROM fac_v_my_rooms "
+ "WHERE prs_perslid_key="+user_key
+ " AND niveau=" + authparams.ALGreadlevel + ")";
}
sqln += getKenmerkSql("ALG", "r.alg_ruimte_key");
if (room_key)
{
sqln += " AND r.alg_ruimte_key = " + room_key;
}
else if (lvl_key)
{
sqln += " AND v.alg_verdieping_key = " + lvl_key;
}
else if (bld_key)
{
sqln += " AND v.alg_gebouw_key = " + bld_key;
}
else if (loc_key)
{
sqln += " AND g.alg_locatie_key = " + loc_key;
}
if (area_use && area_use != -1)
{
sqln += " AND r.alg_srtruimte_key = " + area_use;
}
if (area_nr)
{
sqln += " AND (UPPER(r.alg_ruimte_nr) LIKE UPPER('%" + area_nr + "%'))"
}
if (area_descr)
{
sqln += " AND (UPPER(r.alg_ruimte_omschrijving) LIKE UPPER('%" + area_descr + "%'))"
}
sqln += " ORDER BY l.alg_locatie_upper ASC, "
+ " g.alg_gebouw_upper ASC, "
+ " v.alg_verdieping_volgnr ASC, "
+ " r.alg_ruimte_upper_nr ASC "
var addurl = "appl/alg/alg_ruimte.asp";
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
if (canAdd)
{
addButton = [{ icon: "plus.png", title: lcl_add, action: "FcltMgr.openDetail('" + addurl + "', '" + lcl_add + "')" }]
}
var rst = new ResultsetTable({sql:sqln,
keyColumn: "alg_ruimte_key",
ID: "algtable",
showAll: showall,
rowData: fnrowData,
rowActionEnabler: fnrowActionEnabler,
outputmode: outputmode,
flexModule: "ALG",
flexId: "alg_ruimte_key",
filterParams: params,
buttons: addButton
});
rst.addColumn(new Column({caption: lcl_estate_gebouw_man_descr, content: "alg_gebouw_omschrijving"}));
rst.addColumn(new Column({caption: lcl_estate_verdieping_man_descr, content: "alg_verdieping_omschrijving"}));
rst.addColumn(new Column({caption: lcl_estate_ruimte_man_nr, content: "alg_ruimte_nr"}));
rst.addColumn(new Column({caption: lcl_estate_ruimte_man_descr, content: "alg_ruimte_omschrijving", hasActions: true}));
rst.addColumn(new Column({caption: lcl_estate_ruimte_man_sort, content: "alg_srtruimte_omschrijving"}));
rst.addColumn(new Column({caption: lcl_estate_ruimte_bruto_vloeropp, content: "alg_ruimte_bruto_vloeropp"}));
/*if (fg_contourlayers_alt1!=""&&fg_labellayers_alt1!="")
{
rst.addColumn(new Column().withCaption(lcl_estate_ruimte_opp_alt1).withContent("alg_ruimte_opp_alt1").withAlign("right"));
}
if (fg_contourlayers_alt2!=""&&fg_labellayers_alt2!="")
{
rst.addColumn(new Column().withCaption(lcl_estate_ruimte_opp_alt2).withContent("alg_ruimte_opp_alt2").withAlign("right"));
} */ // wat moet hier mee gebeuren??
/* if (!embedded)
rst.addColumn(new Column({caption: lcl_estate_locatie_man_descr, content: "alg_locatie_omschrijving"})); */ // emedded uitzoeken
if (outputmode != 0) // to be completed
{
rst.addColumn(new Column({caption: lcl_estate_ruimte_man_opmerk, content: "alg_ruimte_opmerking"}));
rst.addColumn(new Column({caption: lcl_estate_ruimte_man_omtrek, content: "alg_ruimte_omtrek"}));
rst.addColumn(new Column({caption: lcl_estate_ruimte_man_inhoud, content: "alg_ruimte_inhoud"}));
}
rst.addAction({ action: "ruimteEdit", caption: lcl_edit, isDefault: true});
rst.addAction({ action: "doDelete", caption: lcl_delete, multi: true, enabler: "eDelete"});
rst.addAction({ action: "gotoDetails", caption: lcl_goto_werkplek_list});
rst.addAction({ action: "gotoParent", caption: lcl_goto_verdieping_list});
var cnt = rst.processResultset();
%>
</body>
</html>
<%}%>