svn path=/Website/trunk/; revision=92

This commit is contained in:
Peter Feij
2009-11-19 12:41:10 +00:00
parent 114a55d692
commit feb6050815
4 changed files with 349 additions and 628 deletions

118
APPL/INS/ins_deel.asp Normal file
View File

@@ -0,0 +1,118 @@
<%@language = "javascript" %>
<%
/* $Revision: 1 $
$Modtime: 19-11-09 9:50 $
File: ins_deel.asp
Status: 0%
Description:
Parameters:
Context:
Note:
*/ %>
<!--#include file="../../cust/install.inc" -->
<!--#include file="../Shared/iface.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: []})
var autfunction = "WEB_INSMAN"; /// TODO of INSUSE
var authparams = user.checkAutorisation(autfunction); //Wat weet ik dan nou van disciplines???
var ins_key = getQParamInt("ins_key", -1);
var inskeystring = getQParam("inskeystring", "-1");
if (ins_key == -1) ins_key = inskeystring; // TODO: multi, dit is om nog ff compatible te blijven
// dit lijkt mij de enige gehele readonlyverklaring, de rest is localer
var readonly = !(authparams.PRSwritelevel< 9 || authparams.ALGwritelevel < 9);
var ins_name = "";
var ins_srtname = "";
var ins_parentkey;
var gevuldLogboek;
if (ins_key > 0)
{
sql = " select ins_deel_omschrijving, ins_deel_parent_key, ins_srtdeel_omschrijving "
+ " FROM ins_deel d, ins_srtdeel sd "
+ " WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key"
+ " AND ins_deel_key = " + ins_key;
oRs = Oracle.Execute(sql);
ins_name = oRs("ins_deel_omschrijving").value;
ins_srtname = oRs("ins_srtdeel_omschrijving").value;
ins_parentkey= oRs("ins_deel_parent_key").value;
sql = "SELECT COUNT(*) "
+ " FROM mld_melding_object"
+ " WHERE ins_deel_key = " + ins_key;
oRs = Oracle.Execute(sql);
gevuldLogboek = oRs(0).value > 0;
}
%>
<html>
<head>
<%
FCLTHeader.Generate();
%>
<script type="text/javascript" >
FcltMgr.setTitle("<%=ins_srtname + " " + ins_name%>", {hot:false});
function insClose(params) // TODO testem, zou toevallig goed zijn anders
{
<% if (ins_key == -1)
{ %>
if (params.cancel)
{
FcltMgr.closeDetail(window, params );
return true;
}
if (!params.keepForm)
window.location.href = "ins_deel.asp?verynew=1&ins_key=" + params.ins_key;
<% } else { // Bestaand object bewerkt, switch naar show-mode %>
if (params.close)
{
FcltMgr.closeDetail(window, { close: true})
}
if (!params.keepForm)
$("#insFrame")[0].src = "ins_show_deel.asp?ins_key=<%=ins_key%>";
<% } %>
}
</script>
</head>
<body id="editbody">
<%
if (ins_key == -1)
var page="ins_edit_deel.asp"; // Maak een nieuw
else
var page="ins_show_deel.asp";
page += "?ins_key=" + ins_key;
IFRAMER("insFrame", page, { title: lcl_ins_frame_algemeen,
initHeight: "150px",
FcltClose: "insClose" } );
// Bijbehorende onderdelen, ook als er geen zijn (om toe te kunnen voegen)
if (ins_key > 0 && ins_parentkey == null) {
page = "ins_list.asp?parent_key=" + ins_key;
IFRAMER("insSubframe", page, { title: lcl_subobjects,
initHide: false,
FcltClose: "insClose" } );
}
// Bijbehorende logmeldingen als die er zijn
if (ins_key > 0 && gevuldLogboek) {
page = "../mld/mld_search_list.asp?ins_key=" + ins_key; // TODO: moet die daar nog wel wat mee doen.
IFRAMER("insMldframe", page, { title: "TODOMeldingen",
initHide: true } );
}
// TODO: verleiding is om hier de op dit object geslaoten contracten in een frame te tonen
// DAT is echter (omdat het er maar weinig zijn en niet hier toegevoegd kunnen worden)
// Kan beter in een ROFIELD bij de algemene gegevens in ins_show_deel (en _edit?)
%>
</body>
</html>

View File

