savepoint

svn path=/Website/trunk/; revision=29
This commit is contained in:
Peter Feij
2009-10-23 18:08:02 +00:00
parent d9c1baee5b
commit 00e6853236
6 changed files with 988 additions and 0 deletions

113
APPL/PRS/prs_bedrijf.asp Normal file
View File

@@ -0,0 +1,113 @@
<%@language = "javascript" %>
<%/*
$Revision: 1 $
$Modtime: 19-10-09 17:47 $
File: prs_bedrijf.asp
Status: x%
Description: Muteerscherm voor bedrijven (intern en extern)
dit is de grote 'wrapper' voor de diverse andere schermen
Parameters: urole
bedrijf_key
Context:
Note:
*/ %>
<!--#include file="../../cust/install.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!--#include file="../Shared/algautlevel.inc" -->
<!--#include file="prs.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest","jQuery"],
js: ["expand_frame.js", "FCLTMgr.js", "jquery-ui.js"],
css: ["../shared/suggest/suggest.css"]}); // css for childframes})
// AUTORISATIEPARAMETERS
var bedrijf_key = getQParamInt("bedrijf_key", -1);
var intern = getQParam("intern", 0) == "1"; // alleen te gebruiken bij NEW
if (bedrijf_key > 0)
{
// controleer PRSMAN/RELMAN lees/schrijf autorisaties
var sql = "SELECT prs_bedrijf_intern FROM prs_bedrijf WHERE prs_bedrijf_key=" + bedrijf_key;
oRs = Oracle.Execute(sql);
if ( !oRs.eof ) {
intern = oRs("prs_bedrijf_intern").value == "1";
}
}
if (intern)
autfunction = "WEB_PRSMAN";
else
autfunction = "WEB_RELMAN";
authparams = user.checkAutorisation(autfunction);
%>
<html>
<head>
<%
FCLTHeader.Generate();
%>
<script type="text/javascript" >
function bedrijfClose(params)
{
if (params.redirect)
{
window.location.href = params.redirect;
return true;
}
<% if (bedrijf_key ==-1) { %>
if (params.cancel || params.close)
{
FcltMgr.closeDetail(window, params );
return true;
}
// todo FcltMgr.setTitle("<%=lcl_complain%> " + params.mld_key, {hot:false});
// Altijd complete reload, we hebben nu een mld_key namelijk
window.location.href = "prs_bedrijf.asp?bedrijf_key=" + params.bedrijf_key;
<% } else { // Bestaande melding bewerkt, switch naar show-mode %>
$("#prsFrame")[0].src = "prs_show_bedrijf.asp?bedrijf_key=<%=bedrijf_key%>";
<% } %>
}
</script>
</head>
<body id="editbody">
<%
if (bedrijf_key == -1)
{
var page="prs_edit_bedrijf.asp"; // Maak een nieuw
}
else {
var page="prs_show_bedrijf.asp";
}
// 1. Het hoofdframe
page += "?bedrijf_key="+bedrijf_key;
IFRAMER("prsFrame", page, { title: "lcl_prs_bedrijf_frame_algemeen",
initHeight: "450px",
FcltClose: "bedrijfClose" } );
if ( bedrijf_key > -1 ) {
// 2. De contactpersonen
page="prs_contactpersoon_list.asp?embedded=1&bedrijf_key="+bedrijf_key;
IFRAMER("prscontactpersonen", page, { refreshOnClose: true, initHide: true } );
// 3. De dienstenxlocatie
page="prs_dienstloc_list.asp?embedded=1&bedrijf_key="+bedrijf_key;
IFRAMER("prsdiensten", page, { refreshOnClose: true, initHide: true } );
// if (false) { // future extension
// page = "mld_show_note.asp?embedded=1&urole="+urole+"&mld_key="+mld_key+transitParam;
// IFRAMER("noteFrame", page, {refreshOnClose: true, initHide: true } );
// }
}
%>
</body>
</html>

View File

