Files
Facilitor/APPL/PRJ/prj_list.inc
Maykel Geerdink ab3099e794 FSN#35591: Lijst exporteren naar excel zonder kenmerken geeft extra text.
svn path=/Website/trunk/; revision=28293
2016-02-25 09:35:22 +00:00

146 lines
5.8 KiB
C++

<% /*
$Revision$
$Id$
File: prj_list.inc
Description: Definieert de serverside functie prj_list() die een lijst van scenario's toont die
voldoen aan de gegeven parameters/criteria, binnen de readautorisaties van de user.
Parameters: -
Context: -
Note: -
*/ %>
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="prj.inc" -->
<%
FCLTHeader.Requires({ plugins:["suggest", "jQuery"],
js: ["../PRJ/prj_list.js", "jquery-ui.js"]
});
function prj_list (pautfunction, params)
{ // VALIDATE AND PREPARE
// Als een parameter niet gedefinieerd of null is, dan doet-ie niks
// anders wordt die verondersteld een zinvolle waarde te hebben
// NB: -1 is vaak geen zinvolle waarde; null had het dan moeten zijn!
// Valid and supported parameters are:
// params.outputmode : print to 0 = screen, 1 = printer, 2 = excel, etc.
// showall : boolean
// params.scenario : wildcard string
// params.loc_key : key
// params.bld_key : key
// params.verhuisaanvraag: key
//
// if a parameters has a value of -1, then it is assumed not to be set and to be ignored.
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
var authparams = user.checkAutorisation(pautfunction);
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var print = (outputmode == 1 || outputmode == 5);
var excel = (outputmode == 2 || outputmode == 6);
var showall = params.showall;
var scenario = params.scenario;
var loc_key = params.loc_key;
var bld_key = params.bld_key;
var verhuisaanvraag = params.verhuisaanvraag;
%>
<html>
<head>
<%
FCLTHeader.Generate({ outputmode: outputmode });
%>
<script type="text/javascript">
// Text strings used by prj_list.js
</script>
</head>
<body id="listbody">
<%
var sql = "SELECT DISTINCT s.prj_scenario_key"
+ ", s.prj_scenario_omschrijving"
+ ", s.prj_scenario_opmerking"
+ ", p.prs_perslid_naam_full"
+ ", s.prj_scenario_aanmaak"
+ ", s.prj_scenario_datum"
+ ", s.prj_scenario_raming"
+ ", s.mld_melding_key"
+ " FROM prj_scenario s"
+ ", prs_v_perslid_fullnames_all p"
+ ", prj_ruimte rx"
+ ", alg_v_plaatsaanduiding a"
+ ", alg_verdieping v"
+ ", alg_gebouw g"
+ " WHERE s.prs_perslid_key = p.prs_perslid_key(+)"
+ " AND rx.prj_scenario_key(+) = s.prj_scenario_key"
+ " AND a.alg_onroerendgoed_keys(+) = rx.alg_verdieping_key"
+ " AND a.alg_onroerendgoed_type(+) = 'V'" // vermijdt locatie
+ " AND v.alg_verdieping_key(+) = rx.alg_verdieping_key"
+ " AND g.alg_gebouw_key(+) = v.alg_gebouw_key"
+ ((authparams.ALGreadlevel > -1)
? " AND (alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations"
+ " WHERE prs_perslid_key = " + user_key + " AND niveau = " + authparams.ALGreadlevel + ")"
+ " OR alg_locatie_key IS NULL)"
: "");
if (scenario)
sql += " AND UPPER (s.prj_scenario_omschrijving) LIKE " + safe.quoted_sql_wild("%" + scenario + "%");
if (loc_key)
sql += " AND g.alg_locatie_key = " + loc_key;
if (bld_key)
sql += " AND v.alg_gebouw_key = " + bld_key;
if (verhuisaanvraag)
sql += " AND s.mld_melding_key = " + verhuisaanvraag;
sql += " ORDER BY prj_scenario_key"
/**********************************
* Callback functies ResultsetTable
*********************************/
function fnrowActionEnabler(oRs)
{
// Bepaal of de vereiste rechten voor de acties aanwezig zijn voor DIT record.
eEdit = true;
var data = { eEdit: eEdit };
return data;
}
var addurl = "appl/prj/prj_scenario.asp";
var rst = new ResultsetTable({ keyColumn: "prj_scenario_key",
sql: sql,
ID: "prjtable",
rowActionEnabler: fnrowActionEnabler,
filterParams: params,
outputmode: outputmode,
title: L("lcl_prj_verhuis_scenarios"),
showAll: showall,
buttons: [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
});
rst.addColumn(new Column({caption: L("lcl_prj_scenario"), content: "prj_scenario_key"}));
rst.addColumn(new Column({caption: L("lcl_complain"), content: "mld_melding_key"}));
rst.addColumn(new Column({caption: L("lcl_prj_scenario"), content: "prj_scenario_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_prj_behandelaar"), content: "prs_perslid_naam_full"}));
rst.addColumn(new Column({caption: L("lcl_prj_geplande_aanvang"), content: "prj_scenario_datum", datatype: "date", nowrap: true}));
rst.addColumn(new Column({caption: L("lcl_remark"), content: "prj_scenario_opmerking"}));
/* de mogelijke acties */
rst.addAction({ action: "prj_edit", caption: L("lcl_prj_details"), isDefault: true });
var cnt = rst.processResultset();
}
%>