@@ -1,6 +1,6 @@
<% /*
$Revision: 3 $
$Modtime: 18-11-09 12:27 $
$Revision: 4 $
$Modtime: 19-11-09 9:57 $
File: INS/ins_flexkenmerk.inc
Status: 95%
@@ -55,34 +55,6 @@ function generateFlexKenmerkCode(params)
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
var authparams = user.checkAutorisation(autfunction);
/*
%><script><%
// TODO: DIT MOET UIT LOAD_KENMERK.ASP. HEEFT NIETS MET FLEXKENMERKEN TE MAKEN. MOET NAAR MLD_EDIT*.ASP
var sort = parseInt( Request.QueryString("sort"), 10 );
var loc = parseInt( Request.QueryString("loc"), 10 );
var parent = parseInt( Request.QueryString("parent"), 10 );
var val_seperator = '';
if( !isNaN(loc) && isNaN(ins_key)) {
sql = "SELECT " +
+ "FAC_F_FAC_GET_DESCRIPTION('"+(isNaN(parent)?"LPN_INS_DEEL":"LPN_INS_ONDERDEEL")+"',"
+ (isNaN(parent)?loc:parent) // scope for uniqueness could be location (unused) or parent
+ ", ins_srtdeel_code_upper, "+sort+")"
+ " FROM ins_srtdeel WHERE ins_srtdeel_key="+sort;
oRs = Oracle.Execute( sql );
if( !oRs.eof ) { %>
if( parent )
if( parent.u2 )
if( parent.u2.desc )
//if( ! parent.u2.desc.value )
parent.u2.desc.value = XX'< %= escape_js(oRs(0).Value) % >';
< % }
oRs.close();
}
%>
</script>
<%
*/
function isReadonly (volgnummer)
{
if ((autfunction != 'WEB_INSMAN') && (volgnummer <= 100))
@@ -115,7 +87,7 @@ parent.u2.desc.value = XX'< %= escape_js(oRs(0).Value) % >';
+ " k.ins_kenmerk_default kenmerk_default, " // 15
+ " k.ins_kenmerk_verplicht kenmerk_verplicht, " // 16
+ " NULL otherpath, " // 17
+ (fronto // TODO: PF vindt dit dubieus, nagaan of verklaren hier!
+ (true || fronto // TODO: PF vindt dit dubieus, nagaan of verklaren hier!
? " CASE WHEN (k.ins_kenmerk_volgnummer > 900)"
+ " THEN 0"
+ " ELSE 1"
@@ -150,7 +122,7 @@ parent.u2.desc.value = XX'< %= escape_js(oRs(0).Value) % >';
listKenmerk(sql,
"INS",
"I" + (ins_key > 0? ins_key : tmp_folder),
{ kenmerk_2col: (advanced? true : false), // In edit mode kenmerken onder elkaar en niet in 2 kolommen.
{ kenmerk_2col: true,
kenmerk_search: advanced,
kenmerk_colspan: false,
fnIsReadonly: isReadonly,

View File

@@ -1,6 +1,6 @@
/*
$Revision: 1 $
$Modtime: 28-09-09 17:45 $
$Revision: 2 $
$Modtime: 19-11-09 14:47 $
Status: 90%
*/
@@ -169,16 +169,16 @@ function insEdit(rowArray, isMulti, mode)
{
if (fgraph)
{
var url = 'Appl/INS/ins_loader.asp?inskeystring=' + insKeyString
var url = 'Appl/INS/ins_deel.asp?inskeystring=' + insKeyString
+ '&urole=' + urole;
}
else
{
var url = 'Appl/INS/ins_loader.asp?inskeystring=' + insKeyString
var url = 'Appl/INS/ins_deel.asp?inskeystring=' + insKeyString
+ '&urole=' + urole
+ (mode && mode == "LendOut"? '&free=1' : '');
}
FcltMgr.openDetail(url, "lcl_object xx");
FcltMgr.openDetail(url, "");
}
}
@@ -192,7 +192,9 @@ function insDelete(rowArray, isMulti)
{
// @@TODO: gebruik van showModalDialog is hier niet zo mooi. Deze geeft een extra popup scherm die geen functie heeft.
var sFeatures = "dialogHeight:260px;dialogWidth:600px;status=no;dialogHide=yes";
var url = "../INS/ins_loader.asp?doDelete=1&inskeystring=" + insKeyString + '&urole=' + urole + (isMulti? "&ismulti=1" : "");
var url = "../INS/ins_deel.asp?doDelete=1&inskeystring=" + insKeyString + '&urole=' + urole + (isMulti? "&ismulti=1" : "");
// TODO zoiets lijkt mij dan
var url = "../INS/ins_delete.asp?inskeystring=" + insKeyString + '&urole=' + urole + (isMulti? "&ismulti=1" : "");
var result = window.showModalDialog("../shared/ModalForm.asp", url, sFeatures);
if (!result)
return false; // cancel of niet voldoende rechten

View File

@@ -1,645 +1,274 @@
<%@ language="javascript"%>
<% /*
$Revision: 1 $
$Modtime: 15-09-09 9:28 $
$Revision: 2 $
$Modtime: 19-11-09 10:01 $
File: ins_show_deel.asp (was ins_info.asp)
Status: 0%
Description:
Parameters:
Context:
Note:
*/ %>
<% Response.Expires = 0;
noCharSet = true; %>
<!--#include file="../../cust/install.inc"-->
<!--#include file="../Shared/escape.inc"-->
<!--#include file="../Shared/iface.inc"-->
<!-- #include file="../Shared/funcodes.inc" -->
<!-- #include file="../Shared/group.inc" -->
<!-- #include file="../Shared/resultset_table.inc" -->
<!-- #include file="../../cust/install.inc"-->
<!-- #include file="../Shared/escape.inc"-->
<!-- #include file="../Shared/iface.inc"-->
<!-- #XXinclude file="../Shared/group.inc" -->
<!-- #XXinclude file="../Shared/resultset_table.inc" -->
<!-- #include file="../Shared/datetime.inc" -->
<!--#include file="./load_kenmerk.inc" -->
<!-- #include file="./ins_flexkenmerk.inc" -->
<%
FCLTHeader.Requires({plugins:["jQuery"], js: []})
var fronto = Request.QueryString("fronto").Count>0;
var free = Request.QueryString("free").Count>0;
var urole = getQParam("urole", "bo"); //todo
// TODO checkautorisatie op dit object
if( func_enabled[ "WEB_INSMAN"] ) {
%>
<script type="text/javascript">
function func_back(){
window.history.go(-1);
}
function ShowSubobject(id)
{
props="left=" + (window.screenLeft + 20)+ ", top=" + (window.screenTop + 20)
+ ", width=550, height=500, directories=no,location=no,menubar=no,"
+ "resizable=yes,status=no,titlebar=yes,toolbar=no,scrollbars=yes";
fwnd = window.open("../INS/ins_loader.asp?inskeystring=" + id, '', props);
fwnd.focus();
}
function oi_print_report()
{
document.all.dbuttons.style.display = 'none';
print_report();
document.all.dbuttons.style.display = 'block';
}
</script>
<%
var FACPageTitle = lcl_obj_info_title;
var obj_sel = parseInt( Request.QueryString('obj'), 10 );
var ins_key = getQParamInt("ins_key");
var sql,oRs;
var obj_name;
var autoprint = Request.QueryString('autoprint').Count>0;
%>
<html>
<head>
<link rel=stylesheet href="<%=custpath%>/cust.css" type="text/css">
<!-- #include file="../Shared/title.inc" -->
<script src="../Shared/kenmerk_js.asp"></script>
<%
FCLTHeader.Generate();
%>
<script type="text/javascript">
function doPhoto(key)
{
photo = window.open('../PhoneBook/ShowPictures.asp?prs_key='+key,'PhotoWin', 'scrollbars=no width=320,height=320,resizable=no');
photo.focus();
}
function clearForm() {
window.resizeTo( 900, window.screen.availHeight );
}
function ins_print()
{
window.open('./ins_xml.asp?ins_key='+<%=ins_key%>);
}
function showHistory()
{
FcltMgr.openDetail("appl/ins/ins_history.asp?obj=<%=ins_key%>&insdeeldescr=<%="desc"%>", "<%=lcl_history%>");
}
function ins_delete()
{
// TODO is zelfde als in ins_list.js.
$.post("ins_delete.asp",
{ inskeystring: <%=ins_key%> },
FcltCallback,
"json");
}
</script>
</head>
<body
onLoad="javascript:if(parent.ExpandFrame)parent.ExpandFrame(window.name);clearForm();window.document.body.style.cursor='auto';<%=(autoprint?'oi_print_report()':'')%>">
<table width='100%' border="0" cellpadding="0" cellspacing="0" >
<tr><td valign=top>
<div align=center>
<table>
<tr><td valign=top>
<body id="showbody">
<div id="show">
<form name="u2">
<%
if( isNaN( obj_sel ) )
{
Response.Write("Illegal call: " + Request.ServerVariables("URL"));
Response.End();
}
sql = "SELECT d.ins_deel_omschrijving"
+ ", s.ins_srtdeel_code||' - '||s.ins_srtdeel_omschrijving"
+ ", g.ins_srtgroep_omschrijving, dis.ins_discipline_omschrijving"
+ ", d.ins_alg_ruimte_type, d.ins_alg_ruimte_key, d.ins_alg_locatie_key, "
+ GetDateTime("d.ins_deel_aanmaak", false) + ", d.ins_srtdeel_key"
+ ", d.ins_deel_x, ins_deel_y, ins_deel_dwgx " // future: +", ins_deel_z"
+ ", d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_type_org"
+ " FROM ins_deel d, ins_srtdeel s, ins_srtgroep g, ins_discipline dis"
+ " WHERE ins_deel_key=" + obj_sel
+ " AND d.ins_deel_verwijder IS NULL "
+ " AND d.ins_srtdeel_key=s.ins_srtdeel_key"
+ " AND s.ins_srtgroep_key=g.ins_srtgroep_key"
+ " AND g.ins_discipline_key=dis.ins_discipline_key";
+ ", s.ins_srtdeel_code"
+ ", s.ins_srtdeel_omschrijving"
+ ", g.ins_srtgroep_omschrijving"
+ ", dis.ins_discipline_omschrijving"
+ ", d.ins_deel_parent_key"
+ ", d.ins_alg_ruimte_type"
+ ", d.ins_alg_ruimte_key"
+ ", d.ins_alg_locatie_key "
+ ", d.ins_deel_aanmaak"
+ ", d.ins_srtdeel_key"
+ ", d.ins_deel_x"
+ ", ins_deel_y"
+ ", ins_deel_dwgx " // future: +", ins_deel_z"
+ ", d.ins_alg_ruimte_key_org"
+ ", d.ins_alg_ruimte_type_org"
+ " FROM ins_deel d, ins_srtdeel s, ins_srtgroep g, ins_discipline dis"
+ " WHERE ins_deel_key=" + ins_key
+ " AND d.ins_deel_verwijder IS NULL "
+ " AND d.ins_srtdeel_key=s.ins_srtdeel_key"
+ " AND s.ins_srtgroep_key=g.ins_srtgroep_key"
+ " AND g.ins_discipline_key=dis.ins_discipline_key";
oRs=Oracle.Execute(sql);
if (oRs.eof)
{
Response.Write(lcl_object_not_found);
// hacker?
Response.End();
}
desc=oRs(0).Value;
sort=oRs(1).Value;
group=oRs(2).Value;
disc=oRs(3).Value;
bind=oRs(4).Value;
bind_key=oRs(5).Value;
o_loc = parseInt(oRs(6).Value);
aanmaak = oRs(7).Value;
desc = oRs("ins_deel_omschrijving").Value;
srtcode = oRs("ins_srtdeel_code").Value;
sort = oRs("ins_srtdeel_omschrijving").Value;
group = oRs("ins_srtgroep_omschrijving").Value;
disc = oRs("ins_discipline_omschrijving").Value;
parentkey = oRs("ins_deel_parent_key").value;
bind = oRs("ins_alg_ruimte_type").Value;
bind_key = oRs("ins_alg_ruimte_key").Value;
o_loc = parseInt(oRs("ins_alg_locatie_key").Value);
aanmaak = new Date(oRs("ins_deel_aanmaak").value);
srtdeel_key = oRs("ins_srtdeel_key").Value;
getekend = oRs('ins_deel_dwgx').Value != null;
xcoord = oRs('ins_deel_x').Value;
getekend = oRs('ins_deel_dwgx').Value != null;
xcoord = oRs('ins_deel_x').Value;
if (xcoord) xcoord = toJsNumber(xcoord); // Tonen met punt
ycoord = oRs('ins_deel_y').Value;
ycoord = oRs('ins_deel_y').Value;
if (ycoord) ycoord = toJsNumber(ycoord); // Tonen met punt
var bind_lo = null;
var bind_key_lo = null;
var lent_out = false;
if (oRs('ins_alg_ruimte_key_org').value != null) {
// Object is currently lent out from:
bind_lo = oRs('ins_alg_ruimte_type_org').value;
bind_lo = oRs('ins_alg_ruimte_type_org').value;
bind_key_lo = oRs('ins_alg_ruimte_key_org').value;
lent_out = true;
lent_out = true;
}
oRs.close();
// Bepaal of er flexkenmerken zijn!
sql = "SELECT k.ins_kenmerk_key"
+ " FROM ins_srtkenmerk t"
+ ", ins_kenmerk k"
+ ", ins_srtdeel s"
+ ", ins_srtgroep g"
+ " WHERE s.ins_srtdeel_key = " + srtdeel_key
+ " AND ( ( k.ins_srtinstallatie_key = s.ins_srtdeel_key"
+ " AND k.ins_kenmerk_niveau = 'S')"
+ " OR ( k.ins_srtinstallatie_key = s.ins_srtgroep_key"
+ " AND k.ins_kenmerk_niveau = 'G')"
+ " OR ( k.ins_srtinstallatie_key = g.ins_discipline_key"
+ " AND k.ins_kenmerk_niveau = 'D')"
+ " )"
+ " AND k.ins_srtkenmerk_key = t.ins_srtkenmerk_key"
+ " AND g.ins_srtgroep_key = s.ins_srtgroep_key"
+ " AND k.ins_kenmerk_verwijder IS NULL"
+ " AND t.ins_srtkenmerk_verwijder IS NULL"
+ (fronto?" AND k.ins_kenmerk_volgnummer > 900":"");
oRs = Oracle.Execute(sql);
var flex_present = false;
if (!oRs.eof) flex_present = true;
binding_text = 'unknown';
switch (bind)
{
case 'R':
binding_text = lcl_obj_bind_r;
sql = "SELECT g.alg_plaatsaanduiding, FROM ins_v_deel_gegevens g"
break;
case 'T':
binding_text = lcl_obj_bind_t;
break;
case 'W':
binding_text = lcl_obj_bind_w;
break;
case 'P':
binding_text = lcl_obj_bind_p;
break;
case 'A':
binding_text = lcl_obj_bind_a;
break;
}
%>
<script type="text/javascript">
function showHistory()
{
w = window.open("ins_history.asp?obj=<%=obj_sel%>&insdeeldescr=<%=desc%>", "<%=lcl_history%>",
"left=40 top=40 width=550, height=500, scrollbars=yes");
w.focus();
}
function showComplaints()
{
w = window.open("obj_complaints.asp?obj=<%=obj_sel%>&obj_name=<%=desc%>", "<%=lcl_obj_complaints%>",
"left=40 top=40 width=700, height=500, scrollbars=yes,resizable=yes");
w.focus();
}
</script>
<% StartGroup(lcl_general_properties, "#a5cfff") %>
<table>
<TR>
<TD align="LEFT" class="caption"><%=lcl_obj_inf_name%>: </TD>
<TD><%=desc%></TD>
</TR>
<TR>
<TD align="LEFT" class="caption"><% = lcl_obj_sort %>: </TD>
<TD><%=sort%></TD>
</TR>
<TR>
<TD align="LEFT" class="caption"><% = lcl_obj_group %>: </TD>
<TD><%=group%></TD>
</TR>
<TR>
<TD align="LEFT" class="caption"><% = lcl_discipline %>: </TD>
<TD><%=disc%></TD>
</TR>
<TR>
<TD align="LEFT" class="caption"><% = lcl_obj_bind %>: </TD>
<TD><%=binding_text%></TD>
</TR>
<TR>
<TD align="LEFT" class="caption"><% = lcl_last_action %>: </TD>
<TD><%=aanmaak %></TD>
</TR>
<%
if (lent_out) {
%>
<tr><td></td><td><% = lcl_obj_is_lent_out %></td></tr>
<%
}
%>
</table>
<% EndGroup("#a5cfff"); %>
</td>
</tr><tr><td>
<% StartGroup(lcl_owner_info, "#a5cfff"); %>
<table>
<%
switch (bind)
{
case 'A':
{
sql = "SELECT b.prs_bedrijf_naam, d.prs_afdeling_naam, (select k.prs_kostenplaats_nr from prs_kostenplaats k where k.prs_kostenplaats_key = d.prs_kostenplaats_key) "
+ " FROM prs_v_afdeling d, prs_bedrijf b "
+ " WHERE d.prs_bedrijf_key=b.prs_bedrijf_key "
+ " AND d.prs_afdeling_key = " + bind_key;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
CreateDeptInfo(oRs(0), oRs(1), oRs(2));
}
else
Response.Write(lcl_no_dept_info);
oRs.close();
break;
}
case 'P':
{
sql = "SELECT " +prs_pers_string +","
+ "COALESCE((p.prs_perslid_telefoonnr, '?') " + "||'/'||"
+ "COALESCE((p.prs_perslid_mobiel, ' '),"
+ "COALESCE((prs_perslid_email, ' '),"
+ "COALESCE((gw.alg_gebouw_code,'?')||' - '||"
+ "COALESCE((v.alg_verdieping_code,'?')||' - '||"
+ "COALESCE((r.alg_ruimte_nr,'?')||"
+ "' ('||COALESCE(r.alg_ruimte_omschrijving,'?')||')', "
+ " a.prs_afdeling_naam,COALESCE((select k.prs_kostenplaats_nr from prs_kostenplaats k where k.prs_kostenplaats_key = a.prs_kostenplaats_key),' '), b.prs_bedrijf_naam "
+ ",(SELECT pic.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) PHOTO"
+ ",p.prs_perslid_key "
+ " FROM prs_perslid p, prs_v_afdeling a, prs_bedrijf b, "
+ " alg_ruimte r, alg_gebouw gw, prs_v_aanwezigperslidwerkplek pw, "
+ " prs_werkplek w, alg_verdieping v"
+ " WHERE p.prs_afdeling_key = a.prs_afdeling_key "
+ " AND p.prs_perslid_key = pw.prs_perslid_key (+)"
+ " AND b.prs_bedrijf_key = a.prs_bedrijf_key "
+ " AND pw.prs_werkplek_key = w.prs_werkplek_key (+)"
+ " AND w.prs_alg_ruimte_key = r.alg_ruimte_key (+)"
+ " AND r.alg_verdieping_key = v.alg_verdieping_key (+)"
+ " AND v.alg_gebouw_key = gw.alg_gebouw_key (+)"
+ " AND p.prs_perslid_key = " + bind_key;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
if (oRs(7).Value != "") // if user allowed to display his photo.
photo = oRs(8).Value;
else
photo="";
ShowUserInfo(oRs(0), oRs(1), oRs(2), oRs(3), photo, false);
Response.Write("<tr><td colspan=2><hr width=100% color=#808080 height=1></td></tr>");
CreateDeptInfo(oRs(6), oRs(4), oRs(5));
}
else
{
Response.Write(lcl_no_owner_info);
}
oRs.close();
break;
}
// We geven aan waar het object bij hoort
// Niet voor de lol, maar als label voor het specifieke ding
var binding_text = 'unknown';
var moreinfo = "";
if (parentkey != null) {
binding_text = lcl_obj_inf_name;
moreinfo = "appl/ins/ins_deel.asp?ins_key=" + parentkey;
bind = "I"; // pseudotype
} else
switch (bind)
{
case 'R':
{
sql = "SELECT g.alg_plaatsaanduiding||' ('||a.alg_ruimte_omschrijving||')',"
+ " sr.alg_srtruimte_omschrijving, "
+ " a.alg_ruimte_bruto_vloeropp, a.alg_ruimte_key "
+ " FROM alg_ruimte a"
+ ", alg_srtruimte sr"
+ ", ins_v_deel_gegevens g"
+ " WHERE g.alg_ruimte_key = a.alg_ruimte_key "
+ " AND a.alg_srtruimte_key = sr.alg_srtruimte_key(+)"
+ " AND g.ins_deel_key = " + obj_sel;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
ShowRoomInfo(oRs(0).Value, oRs(1).Value, oRs(2).Value, oRs(3).Value, false);
}
else
{
Response.Write(lcl_no_owner_info);
}
oRs.close();
break;
}
case 'W':
{
sql = "SELECT g.alg_plaatsaanduiding||' ('||a.alg_ruimte_omschrijving||')',"
+ " sr.alg_srtruimte_omschrijving, "
+ " w.prs_werkplek_opp, w.prs_werkplek_key "
+ " FROM alg_ruimte a"
+ ", ins_v_deel_gegevens g"
+ ", prs_werkplek w"
+ ", alg_srtruimte sr "
+ " WHERE w.prs_werkplek_key = g.prs_werkplek_key "
+ " AND g.alg_ruimte_key = a.alg_ruimte_key "
+ " AND a.alg_srtruimte_key = sr.alg_srtruimte_key "
+ " AND g.ins_deel_key = " + obj_sel;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
ShowRoomInfo(oRs(0).Value, oRs(1).Value, oRs(2).Value, oRs(3).Value, true);
}
oRs.close();
}
case 'T':
{
binding_text = lcl_obj_bind_r;
moreinfo = "appl/alg/alg_ruimte.asp?key=" + bind_key;
break;
}
}
%>
</table>
case 'T':
binding_text = lcl_obj_bind_t;
moreinfo = "appl/alg/alg_terreinsector.asp?key=" + bind_key;
break;
case 'W':
binding_text = lcl_obj_bind_w;
moreinfo = "appl/prs/prs_werkplek.asp?key=" + bind_key;
break;
case 'P':
binding_text = lcl_obj_bind_p;
moreinfo = "appl/prs/prs_perslid.asp?key=" + bind_key;
break;
case 'A':
binding_text = lcl_obj_bind_a;
moreinfo = "";
break;
}
<% EndGroup("#a5cfff"); %>
// Dat was het type / label, nu de instance
</td></tr>
<% if (flex_present) { %>
<tr><td>
<% StartGroup(lcl_flexible_properties, "#a5cfff"); %>
<table>
<%
fp = new Object(); // dummy, moet er nog uitgewerkt worden
function isReadonly (volgnummer)
var binding_item = 'unknown';
switch (bind)
{
return true;
case 'A':
{
sql = "SELECT "+prs_dep_string
+ " FROM prs_v_afdeling d"
+ " WHERE d.prs_afdeling_key = " + bind_key;
break;
}
case 'P':
{
sql = "SELECT prs_perslid_naam_full"
+ " FROM prs_v_perslid_fullnames_all pf"
+ " WHERE pf.prs_perslid_key = " + bind_key;
break;
}
case 'R':
{
sql = "SELECT g.alg_plaatsaanduiding||' ('||a.alg_ruimte_omschrijving||')'"
+ " FROM alg_ruimte a"
+ ", ins_v_deel_gegevens g"
+ " WHERE g.alg_ruimte_key = a.alg_ruimte_key "
+ " AND g.ins_deel_key = " + ins_key;
break;
}
case 'W':
{
sql = "SELECT g.alg_plaatsaanduiding||' ('||a.alg_ruimte_omschrijving||')'"
+ " FROM alg_ruimte a"
+ ", ins_v_deel_gegevens g"
+ " WHERE g.alg_ruimte_key = a.alg_ruimte_key "
+ " AND g.ins_deel_key = " + ins_key;
}
case 'T':
{
break;
}
case 'I':
{
sql = "SELECT ins_deel_omschrijving"
+ " FROM ins_deel d"
+ " WHERE d.ins_deel_key = " + parentkey;
break;
}
}
oRs = Oracle.Execute(sql);
if (!oRs.eof) {
binding_item = oRs(0).value;
}
listINSKenmerk(obj_sel, srtdeel_key, isReadonly);
%>
</TABLE>
<% EndGroup("#a5cfff"); %>
</td></tr>
<% } %>
<% if ( !(bind=='A'||bind=='P') && xcoord && ycoord) {
// alleen plaatsgebonden objecten met ingevulde x/y krijgen een geo-blokje
%>
<tr><td>
<% StartGroup(lcl_obj_geoproperties, "#a5Ffff"); %>
<table border=0>
<tr>
<td class="caption"><%=lcl_obj_geoxcoord%>:&nbsp; </td><td><%=xcoord%></td>
<td class="caption"><%=lcl_obj_geoycoord%>:&nbsp;</b></td><td><%=ycoord%></td>
</tr>
<% if (true) {
var buttons = [];
if (true)
{
// TODO: History is zeldzaam, eerst kijken of er wat is voordat we de button tonen
var buttons = [ {title: lcl_change, action: "ins_change()", icon: "wijzigen.png" },
{title: lcl_history, action: "showHistory()", icon: "history.png" },
{title: lcl_delete, action: "ins_delete()", icon: "delete.png" },
{title: lcl_print, action: "ins_print()", icon: "print.png" }
];
}
IFRAMER_HEADER(lcl_ins_frame_algemeen, buttons);
BLOCK_START("insIns", lcl_general_properties);
ROFIELDTR("fld", lcl_obj_identification, desc);
ROFIELDTR("fld", lcl_obj_sort, sort + " (" + srtcode + ")");
ROFIELDTR("fld", lcl_obj_group, group);
ROFIELDTR("fld", lcl_discipline, disc);
ROFIELDTR("fld", lcl_obj_bind, binding_text + " " + binding_item, {infoPointer:{Url : moreinfo, Title: ""}});
ROFIELDTR("fld", lcl_last_action, toDateTimeString(aanmaak));
if (lent_out) {
ROFIELDTR("fld", "", lcl_obj_is_lent_out);
}
ROFIELDTR("fld", "", getekend?lcl_obj_isgetekend:lcl_obj_nietgetekend);
if (false) { // later
// als het object technisch getekend zou kunnen zijn, geven we hier de status aan.
// Een vriendelijke optie zou zijn om in geval van niet-geplaatst-zijn hier de optie toe te voegen
// omdat direct alsnog te doen; wellicht zelfs ook voor VERplaatsen.
ROFIELDTR("fld", "", "TODO meer leuke info: reserveerbaar e.d.");
}
BLOCK_END();
if ( !(bind=='A'||bind=='P') && xcoord && ycoord) {
// alleen plaatsgebonden objecten met ingevulde x/y krijgen een geo-blokje
BLOCK_START("insGeo", lcl_obj_geoproperties);
ROFIELDTR("fld", lcl_obj_geoxcoord, xcoord);
ROFIELDTR("fld", lcl_obj_geoycoord, ycoord);
BLOCK_END();
}
BLOCK_START("insFlex", lcl_flexible_properties);
generateFlexKenmerkCode({ urole: urole,
ins_key: ins_key,
srtdeel_str: srtdeel_key,
reado: true
});
BLOCK_END();
%>
<tr><td colspan=4><%=getekend?lcl_obj_isgetekend:lcl_obj_nietgetekend%></td></tr>
<%}%>
</table>
<% EndGroup("#a5ffff"); %>
</td></tr>
<%
}
%>
<tr><td>
<% // if (bind == 'T' || bind == 'R' || bind == 'W') { %>
<% StartGroup(lcl_subobjects, "#a5cfff"); %>
<%
ShowSubobjects(obj_sel);
%>
<% EndGroup("#a5cfff"); %>
<br>
<% //} %>
</td></tr></table>
</form>
</div>
</td>
<td valign=top width='150'>
<div id=dbuttons name=dbuttons>
<% BUTTONS_START(4)
CreateButton(lcl_print, "oi_print_report()", 100);
NEXT_BUTTON()
CreateButton(lcl_history, "showHistory()", 100);
NEXT_BUTTON();
CreateButton(lcl_obj_complaints, "showComplaints()", 100);
NEXT_BUTTON()
if (autoprint) {
CreateButton(lcl_back, "func_back()", 100);
} else {
CreateButton(lcl_close_window,"javascript:window.close();", 100);
}
BUTTONS_END() %>
<div>
</td>
</tr>
</table>
<!--#include file="../LocalScripts/frprint.js"-->
</body>
</html>
<%
// Some useful functions used to format this page
function CreateDeptInfo(comp_name, dept_name, account_nr)
{
%>
<tr>
<td class="caption"><% = lcl_company %>: </td>
<td><% = comp_name %></td>
</tr>
<tr>
<td class="caption"><% = lcl_prs_organistatie %>: </td>
<td><% = dept_name %></td>
</tr>
<tr>
<td class="caption"><% = lcl_prs_kosten %>: </td>
<td><% = account_nr %></td>
</tr>
<%
}
function ShowUserInfo(name,
phone,
mail,
workplace,
photo,
single_row // whether to put <tr/> after each field
)
{
if (phone == null || phone == '')
phone = lcl_not_available;
if (mail == null || mail == '')
mail_html = lcl_not_available;
else
mail_html = "<a href='mailto:" + mail + "'>" + mail + "</a>";
Response.Write( single_row ? "<tr class='result'> " : "" );
Response.Write( single_row ? "" : "<tr><td class='caption'>" + lcl_obj_owner + ": </td>" );
if (photo != "")
Response.Write( "<td>" + "<a href='javascript:doPhoto(" + photo + ")'>" + name + "</a>" + "</td>");
else
Response.Write( "<td>" + name + "</td>");
Response.Write( single_row ? "" : "</tr><tr><td class='caption'>" + lcl_phone + ": </td>" );
Response.Write( "<td>" + phone + "</td>");
Response.Write( single_row ? "" : "</tr><tr><td class='caption'>" + lcl_prs_email + ": </td>" );
Response.Write( "<td>" + mail_html + "</td>" );
Response.Write( single_row ? "" : "</tr><tr><td class='caption'>" + lcl_workspace + ": </td>" );
Response.Write( "<td>" + workplace + "</td>" );
Response.Write("</tr>");
}
function ShowRoomInfo(location,
desc,
square,
room_key,
workplace // true for workspace (so room_key is prs_werkplek_key)
)
{
%>
<tr>
<td class="caption"><% = lcl_location %>: </td>
<td><% = location %></td>
</tr>
<tr>
<td class="caption"><% = lcl_estate_ruimte_man_sort %>: </td>
<td><% = desc %></td>
</tr>
<tr>
<td class="caption"><% = lcl_square %>: </td>
<td><% = square %></td>
</tr>
<%
// list of inhabitans
if (workplace == false)
{
sql = "SELECT "+prs_pers_string
+ ", COALESCE(p.prs_perslid_telefoonnr, ' ')"
+ ", COALESCE(prs_perslid_email,' ')"
+ " FROM prs_perslid p, prs_v_aanwezigperslidwerkplek pw, prs_werkplek w, "
+ " alg_ruimte r WHERE "
+ " p.prs_perslid_key = pw.prs_perslid_key AND "
+ " pw.prs_werkplek_key = w.prs_werkplek_key AND "
+ " w.prs_werkplek_virtueel = 0 AND "
+ " w.prs_alg_ruimte_key = r.alg_ruimte_key AND "
+ " r.alg_ruimte_key = " + room_key
+ " ORDER BY 1";
}
else
{
sql = "SELECT "+prs_pers_string
+ ", COALESCE(p.prs_perslid_telefoonnr, ' ')"
+ ", COALESCE(prs_perslid_email,' ')"
+ " FROM prs_perslid p, prs_v_aanwezigperslidwerkplek pw, prs_werkplek wp WHERE "
+ " wp.prs_werkplek_key = " + room_key + " AND "
+ " wp.prs_werkplek_virtueel = 0 AND "
+ " p.prs_perslid_key = pw.prs_perslid_key AND "
+ " pw.prs_werkplek_key = " + room_key
+ " ORDER BY 1";
}
rs = Oracle.Execute(sql);
Response.Write('<tr>');
if (rs.eof)
{
if (!workplace)
Response.Write('<td colspan=2>'+lcl_room_empty+'</td>');
else
Response.Write('<td colspan=2>'+lcl_workspace_empty+'</td>');
rs.close();
return;
}
columns = new Array(lcl_name, lcl_phone, lcl_prs_email);
Response.Write('<td class="caption" colspan=2>'+lcl_persons_in_place+':</td>');
Response.Write('</tr><tr><td colspan=2>');
rst = new CreateResultsetTable(columns);
while (!rs.eof)
{
columns[0] = (rs(0) == null || rs(0).Value == "" ? lcl_undefined : rs(0).Value);
columns[1] = (rs(1) == null || rs(1).Value == "" ? lcl_not_available : rs(1).Value);
columns[2] = (rs(2) == null || rs(2).Value == "" ? lcl_not_available :
"<a href='mailto:" + rs(2) + "'>" + rs(2) + "</a>");
rst.addRow(columns);
rs.MoveNext();
}
rst.endTable();
rs.close();
%>
</td>
</tr>
<%
}
function ShowSubobjects(obj_sel)
{
sql = "SELECT d.ins_deel_omschrijving, "
+ " sd.ins_srtdeel_code||' - '||sd.ins_srtdeel_omschrijving, d.ins_deel_key "
+ " FROM ins_deel d, ins_srtdeel sd "
+ " WHERE d.ins_deel_parent_key = " + obj_sel
+ " AND d.ins_srtdeel_key = sd.ins_srtdeel_key "
+ " AND d.ins_deel_verwijder IS NULL "
+ " ORDER BY 1";
rs = Oracle.Execute(sql);
if (rs.eof)
{
Response.Write(lcl_no_subobjects);
rs.close();
return;
}
columns = new Array(lcl_name, lcl_obj_group);
rst = new CreateResultsetTable(columns);
rst.setOnClick("ShowSubobject");
while (!rs.eof)
{
columns[0] = rs(0).Value;
columns[1] = rs(1).Value;
rst.addRow(columns, rs(2).Value);
rs.MoveNext();
}
rst.endTable();
rs.close();
}
%>
<% } else { %>
<html>
<link rel=stylesheet href="<%=custpath%>/cust.css" type="text/css">
<body>
<p><%=lcl_no_auth%></p>
<% } %>
</body>
</html>