@@ -0,0 +1,170 @@
<%@language = "javascript" %>
<% /*
$Revision: 1 $
$Modtime: 23-10-09 18:54 $
File: prs_bedrijf_search.asp (formerly companysearch.asp;27)
Status: 80%
Description: Toont zoekvelden voor lijst van bedrijven
Parameters: {NADER UITWERKEN}
Context: Vanuit menu
Note: De submitbutton kost ruimte. Moet binnen form maar waar is die het legaalst?
*/ %>
<!-- #include file="../../cust/install.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/escape.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<%
// suggest en jQuery worden door persoonselector.inc, plaatsselector.inc en afdelingselector.inc al als plugin toegevoegd
// plaatsselector.js wordt door plaatsselector.inc als js script toegevoegt
FCLTHeader.Requires({plugins:["jQuery", "kenmerk"],
js: ["expand_frame.js"]});
/***** Get webform parameters *****/
var loc_key = getQParam("locatie_key", -1);
var intern = getQParam("intern", -1) == 1;
var autosearch = getQParam("autosearch", -1) == 1;
// optional prefilling params
var pcompanyName = getQParam("pcompanyName", -1);
var pbezoekPostcode = getQParam("pbezoekPostcode", -1);
var pbezoekPlaats = getQParam("pbezoekPlaats", -1);
var pdienst_key = getQParam("pdienst_key", -1);
var pdienst_key = getQParam("pdienst_key", -1);
var pcontactPrs = getQParam("pcontactPrs", -1);
/***** End get webform parameters *****/
// So what authorization must we check?
var autfunction = "";
if (intern)
autfunction = "WEB_PRSMAN"; // TODO of PRSUSE?
else
autfunction = "WEB_RELMAN";
var authparams = user.checkAutorisation(autfunction);
// VALIDATE AND PREPARE
var there_is_dienst = false;
var tsql = "SELECT prs_dienst_key FROM prs_dienst";
var toRs = Oracle.Execute( tsql );
if ( !toRs.eof ) { there_is_dienst = true; }
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script t type="text/javascript">
function doSubmit()
{
<% if (false) // TODO: flexzoeken
{ %>
// Submitten met kenmerken
// doSubmitWithKenmerken(getSrtdeelString());
<% }
else
{ %>
document.forms.u2.submit();
<% } %>
}
function myModal()
{
var lvl = "";
var key = 0;
var bld_key = "";
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&niveau=B";
var titel = "";
showKenmerkModal(key, url, titel)
}
</script>
</head>
<body id="searchbody">
<div id="search">
<% BLOCK_START("searchtable", lcl_filterblok);%>
<form name="u2" method="get" action="prs_bedrijf_search_list.asp" target="workFrame">
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
<tr class="primsearch">
<td class="label"><label for="companyName"><%=lcl_prs_companies_name%>:</label></td>
<td><input type="text" class="fld wildcard" name="companyName" <%=(pcompanyName != -1) ? "value='" + pcompanyName + "'" : ""%>></td>
</tr>
<tr class="primsearch">
<td class="label"><label for="bezoekPostcode"><%=lcl_prs_companies_bezoek_postcode%>:</label></td>
<td><input type="text" class="fld wildcard" name="bezoekPostcode" <%=(pbezoekPostcode != -1) ? "value='" + pbezoekPostcode + "'" : ""%>></td>
</tr>
<tr class="primsearch">
<td class="label"><label for="bezoekPlaats"><%=lcl_prs_companies_bezoek_plaats%>:</label></td>
<td><input type="text" class="fld wildcard" name="bezoekPlaats" <%=(pbezoekPlaats != -1) ? "value='" + pbezoekPlaats + "'" : ""%>></td>
</tr>
</table>
</td><!-- end column 1 -->
<!-- Second column -->
<td class="searchkolom2">
<table><!-- x rijen, 2 kolommen: label + veld -->
<% if (there_is_dienst && !intern) { %>
<tr class="primsearch">
<% FCLTplaatsselector(authparams.PRSreadlevel, { locatiekey: loc_key,
startlevel: 2, // locatie
eindlevel: 2, // locatie
whenEmpty: lcl_search_generic // want filter
});
%>
</tr>
<tr class="primsearch">
<td class="label"><label for="dienst"><%=lcl_prs_companies_dienst%>:TODO</label></td>
<td><input type="text" class="fld" name="dienst" <%=(pdienst_key != -1) ? "value='" + pdienst_key + "'" : ""%>></td>
</tr>
<% } %>
<tr class="primsearch">
<td class="label"><label for="contactPrs"><%=lcl_prs_companies_contact_person%>:</label></td>
<td><input type="text" class="fld wildcard" name="contactPrs" <%=(pcontactPrs != -1) ? "value='" + pcontactPrs + "'" : ""%>></td>
</tr>
</table>
</td><!-- end column 2-->
</tr>
<% if (!intern) {%>
<!-- checkboxen -->
<tr>
<td colspan="2">
<div id="statusboxes">
<input type="checkbox" class="fldcheck" name="leverancier" id="leverancier" value="1" CHECKED><label for="leverancier"><%=lcl_prs_companies_leverancier%></label>
<input type="checkbox" class="fldcheck" name="uitvoerende" id="uitvoerende" value="1" CHECKED><label for="uitvoerende"><%=lcl_prs_companies_uitvoerende%></label>
<input type="checkbox" class="fldcheck" name="contract" id="contract" value="1"><label for="contract"><%=lcl_prs_companies_contract%></label>
<input type="checkbox" class="fldcheck" name="huurder" id="huurder" value="1"><label for="huurder"><%=lcl_prs_companies_huurder%></label>
</div>
</td>
</tr>
<% } %>
<input type="hidden" name="intern" value="<%=intern?1:0%>">
<input type="submit" style="width:0px">
</form>
<% BLOCK_END();
var buttons = [ {title: lcl_search, action:"doSubmit()", id:"bSearch" },
{title: lcl_obj_advanced, action:"myModal()", id:"bAdvanced" } ];
CreateButtons(buttons);
%>
</div> <!-- search -->
<div id="result">
<iframe width="100%" height="100%"
src="../Shared/empty.asp"
name="workFrame" id="workFrame"
onload='ExpandFrame("workFrame")'
frameborder="0" scrolling="no">
</iframe>
</div>
<iframe src="../Shared/empty.asp" name="hidFrame" id="hidFrame" style="display:none"></iframe>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<%@language = "javascript" %>
<% /*
$Revision: 1 $
$Modtime: 19-10-09 16:01 $
File: prs_bedrijf_search_list.asp
Description: Vangt de parameters van msg_search op en verwerkt die in een aanroep van msg_list
Parameters: urole
Context: Vanuit prs_bedrijf_search.asp
Note:
*/ %>
<% Response.Expires = 0; %>
<!-- #include file="../../cust/install.inc" -->
<!-- #include file="../Shared/date_sql.inc" -->
<!-- #include file="bedrijf_list.inc" -->
<%
var intern = getQParam("intern", -1) == 1;
var autfunction = "";
if (intern)
autfunction = "WEB_PRSMAN"; // TODO of PRSUSE?
else
autfunction = "WEB_RELMAN";
var authparams = user.checkAutorisation(autfunction);
var outputmode = getQParam("outputmode", 0);
var showall = getQParam("showall", false);
var companyName = getQParam("companyName", -1);
var bezoekPostcode = getQParam("bezoekPostcode", -1);
var bezoekPlaats = getQParam("bezoekPlaats", -1);
var contactpersoon = getQParam("contactPrs", -1);
var locatiekey = getQParam("locatiekey", -1);
var dienstkey = getQParam("dienstkey", -1);
var leverancier = getQParam("leverancier", -1) == 1;
var uitvoerende = getQParam("uitvoerende", -1) == 1;
var contract = getQParam("contract", -1) == 1;
var huurder = getQParam("huurder", -1) == 1;
bedrijf_list ( autfunction,
{ outputmode: outputmode,
showall: showall,
isIntern: intern,
naam: (companyName != -1 ? companyName : null),
postcode: (bezoekPostcode != -1 ? bezoekPostcode : null),
plaats: (bezoekPlaats != -1 ? bezoekPlaats : null),
contactpersoon: (contactpersoon != -1 ? contactpersoon : null),
locatiekey: (locatiekey != -1 ? locatiekey : null),
dienstkey: (dienstkey != -1 ? dienstkey : null),
isLeverancier : leverancier,
isUitvoerende : uitvoerende,
isContractant: contract,
isHuurder: huurder
}
);
%>

View File

@@ -0,0 +1,70 @@
<%@language="javascript"%>
<% /*
$Revision: 1 $
$Modtime: 19-10-09 18:18 $
File: prs_dienstloc_list.asp
Status: x%
Description: Lijst van geleverde diensten door bedrijf berijf_key en/of op locatie locatie_key
Parameters: locatie_key (optioneel)
bedrijf_key (optioneel)
Context: Submit van prs_dienstloc_search.asp
Note:
*/ %>
<!-- #include file="../../cust/install.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<%
var bedrijf_key = getQParamInt("bedrijf_key", -1);
var locatie_key = getQParamInt("locatie_key", -1);
FCLTHeader.Requires({plugins:["jQuery"],
js: ["expand_frame.js", "FCLTMgr.js"]})
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
</head>
<body id="listbody">
<%
var autfunction = 'WEB_RELMAN';
var authparams = user.checkAutorisation(autfunction);
var sql = "SELECT"
+ " b.prs_bedrijf_key"
+ ", prs_bedrijf_naam"
+ ", prs_dienst_omschrijving"
+ ", alg_locatie_omschrijving"
+ ", prs_bedrijfdienstlocatie_key"
+ " FROM alg_v_aanweziglocatie l, prs_dienst d, prs_bedrijfdienstlocatie dl, prs_bedrijf b"
+ " WHERE dl.ALG_LOCATIE_KEY = l.ALG_LOCATIE_KEY(+)"
+ " AND d.PRS_DIENST_KEY = dl.PRS_DIENST_KEY"
+ " AND dl.PRS_BEDRIJF_KEY = b.PRS_BEDRIJF_KEY"
+ (bedrijf_key != -1 ? " AND b.prs_bedrijf_key = " + bedrijf_key : "")
+ (locatie_key != -1 ? " AND l.alg_locatie_key = " + locatie_key : "")
+ " ORDER BY b.prs_bedrijf_naam_upper, prs_dienst_omschrijving, alg_locatie_upper";
var rst = new ResultsetTable({ sql: sql,
ID: "contacttable",
title: lcl_prs_companies_dienst_title,
keyColumn: "prs_bedrijfdienstlocatie_key"
});
if (bedrijf_key == -1)
rst.addColumn(new Column({caption: lcl_prs_companies_name, content: "prs_bedrijf_naam"}));
rst.addColumn(new Column({caption: lcl_prs_companies_dienst, content: "prs_dienst_omschrijving"}));
if (locatie_key == -1)
rst.addColumn(new Column({caption: lcl_location, content: "alg_locatie_omschrijving"}));
// todo: .withHandlerPage("prsdienst.asp"+(intern?"?intern=1":""));
rst.processResultset();
%>
</body>
</html>

169
APPL/PRS/prs_phonebook.asp Normal file
View File

@@ -0,0 +1,169 @@
<%@language = "javascript" %>
<% /*
$Revision: 1 $
$Modtime: 13-10-09 18:48 $
File: prs_phonebook.asp (formerly phone_book.asp;29)
Status: 80%
Description: Toont frontend zoekvelden voor lijst van personen (telefoongids)
Parameters: {NADER UITWERKEN}
Context: Vanuit menu
Note:
TODO: overdreven checks op parameters verschonen.
default-actie definieren (optioneel personendetails)
mode 4?
*/ %>
<!-- #include file="../../cust/install.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #xxinclude file="../Shared/escape.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../Shared/afdelingselector.inc" -->
<%
// suggest en jQuery worden door persoonselector.inc, plaatsselector.inc en afdelingselector.inc al als plugin toegevoegd
// plaatsselector.js wordt door plaatsselector.inc als js script toegevoegt
FCLTHeader.Requires({plugins:["jQuery", "kenmerk"],
js: ["expand_frame.js"]});
/***** Get webform parameters *****/
var autfunction = "WEB_PHONEB";
var authparams = user.checkAutorisation(autfunction);
%>
<head>
<% FCLTHeader.Generate(); %>
<script type="text/javascript">
function startSearch(mode)
{
if (mode==4) // Overige telefoons is een usrrap
{
var url = "../Usrreport/UsrreportData.asp?key=<%=phone_usrrap_key%>&sqlWhere=";
if (u2.bld && u2.bld.selectedIndex>0)
{
var bldkey = u2.bld.options[u2.bld.selectedIndex].value;
url += "FCLT_3D_GEBOUW_KEY=" + bldkey;
}
else
if (u2.t_loc && u2.t_loc.selectedIndex>0)
{
var lockey = u2.t_loc.options[u2.t_loc.selectedIndex].value;
url += "FCLT_3D_LOCATIE_KEY=" + lockey;
}
//&sqlWhere=");
window.frames.workFrame.navigate(url);
return;
}
document.forms.u2.mode.value = String(mode);
document.forms.u2.submit();
return;
window.frames.workFrame.navigate(cmd);
}
</script>
</head>
<body id="searchbody">
<div id="search">
<% BLOCK_START("searchtable", lcl_filterblok);%>
<form method=get action="prs_phonebook_list.asp" target=workFrame name="u2" onsubmit='startSearch(1);return false'>
<tr>
<td class="searchkolom1">
<table><!-- x rijen, 2 kolommen: label + veld -->
<tr class="primsearch">
<td class="label">
<input type=hidden name=mode>
<label for="companyName"><%=lcl_name%>:</label></td>
<td><input type="text" class="fld wildcard" name="Naam"></td>
</tr>
<% if (phone_show_functie) { %><tr><%
sql = "SELECT prs_srtperslid_key, prs_srtperslid_omschrijving, prs_srtperslid_upper"
+ " FROM prs_v_aanwezigsrtperslid"
+ " ORDER BY 3";
FCLTselector("func", sql, {label: lcl_prs_person_function,
emptyOption: ""
});
%></tr><%
}
%>
<tr class="primsearch">
<td class="label"><label for="Telefoon"><%=lcl_pb_phone%>:</label></td>
<td><input type="text" class="fld wildcard" name="Telefoon"></td>
</tr>
<%
if (prs_plaats_key == -1) // Gewone locatie listbox
{
%><tr class="primsearch"><%
FCLTplaatsselector(authparams.PRSreadlevel, { locatiekey: null,
startlevel: 2, // locatie
eindlevel: 4, // verdieping
whenEmpty: lcl_search_generic // want filter
});
%></tr><%
}
%>
</table>
</td><!-- end column 1 -->
<!-- Second column -->
<td class="searchkolom2">
<table><!-- x rijen, 2 kolommen: label + veld -->
<tr class="primsearch"><%
FCLTselector("bedrijf", "select prs_bedrijf_key, prs_bedrijf_naam FROM prs_v_aanwezigbedrijf where prs_bedrijf_intern=1 ORDER BY 2",
{ label: lcl_company,
emptyOption: "",
whenEmpty: lcl_search_generic // want filter
}
)
%></tr><tr><%
for( i=1; i<=prs_max_dep_level; i++ ) {
FCLTafdelingselector("niv"+i, "niv"+i,
{label: eval("lcl_dep_name_level"+""+i),
filtercode: i
})
%></tr><%
}
%><tr class="primsearch">
<td class="label"><label for="nivwc"><%=lcl_pb_organization %>:</label></td>
<td><input type="text" class="fldsrch wildcard" name="nivwc" value=""></td>
</tr>
</table>
</td><!-- end column 2-->
</tr>
</table>
<input type="submit" style="width:0px">
<!-- CUST specific announcement (optional) -->
<center><% =prs_phonebook_info %></center>
</form>
<% BLOCK_END();
var buttons = [ {title: lcl_search_pers, action:"startSearch(1)", id:"bSearchP" } ];
if (ph_loc_search) {
buttons.push({title: lcl_search_org, action:"startSearch(2)", id:"bSearchL" } );
}
if (ph_bedr_search) {
buttons.push({title: lcl_search_bedr, action:"startSearch(3)", id:"bSearchB" } );
}
if (phone_usrrap_key>-1) {
buttons.push({title: lcl_pb_customrapport, action:"startSearch(4)", id:"bSearchC" } );
}
CreateButtons(buttons);
%>
</div> <!-- search -->
<div id="result">
<iframe width="100%" height="100%"
src="../Shared/empty.asp"
name="workFrame" id="workFrame"
onload='ExpandFrame("workFrame")'
frameborder="0" scrolling="no">
</iframe>
</div>
</body>
</html>

View File

@@ -0,0 +1,407 @@
<%@ language = "JavaScript" %>
<% /*
$Revision: 1 $
$Modtime: 22-10-09 15:56 $
File: prs_phonebook_list.asp (was PhoneSearch.asp;47)
Status: 80%
Description: Toont telefoonboek zoekresultaten
Parameters:
mode: 1 personen, 2 locaties, 3 bedrijven, 4 usrrap (maar die nooit hier)
xxxxxxx: Diverse filtervelden
Global settings:
prs_plaats_key: als >-1: gebruik een flexkenmerk (stand)plaats ipv. locatie via werkplek
locphone_kenmerk_key: als >-1 dan heeft locatie een flexkenmerk telefoon
locfax_kenmerk_key: als >-1 dan heeft locatie een flexkenmerk fax
Context: Workframe van prs_phonebook.asp
Note: MOET MOGELIJK NOG GEBRUIK GAAN MAKEN VAN prs_list.inc etc
TODO: overdreven checks op parameters verschonen.
default-actie definieren (optioneel personendetails)
mode 4?
De oplossing voor meerdere werkplekken -> 1 regel
*/ %>
<% Response.Expires = -1; %>
<!-- #include file="../../cust/install.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<%
FCLTHeader.Requires({plugins:["jQuery"],
js: ["expand_frame.js", "wpos.js", "FcltMgr.js"]});
var mode = getQParamInt("mode");
var outputmode = getQParam("outputmode", 0);
var showall = getQParam("showall", 0);
__Log('mode : '+mode);
%>
<html>
<head>
<%
FCLTHeader.Generate({ outputmode: outputmode });
var autfunction = "WEB_PHONEB";
var authparams = user.checkAutorisation(autfunction);
%>
<script type="text/javascript">
function gotProfiel()
{
selRow = GetCurRow();
if (selRow != 0) {
window.navigate("../Authoriz/authoriz.asp?prs_key=" +
document.all.item("item" + selRow).innerHTML + "&nobuttons=1");
parent.document.frames.cbuttons.navigate('phbuttons.asp?prs=1');
}
}
function gotoFgraph(key)
{
fwnd = window.open('../FGII/ShowRoom.asp?rKey=' + key, 'FGShow',
"width=640,height=480,directories=no,location=no,menubar=no,"
+ "resizable=yes,status=no,titlebar=yes,toolbar=no");
fwnd.focus();
}
function doPhoto(key)
{
photo = window.open('ShowPictures.asp?prs_key='+key,'PhotoWin', 'scrollbars=no width=320,height=320,resizable=no');
photo.focus();
}
</script>
<body id="listbody">
<%
name = getQParam("Naam", "").toUpperCase();
func = getQParamInt('func', -1 );
locat = getQParamInt('locatiekey', -1);
bld = getQParamInt('gebouwkey', -1);
flr = getQParamInt("verdiepingkey", -1);
tel = ('' + Request.QueryString("Telefoon") ).toUpperCase();
place = ('' + Request.QueryString("place") ).toUpperCase();
comp = getQParamInt('bedrijf', -1);
niv1 = getQParamInt('Niv1', -1);
niv2 = getQParamInt('Niv2', -1);
niv3 = getQParamInt('Niv3', -1);
niv4 = getQParamInt('Niv4', -1);
niv5 = getQParamInt('Niv5', -1);
nivwc = getQParam('nivwc', -1);
sql = "";
switch (mode) {
case 1: // Personen zoeken
var RealWP = "(SELECT prs_alg_ruimte_key, ppw.prs_perslid_key, prs_werkplek_virtueel"
+ " FROM prs_werkplek pw, prs_v_aanwezigperslidwerkplek ppw"
+ " WHERE ppw.prs_werkplek_key = pw.prs_werkplek_key)"
sql = "SELECT DISTINCT " /// pf: distinct is used here to handle multiple workplaces for authorization only
+ "p.prs_perslid_key, "
+ prs_pers_string + " Naam,"
+ prs_dep_string + " Afdeling,"
if (prs_plaats_key > -1)
sql += "prs_kenmerklink_waarde Locatie,0 prs_werkplek_virtueel,";
else
sql += "alg_ruimte_aanduiding Locatie, prs_werkplek_virtueel,"
+ " w.prs_alg_ruimte_key alg_ruimte_key," // For FGraph
sql +="p.prs_perslid_telefoonnr Telefoonnr,"
+ "p.prs_perslid_mobiel Mobielnr,"
+ "p.prs_perslid_email Email";
if (prs_photo_kenmerk_key>0 && ph_rowdetails!=1) // Photo via symbooltje
{
sql += ", (select PRS_KENMERKLINK_WAARDE "
+ " from PRS_v_aanwezigKENMERKLINK PIC"
+ " WHERE PIC.PRS_KENMERK_KEY = " + prs_photo_kenmerk_key
+ " AND PIC.PRS_LINK_KEY = P.PRS_PERSLID_KEY) FOTOPUBLIEK";
}
sql += ", (select prs_afdeling_omschrijving from prs_afdeling"
+ " where prs_afdeling_key = d.PRS_AFDELING_PARENTKEY) parentafdeling";
sql += ", p.prs_perslid_key prs_perslid_key"
+ ", p.prs_perslid_upper" // for sorting only
+ " FROM prs_v_aanwezigperslid p"
+ ", prs_v_aanwezigafdeling d";
if (prs_plaats_key > -1) {
sql += ", prs_v_aanwezigkenmerklink plts";
}
else
{
sql += ", "+RealWP+" w"
+ ", alg_v_ruimte_gegevens r"
+ ", alg_v_aanweziglocatie l"
}
sql +=", prs_v_afdeling_boom ab"
+ ", PRS_BEDRIJF b"
+ " WHERE d.prs_afdeling_key(+) = p.prs_afdeling_key"
+ " AND d.prs_afdeling_key = ab.prs_afdeling_key"
+ " AND d.niveau = ab.niveau "
+ " AND d.prs_bedrijf_key=b.prs_bedrijf_key "
+ " AND b.prs_bedrijf_ingids = 1 ";
if (prs_plaats_key > -1) {
sql += " AND plts.prs_kenmerk_key(+) = " + prs_plaats_key;
sql += " AND plts.prs_link_key(+) = p.prs_perslid_key";
}
else
{
sql +=" AND p.prs_perslid_key = w.prs_perslid_key(+)"
+ " AND w.prs_alg_ruimte_key = r.alg_ruimte_key(+)"
+ " AND r.alg_locatie_key = l.alg_locatie_key(+)"
}
if ( name != -1 && name != "" ){
sql += " AND p.prs_perslid_upper LIKE UPPER('" + replace(name,"'","''") + "%')";
}
if ( ((func != 0) && (func != "") && (func != -1) && (!isNaN(func)) )) {
sql += " AND p.prs_srtperslid_key = " + func;
}
if ( tel != "" && tel != 0 && tel !=null && tel != "undefined" && tel != "UNDEFINED" )
sql += " AND UPPER(p.prs_perslid_telefoonnr) LIKE '"% + tel + "%'";
if (prs_plaats_key != -1 && place != "" && place != 0 && place !=null && place != "undefined" && place != "UNDEFINED" )
sql += " AND UPPER(plts.prs_kenmerklink_waarde) LIKE '%" + place + "%'";
if ( locat != -1 ) {
sql += " AND l.alg_locatie_key = " + locat;
}
if ( bld != -1 ) {
sql += " AND r.alg_gebouw_key = " + bld;
}
if ( flr != -1 ) {
sql += " AND r.alg_verdieping_key = " + flr;
}
// authorization of location/place
if (authparams.ALGreadlevel > -1) {
sql += " AND l.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations"
+ " WHERE prs_perslid_key="+user_key+" AND niveau="+authparams.ALGreadlevel+")";
}
if ( prs_plaats_key == -1 && place != "" && place != 0 && place !=null && place != "undefined" && place != "UNDEFINED" ) {
sql += " AND UPPER(l.alg_locatie_plaats) LIKE '" + place + "%'";
}
if (comp != -1) {
sql += " AND ab.prs_bedrijf_key = " + comp;
}
if (niv1 != -1) {
sql += " AND ab.prs_afdeling_key1 = " + niv1;
}
if (niv2 != -1) {
sql += " AND ab.prs_afdeling_key2 = " + niv2;
}
if (niv3 != -1) {
sql += " AND ab.prs_afdeling_key3 = " + niv3;
}
if (niv4 != -1) {
sql += " AND ab.prs_afdeling_key4 = " + niv4;
}
if (niv5 != -1) {
sql += " AND ab.prs_afdeling_key5 = " + niv5;
}
if ( nivwc != -1) {
sql += " AND "+prs_dep_string+" LIKE '%" + nivwc + "%'";
}
// authorization of organization
if (authparams.PRSreadlevel==0) {
sql += " AND ab.prs_bedrijf_key = " + "(SELECT prs_bedrijf_key"
+ " FROM PRS_V_AANWEZIGPERSLID p, PRS_V_AANWEZIGAFDELING d"
+ " WHERE p.PRS_AFDELING_KEY = d.PRS_AFDELING_KEY"
+ " AND p.prs_perslid_key = " + user_key + ")";
}
if (authparams.PRSreadlevel>prs_max_dep_level) { //No rights
sql += " AND 1=0";
//sql += " AND ab.prs_afdeling_key" + ((authparams.PRSreadlevel>5)?5:authparams.PRSreadlevel) + " IN (SELECT prs_afdeling_key FROM fac_v_my_prs_afdelingen_read "
// + " WHERE prs_perslid_key = " + user_key + " AND fac_functie_code = 'WEB_PHONEB')";
}
else {
for(i=1;i<=((authparams.PRSreadlevel>prs_max_dep_level)?prs_max_dep_level:authparams.PRSreadlevel);i++){
sql += " AND ab.prs_afdeling_key" + i + " IN " + "(SELECT ab.prs_afdeling_key" + i
+ " FROM prs_v_afdeling_boom ab, prs_v_aanwezigperslid p"
+ " WHERE ab.prs_afdeling_key = p.prs_afdeling_key"
+ " AND p.prs_perslid_key = " + user_key + ")";
}
}
sql += " AND PRS_PERSLID_UPPER NOT LIKE '[%'";
sql += " AND PRS_PERSLID_UPPER NOT LIKE 'LEEG [%'";
sql += " AND PRS_PERSLID_UPPER NOT LIKE '\\_%' ESCAPE '\\'"; // bugfix FSN#16377
sql += " ORDER BY p.prs_perslid_upper";
break;
case 2: // Locaties zoeken
sql = "SELECT l.alg_locatie_key, l.alg_locatie_omschrijving, l.alg_locatie_adres,"
+ " l.alg_locatie_postcode, alg_locatie_plaats, l.alg_locatie_upper" // for sorting only
if (locphone_kenmerk_key > -1) {
sql += ",(select alg_onrgoedkenmerk_waarde"
+ " from alg_onrgoedkenmerk where alg_kenmerk_key = " + locphone_kenmerk_key
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND alg_onrgoed_key(+) = l.alg_locatie_key) ph";
}
if (locfax_kenmerk_key > -1) {
sql += ",(select alg_onrgoedkenmerk_waarde"
+ " from alg_onrgoedkenmerk where alg_kenmerk_key = " + locfax_kenmerk_key
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
+ " AND alg_onrgoed_key(+) = l.alg_locatie_key) fx";
}
sql +=" FROM alg_v_aanweziglocatie l";
sql += " WHERE 1=1";
if ( ((locat != 0) && (locat != "") && (locat != -1) && (!isNaN(locat)) )) {
sql += " AND l.alg_locatie_key = " + locat;
}
// authorization of location/place
if (authparams.ALGreadlevel > -1) {
sql += " AND l.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations"
+ " WHERE prs_perslid_key="+user_key+" AND niveau="+authparams.ALGreadlevel+")";
}
// if (place != "" && place != 0 && place !=null && place != "undefined" && place != "UNDEFINED" ) {
// sql += " AND UPPER(l.alg_locatie_plaats) LIKE '" + place + "%'";
// }
if (name != "" && name != 0 && name !=null && name != "undefined" && name != "UNDEFINED" ) {
sql += " AND UPPER(l.alg_locatie_plaats) LIKE '" + name + "%'";
}
sql += " ORDER BY l.alg_locatie_upper ";
break;
case 3: // Bedrijven zoeken
sql = "SELECT prs_bedrijf_key, prs_bedrijf_naam, prs_bedrijf_telefoon, "
+ " prs_bedrijf_fax, prs_bedrijf_bezoek_adres, prs_bedrijf_bezoek_plaats, "
+ " prs_bedrijf_email Email"
+ " FROM prs_bedrijf"
+ " WHERE prs_bedrijf_ingids = 1"
+ " AND prs_bedrijf_verwijder IS NULL";
if ( name != -1 && name != "" ){
sql += " AND prs_bedrijf_naam_upper LIKE UPPER('" + replace(name,"'","''") + "%')";
}
if (place != "" && place != 0 && place !=null && place != "undefined" && place != "UNDEFINED" ) {
sql += " AND UPPER(prs_bedrijf_bezoek_plaats) LIKE '" + place + "%'";
}
if ( ((comp != 0) && (comp != "") && (comp != -1) && (!isNaN(comp)) )) {
sql += " AND prs_bedrijf_key = " + comp;
}
sql += " ORDER BY prs_bedrijf_naam_upper";
break;
default:
sql = "SELECT 'internal error' FROM DUAL";
}
function fnEmail (oRs) {
if ( oRs("Email").Value != null )
return"<a href='mailto:"+oRs("Email")+"'>"+oRs("Email")+"</a>";
else
return "";
}
function fnLocatie (oRs) {
if (ph_placeFG==1 && oRs("alg_ruimte_key").Value != null) // Klikbaar FGII TODO: FcltMgr gebruiken
return "<a onclick='gotoFgraph("+oRs("alg_ruimte_key").Value+");' target=_new>"+oRs("locatie")+"</a>";
else
return oRs("locatie").value==null ? "" : Server.HTMLEncode(oRs("locatie"));
}
function fnPhoto (oRs) {
if (prs_photo_kenmerk_key>0 && ph_rowdetails!=1)
{ // Photo link als we geen andere details mogen zien
if ( oRs("fotopubliek").Value=="1")
if (outputmode != 0)
return '<img src="..\Pictures\phframe.gif">';
else
return '<img class="details" src="../Pictures/phframe.gif" OnClick="doPhoto('+oRs("prs_perslid_key").Value+')"></TD>';
else
return ""; // Geen foto
}
}
switch (mode)
{
case 1: // personen
var rst = new ResultsetTable({ keyColumn: "prs_perslid_key",
sql: sql,
ID: "perslidtable",
outputmode: outputmode,
title: lcl_search_pers,
showAll: showall
});
// TODO: deze functionaliteit herstellen
// if (oRs("prs_werkplek_virtueel").value == 1)
// {
// count--;
// oRs.MoveNext();
// continue; // Deze regel niet tonen/meetellen
// }
rst.addColumn(new Column({caption: lcl_name, content: "Naam" }));
rst.addColumn(new Column({caption: lcl_pb_afdeling, content: "Afdeling" }));
if (ph_showparentafdeling)
rst.addColumn(new Column({caption: lcl_dep_name_level1, content: "parentafdeling" }));
rst.addColumn(new Column({caption: lcl_location, content: fnLocatie }));
rst.addColumn(new Column({caption: lcl_pb_phone, content: "Telefoonnr" }));
rst.addColumn(new Column({caption: lcl_pb_mobile, content: "Mobielnr" }));
rst.addColumn(new Column({caption: lcl_prs_email, content: fnEmail }));
if (prs_photo_kenmerk_key > 0 && ph_rowdetails!=1)
rst.addColumn(new Column({caption: '<img src="../Pictures/phframe.gif">', content: fnPhoto }));
break;
case 2: // locaties
var rst = new ResultsetTable({ keyColumn: "alg_locatie_key",
sql: sql,
ID: "loctable",
outputmode: outputmode,
title: lcl_search_org,
showAll: showall
});
rst.addColumn(new Column({caption: lcl_location, content: "alg_locatie_omschrijving" }));
if (locphone_kenmerk_key > -1)
rst.addColumn(new Column({caption: lcl_dep_name_level1, content: "ph" }));
if (locfax_kenmerk_key > -1)
rst.addColumn(new Column({caption: lcl_location, content: "fx" }));
rst.addColumn(new Column({caption: lcl_alg_loc_adres, content: "alg_locatie_adres" }));
rst.addColumn(new Column({caption: lcl_alg_loc_postcode, content: "alg_locatie_postcode" }));
rst.addColumn(new Column({caption: lcl_alg_loc_plaats, content: "alg_locatie_plaats" }));
break;
case 3: // bedrijven
var rst = new ResultsetTable({ keyColumn: "prs_bedrijf_key",
sql: sql,
ID: "bedrijftable",
outputmode: outputmode,
title: lcl_search_bedr,
showAll: showall
});
rst.addColumn(new Column({caption: lcl_prs_companies_name, content: "prs_bedrijf_naam" }));
rst.addColumn(new Column({caption: lcl_prs_companies_telefoon, content: "prs_bedrijf_telefoon" }));
rst.addColumn(new Column({caption: lcl_prs_companies_fax, content: "prs_bedrijf_fax" }));
rst.addColumn(new Column({caption: lcl_prs_companies_bezoek_adres, content: "prs_bedrijf_bezoek_adres" }));
rst.addColumn(new Column({caption: lcl_prs_companies_bezoek_plaats, content: "prs_bedrijf_bezoek_plaats" }));
rst.addColumn(new Column({caption: lcl_prs_companies_email, content: fnEmail }));
break;
}
var cnt = rst.processResultset();
%>
</div>
</body>
</html>