svn path=/Website/trunk/; revision=35
This commit is contained in:
@@ -1,30 +1,35 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 30-09-09 14:01 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 1-11-09 22:39 $
|
||||
|
||||
File: fac_list.asp
|
||||
Description: Toont verplichtingen etc van user, refresht zelf
|
||||
Status: 80%
|
||||
Parameters: prs_key optioneel (anders user_key)
|
||||
Context:
|
||||
Note: - is details een action of niet?
|
||||
- TODO hoe urole te gebruiken?
|
||||
Note: De urole (voor vervolgacties) wordt impliciet bepaald door
|
||||
de prs_key: is het de lijst van mezelf, dan ga ik met fe verder,
|
||||
is het de lijst van een ander, dan ga ik met fo verder.
|
||||
|
||||
TODO: voor verplichtingen van een ander moet ik de respectievelijke read-scopes
|
||||
gebruiken, dus reserveringen die in volgens WEB_RESFOF mag zien, meldingen
|
||||
die ik volgens WEB_MLDFOF mag zien etc.
|
||||
*/ %>
|
||||
<% Response.Expires = -1;
|
||||
%>
|
||||
<!--#include file="../../cust/install.inc" -->
|
||||
<!--#include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<%
|
||||
FCLTHeader.Requires({js: ["FcltMgr.js"]});
|
||||
|
||||
var urole = getQParam("urole", "fe");
|
||||
var pkey = getQParam("prs_key", user_key);
|
||||
var outputmode = parseInt(getQParam("outputmode", 0), 10); // 0 = screen, 1 = print, 2 = excel etc
|
||||
var embedded = getQParamInt("embedded", -1) == 1;
|
||||
var showall = getQParam("showall", -1) == 1;
|
||||
var urole = "?";
|
||||
if (pkey == user_key)
|
||||
urole = "fe";
|
||||
else
|
||||
urole = "fo";
|
||||
|
||||
function fncolType(oRs)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<%@language = "javascript" %>
|
||||
<%/* $Revision: 2 $
|
||||
$Modtime: 30-10-09 17:40 $
|
||||
<%/* $Revision: 3 $
|
||||
$Modtime: 2-11-09 11:47 $
|
||||
|
||||
File: fac_user.asp
|
||||
Status: 90%
|
||||
@@ -143,7 +143,7 @@ IFRAMER_HEADER(lcl_prs_frame_algemeen, buttons);
|
||||
if (fac_profiel_limiet != -1) {
|
||||
ROFIELDTR('fld', lcl_prs_profile , fac_profiel_omschrijving);
|
||||
ROFIELDTR('fld', lcl_BES_orderlimit, fac_profiel_limiet,
|
||||
{infoPointer: {Url:"appl/prs/kpn_mandate.asp?prs_key="+prs_key, Title:lcl_menu_fin_mandatering} });
|
||||
{infoPointer: {Url:"appl/prs/kpn_mandate_search.asp?prs_key="+prs_key, Title:lcl_menu_fin_mandatering} });
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
@@ -1,73 +1,73 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 8-05-09 18:16 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 1-11-09 23:40 $
|
||||
*/ %>
|
||||
<% Response.Expires = 0;
|
||||
var HelpDisable = true; %>
|
||||
<!-- #include file="../../cust/install.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<%dis = Request.QueryString ("dis").Count > 0; %>
|
||||
<%
|
||||
var dis = Request.QueryString ("dis").Count > 0;
|
||||
FCLTHeader.Requires({plugins: ["jQuery"]});
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<%
|
||||
FCLTHeader.Generate()
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
function setUNameFocus() {
|
||||
if ( document.getElementById("secur_frame") && document.getElementById("secur_frame").style.visibility == "visible" ) {
|
||||
document.ifl_f.vis_name.focus()
|
||||
}
|
||||
}
|
||||
$(document).ready(function () { $("#visname").focus() } );
|
||||
|
||||
function passwrd2mobile() {
|
||||
window.document.all.item("mobile").value = 1;
|
||||
window.document.all.item("vis_pswd").readOnly = 0;
|
||||
window.document.all.item("mob_button").disabled = 1;
|
||||
window.frames.hidFramePassword2Mobile.navigate('../Shared/sendPasswrd.asp?login='+window.document.all.item("vis_name").value);
|
||||
if ($("#visname").val() == "") return false;
|
||||
|
||||
$("#mobile").val(1); // submit mee
|
||||
$.post('../Shared/sendPasswrd.asp?login='+$("#visname").val());
|
||||
$("#vispswd").removeAttr("readonly");
|
||||
$("#mobbutton").attr("disabled", "disabled");
|
||||
}
|
||||
function youknowme() {
|
||||
document.forms.ifl_f.action = 'testauth.asp';
|
||||
document.forms.ifl_f.submit();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="loginbody" onload='setTimeout("setUNameFocus()", 500)'>
|
||||
<body id="loginbody">
|
||||
|
||||
<form name="ifl_f" action="ifcp.asp" method="post">
|
||||
<input type="hidden" name="mobile" value="0">
|
||||
<form id="ifl_f" action="ifcp.asp" method="post">
|
||||
<input type="hidden" id="mobile" name="mobile" value="0">
|
||||
<TABLE id="logintable">
|
||||
<tr><td colspan="2" align="center"> </tr><%//spacer%>
|
||||
<TR>
|
||||
<td class="label"><label><nobr><%=lcl_vis_log_name%></nobr></label></td>
|
||||
<td><input type="text" size="20" maxlength="30" name="vis_name"></td>
|
||||
<td><input class="required" type="text" size="20" maxlength="30" id="visname" name="vis_name">
|
||||
<% if (mobile_password == 1) { %>
|
||||
<td width="20">
|
||||
<input type="button" tabIndex="-1" name="mob_button" title="Verstuur wachtwoord naar mobiel" class="mbutton" style="width:20;height:20;background-image:url(../Pictures/mobile.gif)" onClick="passwrd2mobile();">
|
||||
</td>
|
||||
<img class="details" id="mobbutton" title="<%=lcl_password_to_mobile%>" alt="SMS"
|
||||
src="../Pictures/key.png" onClick="passwrd2mobile();">
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label><%=lcl_vis_log_psw%></label></td>
|
||||
<td><input type="Password" <%=(mobile_password == 1?" readOnly ":"")%> size="20" maxlength="30" name="vis_pswd">
|
||||
<INPUT type="SUBMIT" value="" style="width:0">
|
||||
<td><input type="Password" <%=(mobile_password == 1?" readonly ":"")%> size="20" maxlength="30" id="vispswd" name="vis_pswd">
|
||||
<input type="submit" value="1" style="width:0">
|
||||
<%if ((dis)||(!os_logon)) {%>
|
||||
<INPUT type="hidden" value="1" name=dis id=dis >
|
||||
<%}%>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" align="center"> </tr><%//spacer%>
|
||||
<tr>
|
||||
<td colspan="2" align="center">
|
||||
<div id="buttons"><%
|
||||
BUTTONS_START();
|
||||
CreateButton(lcl_logon, "document.forms.ifl_f.submit()","L");
|
||||
if ((!dis)&&(os_logon)) {
|
||||
CreateButton("<nobr>" + lcl_know_me + "</nobr>", "document.forms.ifl_f.action = 'testauth.asp';document.forms.ifl_f.submit();", "B");
|
||||
}
|
||||
%></div></td><%
|
||||
BUTTONS_END();
|
||||
%>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<tr><td colspan="2">
|
||||
<div id="buttons">
|
||||
<%
|
||||
buttons = [ { title: lcl_logon, action: "submit()" } ];
|
||||
|
||||
if (true || (!dis)&&(os_logon)) {
|
||||
buttons.push({ title: lcl_know_me, action: "youknowme()" });
|
||||
// CreateButton("<nobr>" + lcl_know_me + "</nobr>", "document.forms.ifl_f.action = 'testauth.asp';document.forms.ifl_f.submit();", "B");
|
||||
}
|
||||
CreateButtons(buttons);
|
||||
%></div>
|
||||
</td></tr>
|
||||
</TABLE>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" frameborder="0" id="hidFramePassword2Mobile" style="display:none"></iframe>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 26-02-09 11:50 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 2-11-09 10:00 $
|
||||
*/ %>
|
||||
<% Response.Expires = -1; %>
|
||||
|
||||
<!-- #include file="../../cust/install.inc" -->
|
||||
<!-- #include file="../../appl/Shared/escape.inc" -->
|
||||
<!-- #include file="../../appl/Shared/login.inc" -->
|
||||
<!-- #include file="../../appl/Shared/order.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({plugins: ["jQuery"],
|
||||
js: []})
|
||||
|
||||
var nm = ('' + Request.Form("vis_name")).toUpperCase();
|
||||
|
||||
@@ -30,22 +33,22 @@
|
||||
{
|
||||
tryLogin(nm, ps, mobile); // nm = username, ps = wachtwoord
|
||||
}
|
||||
if (user_key!=-1) {
|
||||
%>
|
||||
<!--#include file="../Shared/order.inc" --> <%// checking if there should be orders to close%>
|
||||
<%
|
||||
}
|
||||
|
||||
var dtc = new Date();
|
||||
dtc = dtc.valueOf();
|
||||
var msg = null
|
||||
if (user_key!=-1) {
|
||||
msg = countOpenOrders();
|
||||
}
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript" src="../../appl/Localscripts/jquery.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(parent.document).find('#closedialog').trigger('click');
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { warning: "<%=msg%>" } );
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body></body>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 26-09-09 16:15 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 2-11-09 17:20 $
|
||||
|
||||
File: res_list.inc
|
||||
Description: Show an overview of reservations in list-form,
|
||||
@@ -41,7 +41,7 @@
|
||||
Note: @@TODO
|
||||
ZOU NOG MOETEN WORDEN GESPLITST IN res_list.inc en res_fo_search_list.asp en res_bomi_search_list.asp
|
||||
waarbij de formfields worden vertaald naar filterparameters
|
||||
EN IK DENK DAT DEZE MET PLAN=1 HET PLANBORD MOET GAAN TONEN
|
||||
TODO:
|
||||
de afhankelijkheden van urole moeten er uit! Deze functie levert een lijst op die voldoet aan de criteria
|
||||
en gegeven de user en de autorisatie. Punt!
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: ["expand_frame.js", "wpos.js", "FcltMgr.js", "../RES/res_list.js"]
|
||||
js: ["wpos.js", "../RES/res_list.js"]
|
||||
});
|
||||
|
||||
function res_list (pautfunction, params)
|
||||
@@ -160,9 +160,6 @@ function res_list (pautfunction, params)
|
||||
var print = (<%=print? 1 : 0%> == 1);
|
||||
var excel = (<%=excel? 1 : 0%> == 1);
|
||||
var lcl_reservation = "<%=lcl_reservation%>";
|
||||
var lcl_RES_completed_unknowed = "<%=lcl_RES_completed_unknowed%>";
|
||||
var lcl_res_all_future = "<%=lcl_res_all_future%>";
|
||||
var lcl_res_future_res = "<%=lcl_res_future_res%>";
|
||||
var user_naam = "<%=user.naam()%>";
|
||||
var todayString = "<%=toDateString(new Date())%>";
|
||||
|
||||
@@ -174,9 +171,6 @@ function res_list (pautfunction, params)
|
||||
<body id="listbody">
|
||||
|
||||
<%
|
||||
if (frontend || fronto)
|
||||
{ // Make ResultsetTable for FE or FO
|
||||
|
||||
/***** Build sql *****/
|
||||
thePerslid = " WITH"
|
||||
+ " thePerslid AS"
|
||||
@@ -184,6 +178,10 @@ function res_list (pautfunction, params)
|
||||
+ ", prs_afdeling_key"
|
||||
+ ", " + prs_pers_string + " naam FROM prs_perslid p)"
|
||||
|
||||
if (frontend || fronto)
|
||||
{ // Make ResultsetTable for FE or FO
|
||||
|
||||
|
||||
// RES_RSV_ROOM
|
||||
sqlR = "";
|
||||
|
||||
@@ -191,17 +189,6 @@ function res_list (pautfunction, params)
|
||||
+ ", rm.res_rsv_ruimte_key"
|
||||
+ ", rm.res_rsv_ruimte_omschrijving descr"
|
||||
+ ", rm.res_status_fo_key, r.res_ruimte_nr waar"
|
||||
+ ", ((SELECT COUNT(rd.res_rsv_ruimte_key) aantal"
|
||||
+ (res_deleted
|
||||
? " FROM res_rsv_deel rd"
|
||||
: " FROM res_v_aanwezigrsv_deel rd")
|
||||
+ " WHERE rd.res_rsv_ruimte_key = rm.res_rsv_ruimte_key)"
|
||||
+ " +"
|
||||
+ " (SELECT COUNT(ra.res_rsv_ruimte_key) aantal"
|
||||
+ (res_deleted
|
||||
? " FROM res_rsv_artikel ra"
|
||||
: " FROM res_v_aanwezigrsv_artikel ra")
|
||||
+ " WHERE ra.res_rsv_ruimte_key = rm.res_rsv_ruimte_key)) aantalVC"
|
||||
+ ", res_rsv_ruimte_van tvan"
|
||||
+ ", res_rsv_ruimte_tot ttot"
|
||||
+ ", pcontact.naam contact"
|
||||
@@ -251,27 +238,19 @@ function res_list (pautfunction, params)
|
||||
|
||||
if (!res_key)
|
||||
{ // If there is no res_key then determine sql_date
|
||||
// If from and to are given both are used
|
||||
// If only one of from and to are give, this is used as a (1) day, not an half open interval
|
||||
// 20-10-2009 9:46:28/PF
|
||||
datefrom = datefrom || dateto;
|
||||
dateto = dateto || datefrom;
|
||||
if (datefrom && dateto)
|
||||
{
|
||||
var ora_date1 = datefrom.beginToSQL();
|
||||
var ora_date2 = dateto.endToSQL();
|
||||
sql_date = " BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||
//sqlR += " AND rm.res_rsv_ruimte_van BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||
}
|
||||
else if (datefrom)
|
||||
{
|
||||
var ora_date1 = datefrom.beginToSQL();
|
||||
sql_date = " >= " + ora_date1;
|
||||
//sqlR += " AND rm.res_rsv_ruimte_van >= " + ora_date1;
|
||||
}
|
||||
else if (dateto)
|
||||
{
|
||||
var ora_date2 = dateto.endToSQL();
|
||||
sql_date = " < " + ora_date2;
|
||||
//sqlR += " AND rm.res_rsv_ruimte_van < " + ora_date2;
|
||||
sql_date = " AND res_rsv_ruimte_van < " + ora_date2 + " AND res_rsv_ruimte_tot > " + ora_date1;
|
||||
}
|
||||
if (sql_date)
|
||||
sqlR += " AND rm.res_rsv_ruimte_van" + sql_date;
|
||||
sqlR += sql_date;
|
||||
|
||||
//var ora_date1 = datefrom.beginToSQL();
|
||||
//var ora_date2 = dateto.endToSQL();
|
||||
@@ -279,6 +258,9 @@ function res_list (pautfunction, params)
|
||||
//sqlR += " AND rm.res_rsv_ruimte_van BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||
}
|
||||
|
||||
if (room_key_str)
|
||||
sqlR += " AND r.res_discipline_key IN (" + room_key_str + ")";
|
||||
|
||||
if (fronto)
|
||||
{
|
||||
var sql_onrgoed = "";
|
||||
@@ -337,7 +319,6 @@ function res_list (pautfunction, params)
|
||||
|
||||
// in 4.70 kunnen we direct een regel per deelreservering bepalen
|
||||
sqlDeelCount = "SELECT rvard.res_rsv_ruimte_key"
|
||||
+ ", rvard.res_rsv_deel_van datum"
|
||||
+ ", COUNT(rvard.res_rsv_ruimte_key) aantal"
|
||||
+ ", resd.res_discipline_key"
|
||||
+ (res_deleted
|
||||
@@ -355,7 +336,6 @@ function res_list (pautfunction, params)
|
||||
+ ", res_rsv_ruimte_omschrijving descr"
|
||||
+ ", rvarr.res_status_fo_key"
|
||||
+ ", alg_ruimte_aanduiding waar"
|
||||
+ ", rd.aantal aantalVC"
|
||||
+ ", res_rsv_ruimte_van tvan"
|
||||
+ ", res_rsv_ruimte_tot ttot"
|
||||
+ ", pcontact.naam contact"
|
||||
@@ -398,7 +378,7 @@ function res_list (pautfunction, params)
|
||||
sqlDe += " AND rvarr.res_rsv_ruimte_verwijder IS NOT NULL";
|
||||
|
||||
if (sql_date)
|
||||
sqlDe += " AND rd.datum" + sql_date;
|
||||
sqlDe += sql_date;
|
||||
|
||||
if (fronto) {
|
||||
if (sql_onrgoed != "")
|
||||
@@ -439,7 +419,6 @@ function res_list (pautfunction, params)
|
||||
+ ", res_rsv_ruimte_omschrijving descr"
|
||||
+ ", rvarr.res_status_fo_key"
|
||||
+ ", alg_ruimte_aanduiding waar"
|
||||
+ ", ra.aantal aantalVC"
|
||||
+ ", ra.res_rsv_artikel_levering tvan"
|
||||
+ ", res_rsv_ruimte_tot ttot" //afruimtijd
|
||||
+ ", pcontact.naam contact"
|
||||
@@ -486,7 +465,6 @@ function res_list (pautfunction, params)
|
||||
+ ", rec2.descr"
|
||||
+ ", rec2.res_status_fo_key"
|
||||
+ ", rec2.waar"
|
||||
+ ", SUM(rec2.aantalvc) aantalVC"
|
||||
+ ", MIN(rec2.tvan) tvan"
|
||||
+ ", MAX(rec2.ttot) ttot"
|
||||
+ ", rec2.contact"
|
||||
@@ -527,7 +505,7 @@ function res_list (pautfunction, params)
|
||||
+ ", rec2.res_user";
|
||||
|
||||
if (sql_date)
|
||||
sqlA += " AND res_rsv_ruimte_van" + sql_date;
|
||||
sqlA += sql_date;
|
||||
|
||||
if (fronto) {
|
||||
if (sql_onrgoed != "")
|
||||
@@ -543,20 +521,16 @@ function res_list (pautfunction, params)
|
||||
"rg.alg_ruimte_key",
|
||||
pautfunction,
|
||||
"");
|
||||
|
||||
sql = "SELECT " + sql_select
|
||||
+ " FROM (" + thePerslid + " " + sqlR + " UNION ALL " + sqlDe + " UNION ALL " + sqlA + ") rec2"
|
||||
+ " WHERE 1=1";
|
||||
}
|
||||
else // frontend
|
||||
{
|
||||
sqlA += " AND (res_rsv_ruimte_contact_key IN (" + prsKeys + ")"
|
||||
+ " OR res_rsv_ruimte_host_key IN (" + prsKeys + "))";
|
||||
} // fronto
|
||||
|
||||
sql = "SELECT " + sql_select
|
||||
+ " FROM (" + thePerslid + " " + sqlR + " UNION ALL " + sqlDe + " UNION ALL " + sqlA + ") rec2"
|
||||
+ " WHERE 1=1 ";
|
||||
} // fronto
|
||||
|
||||
if (resstatus)
|
||||
sql += " AND res_status_fo_key = " + resstatus;
|
||||
@@ -628,6 +602,17 @@ function res_list (pautfunction, params)
|
||||
return rowclass;
|
||||
}
|
||||
|
||||
function fnrowDataF(oRs)
|
||||
{
|
||||
var resKey = oRs("res_reservering_key").value; // Reservering key
|
||||
var resVolgnr = oRs("res_rsv_ruimte_volgnr").value; // Reservering volgnummer
|
||||
var resRsvRuimteKey = oRs("res_rsv_ruimte_key").value; // rsv_ruimte_key
|
||||
|
||||
var data = {resKey: resKey, resVolgnr: resVolgnr, resRsvRuimteKey: resRsvRuimteKey};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
function fnHasVZ(oRs)
|
||||
{
|
||||
if (oRs("nrObjects").value > 0)
|
||||
@@ -655,6 +640,7 @@ function res_list (pautfunction, params)
|
||||
var rst = new ResultsetTable({keyColumn: "res_rsv_ruimte_key",
|
||||
ID: "restable",
|
||||
rowClass: fnrowClassF,
|
||||
rowData: fnrowDataF,
|
||||
sql: sql,
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
@@ -718,25 +704,25 @@ function res_list (pautfunction, params)
|
||||
{
|
||||
var ora_date1 = datefrom.beginToSQL();
|
||||
var ora_date2 = dateto.endToSQL();
|
||||
fdate_sql = " BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||
fdate_sql = " AND res_rsv_ruimte_van < " + ora_date2 + " AND res_rsv_ruimte_tot > " + ora_date1;
|
||||
//fdate_sql = " BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||
}
|
||||
else if (datefrom)
|
||||
{
|
||||
var ora_date1 = datefrom.beginToSQL();
|
||||
fdate_sql = " >= " + ora_date1;
|
||||
fdate_sql = " res_rsv_ruimte_tot > " + ora_date1;
|
||||
}
|
||||
else if (dateto)
|
||||
{
|
||||
var ora_date2 = dateto.endToSQL();
|
||||
fdate_sql = " < " + ora_date2;
|
||||
fdate_sql = " res_rsv_ruimte_van < " + ora_date2;
|
||||
}
|
||||
|
||||
//ora_date1 = datefrom.beginToSQL();
|
||||
//ora_date2 = dateto.endToSQL();
|
||||
|
||||
// JGL: Niet meer nodig volgens mij: de afzonderlijke takken hebben zelf al wel gefilterd.
|
||||
// if (fdate_sql)
|
||||
//fdate_sql = " BETWEEN " + ora_date1 + " AND " + ora_date2;
|
||||
if (fdate_sql)
|
||||
date_sql = " AND res_geg.res_reservering_van" + fdate_sql;
|
||||
// date_sql = " AND res_geg.res_reservering_van" + fdate_sql;
|
||||
|
||||
if (dep_key)
|
||||
{
|
||||
@@ -814,8 +800,7 @@ function res_list (pautfunction, params)
|
||||
var sql = "";
|
||||
// New res structure
|
||||
// Volgens mij willen we 1 regel per reservering hier; wat doen we dan met de mogelijk varierende kolommen?
|
||||
// Onderstaand is nu 4-11-2006 1:54 wel syntactisch juist.
|
||||
var sql_select = "rrr.res_reservering_key reservering"
|
||||
var sql_select = "rrr.res_reservering_key"
|
||||
+ ", ruimte_geg.alg_locatie_key"
|
||||
+ ", l.alg_locatie_code locatie"
|
||||
+ ", ruimte_geg.alg_gebouw_key"
|
||||
@@ -829,8 +814,8 @@ function res_list (pautfunction, params)
|
||||
+ ", res_geg.res_reservering_van datum"
|
||||
+ ", res_geg.res_reservering_van tijd"
|
||||
+ ", res_geg.res_reservering_tot tot"
|
||||
+ ", (SELECT " + prs_pers_string
|
||||
+ " FROM prs_perslid p "
|
||||
+ ", (SELECT naam"
|
||||
+ " FROM thePerslid p "
|
||||
+ " WHERE p.prs_perslid_key = rrr.res_rsv_ruimte_contact_key) aanvrager"
|
||||
+ ", res_geg.res_ins_discipline_key"
|
||||
+ ", res_rsv_ruimte_omschrijving omschrijving"
|
||||
@@ -855,9 +840,6 @@ function res_list (pautfunction, params)
|
||||
+ " res_status_bo_key"
|
||||
+ ", res_geg.res_type categorie"
|
||||
+ ", rrr.res_rsv_ruimte_bezoekers bezoekers"
|
||||
//+ ", " + DatePart('res_geg.res_reservering_van', 'DD') + " day"
|
||||
//+ ", " + DatePart('res_geg.res_reservering_van', 'MM') + " maand"
|
||||
//+ ", " + DatePart('res_geg.res_reservering_van', 'YYYY') + " jaar"
|
||||
+ ", " + prs_pers_string + " gastheer"
|
||||
+ ", p.prs_perslid_telefoonnr prs_perslid_telefoonnr"
|
||||
+ ", COALESCE((SELECT k.prs_kostenplaats_nr "
|
||||
@@ -914,8 +896,8 @@ function res_list (pautfunction, params)
|
||||
+ " WHERE d.ins_discipline_key = res_ins_discipline_key"
|
||||
+ " AND d.prs_kostensoort_key = ks.prs_kostensoort_key) prs_kostensoortgrp_key"
|
||||
: "")
|
||||
+ ", (SELECT " + prs_pers_string
|
||||
+ " FROM prs_perslid p "
|
||||
+ ", (SELECT naam "
|
||||
+ " FROM thePerslid p "
|
||||
+ " WHERE p.prs_perslid_key = res_geg.afmelder_key) afmelder_naam"
|
||||
+ ", res_geg.afmeld_datum afmeld_datum"
|
||||
+ ", rrr.res_rsv_ruimte_volgnr"
|
||||
@@ -957,8 +939,8 @@ function res_list (pautfunction, params)
|
||||
+ sql_art_key
|
||||
+ sql_article
|
||||
+ sql_art_group;
|
||||
if (date_sql != "")
|
||||
sql_from_art_part += " AND res_rsv_ruimte_van" + fdate_sql;
|
||||
if (fdate_sql != "")
|
||||
sql_from_art_part += fdate_sql;
|
||||
|
||||
var sql_from_obj_part = "SELECT 'V' as res_type"
|
||||
+ ", 'CV' AS rcv_type"
|
||||
@@ -995,8 +977,8 @@ function res_list (pautfunction, params)
|
||||
? " AND rrr.alg_ruimte_key IS NOT NULL"
|
||||
: "")
|
||||
+ sql_obj_key;
|
||||
if (date_sql != "")
|
||||
sql_from_obj_part += " AND res_rsv_ruimte_van" + fdate_sql;
|
||||
if (fdate_sql != "")
|
||||
sql_from_obj_part += fdate_sql;
|
||||
|
||||
var sql_from_room_part = "SELECT 'R' AS res_type"
|
||||
+ ", 'R' AS rcv_type"
|
||||
@@ -1028,38 +1010,37 @@ function res_list (pautfunction, params)
|
||||
+ " AND rro.res_opstelling_key = ro.res_opstelling_key"
|
||||
+ sql_room_key;
|
||||
|
||||
|
||||
if (date_sql != "")
|
||||
sql_from_room_part += " AND res_rsv_ruimte_van" + fdate_sql;
|
||||
if (fdate_sql != "")
|
||||
sql_from_room_part += fdate_sql;
|
||||
//===================================================
|
||||
|
||||
if (groupres == 1)
|
||||
{ // Alleen backoffice reserveringen, group by deelreservering (rsv_ruimte_key and rcv_type DESC)
|
||||
if (sortout == 1) // locatie, tijd
|
||||
var sql_order = " ORDER BY locatie, num_datum_tijd, rsv_ruimte_key, rcv_type DESC, reservering, categorie DESC";
|
||||
var sql_order = " ORDER BY locatie, datum, rsv_ruimte_key, rcv_type DESC, res_reservering_key, categorie DESC";
|
||||
else if (sortout == 2) // plaats
|
||||
var sql_order = " ORDER BY locatie, rsv_ruimte_key, rcv_type DESC, num_datum_tijd";
|
||||
var sql_order = " ORDER BY locatie, rsv_ruimte_key, rcv_type DESC, datum";
|
||||
else if (sortout == 3) // reservering
|
||||
var sql_order = " ORDER BY reservering, rsv_ruimte_key, rcv_type DESC, num_datum_tijd";
|
||||
var sql_order = " ORDER BY res_reservering_key, rsv_ruimte_key, rcv_type DESC, datum";
|
||||
else if (sortout == 4) // gastheer
|
||||
var sql_order = " ORDER BY gastheer, rsv_ruimte_key, rcv_type DESC, num_datum_tijd";
|
||||
var sql_order = " ORDER BY gastheer, rsv_ruimte_key, rcv_type DESC, datum";
|
||||
else if (sortout == 5) // tijd
|
||||
var sql_order = " ORDER BY num_datum_tijd, rsv_ruimte_key, rcv_type DESC, locatie, categorie DESC, bezoekers DESC";
|
||||
var sql_order = " ORDER BY datum, rsv_ruimte_key, rcv_type DESC, locatie, categorie DESC, bezoekers DESC";
|
||||
else
|
||||
var sql_order = " ORDER BY reservering DESC, rsv_ruimte_key, rcv_type DESC, locatie, categorie DESC, num_datum_tijd, res_ruimte_nr, bezoekers DESC";
|
||||
var sql_order = " ORDER BY res_reservering_key DESC, rsv_ruimte_key, rcv_type DESC, locatie, categorie DESC, datum, res_ruimte_nr, bezoekers DESC";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sortout == 1) // locatie, tijd
|
||||
var sql_order = " ORDER BY locatie, num_datum_tijd, res_ruimte_nr, reservering, categorie DESC";
|
||||
var sql_order = " ORDER BY locatie, datum, res_ruimte_nr, res_reservering_key, categorie DESC";
|
||||
else if (sortout == 2) // plaats
|
||||
var sql_order = " ORDER BY locatie, res_ruimte_nr, num_datum_tijd, reservering, categorie DESC";
|
||||
var sql_order = " ORDER BY locatie, res_ruimte_nr, datum, res_reservering_key, categorie DESC";
|
||||
else if (sortout == 3) // reservering
|
||||
var sql_order = " ORDER BY reservering, num_datum_tijd, res_ruimte_nr, categorie DESC";
|
||||
var sql_order = " ORDER BY res_reservering_key, datum, res_ruimte_nr, categorie DESC";
|
||||
else if (sortout == 4) // gastheer
|
||||
var sql_order = " ORDER BY gastheer, num_datum_tijd, res_ruimte_nr, reservering, categorie DESC";
|
||||
var sql_order = " ORDER BY gastheer, datum, res_ruimte_nr, res_reservering_key, categorie DESC";
|
||||
else if (sortout == 5) // tijd
|
||||
var sql_order = " ORDER BY num_datum_tijd, locatie, res_ruimte_nr, reservering, categorie DESC";
|
||||
var sql_order = " ORDER BY datum, locatie, res_ruimte_nr, res_reservering_key, categorie DESC";
|
||||
}
|
||||
|
||||
//sql += sql_order;
|
||||
@@ -1085,7 +1066,8 @@ function res_list (pautfunction, params)
|
||||
if (res_key || artcat)
|
||||
sql_from_total += sql_from_art_part;
|
||||
|
||||
sql = "SELECT " + sql_select
|
||||
sql = thePerslid
|
||||
+ "SELECT " + sql_select
|
||||
+ " FROM (" + sql_from_total + ") res_geg"
|
||||
+ ", res_rsv_ruimte rrr"
|
||||
+ ", prs_perslid p"
|
||||
@@ -1135,7 +1117,7 @@ function res_list (pautfunction, params)
|
||||
if (groupres == 1)
|
||||
{
|
||||
// Voor groepering nog verder filteren
|
||||
sql = " SELECT DISTINCT reservering"
|
||||
sql = " SELECT DISTINCT res_reservering_key"
|
||||
//+ ", alg_locatie_key"
|
||||
+ ", locatie"
|
||||
+ ", alg_gebouw_key"
|
||||
@@ -1148,7 +1130,6 @@ function res_list (pautfunction, params)
|
||||
+ " WHEN 'C' THEN '" + lcl_reserved_object + "'"
|
||||
+ " ELSE res_voorziening"
|
||||
+ " END res_voorziening"
|
||||
//+ ", num_datum_tijd"
|
||||
+ ", datum"
|
||||
+ ", tijd"
|
||||
+ ", tot"
|
||||
@@ -1213,7 +1194,7 @@ function res_list (pautfunction, params)
|
||||
res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true)
|
||||
sql = "SELECT l.alg_locatie_key " + res_keyColumn
|
||||
+ ", l.alg_locatie_omschrijving locatie"
|
||||
+ ", COUNT(distinct res.reservering) aantalres"
|
||||
+ ", COUNT(distinct res.res_reservering_key) aantalres"
|
||||
+ ", SUM(res.verwerkt_prijs) totaalprijs"
|
||||
+ " FROM (" + sql + ") res"
|
||||
+ ", alg_locatie l "
|
||||
@@ -1231,7 +1212,7 @@ function res_list (pautfunction, params)
|
||||
res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true)
|
||||
sql = " SELECT g.alg_gebouw_key " + res_keyColumn
|
||||
+ ", l.alg_locatie_code || '-' || g.alg_gebouw_naam gebouw"
|
||||
+ ", COUNT(distinct res.reservering) aantalres"
|
||||
+ ", COUNT(distinct res.res_reservering_key) aantalres"
|
||||
+ ", SUM(res.verwerkt_prijs) totaalprijs"
|
||||
+ " FROM (" + sql + ") res"
|
||||
+ ", alg_locatie l"
|
||||
@@ -1250,7 +1231,7 @@ function res_list (pautfunction, params)
|
||||
res_columns[res_columns.length] = new columnData(lcl_res_res_nr, "aantalres", "integer", true)
|
||||
sql = " SELECT a.res_activiteit_key " + res_keyColumn
|
||||
+ ", a.res_activiteit_omschrijving activiteit"
|
||||
+ ", COUNT(distinct res.reservering) aantalres"
|
||||
+ ", COUNT(distinct res.res_reservering_key) aantalres"
|
||||
+ " FROM (" + sql + ") res"
|
||||
+ ", res_activiteit a"
|
||||
+ " WHERE res.res_activiteit_key = a.res_activiteit_key"
|
||||
@@ -1267,7 +1248,7 @@ function res_list (pautfunction, params)
|
||||
res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true)
|
||||
sql = " SELECT COALESCE(res.prs_kostensoort_key, 0) " + res_keyColumn
|
||||
+ ", res.prs_kostensoort_oms kostensoort"
|
||||
+ ", COUNT(distinct res.reservering) aantalres"
|
||||
+ ", COUNT(distinct res.res_reservering_key) aantalres"
|
||||
+ ", SUM(res.verwerkt_prijs) totaalprijs"
|
||||
+ " FROM (" + sql + ") res"
|
||||
+ " GROUP BY res.prs_kostensoort_key"
|
||||
@@ -1283,7 +1264,7 @@ function res_list (pautfunction, params)
|
||||
res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true)
|
||||
sql = " SELECT COALESCE(res.prs_kostensoortgrp_key, 0) " + res_keyColumn
|
||||
+ ", res.prs_kostensoortgrp_oms kostensoortgrp"
|
||||
+ ", COUNT(distinct res.reservering) aantalres"
|
||||
+ ", COUNT(distinct res.res_reservering_key) aantalres"
|
||||
+ ", SUM(res.verwerkt_prijs) totaalprijs"
|
||||
+ " FROM (" + sql + ") res"
|
||||
+ " GROUP BY res.prs_kostensoortgrp_key"
|
||||
@@ -1345,7 +1326,7 @@ function res_list (pautfunction, params)
|
||||
res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true)
|
||||
sql = " SELECT COALESCE(res.kostenplaats_key, 0) " + res_keyColumn
|
||||
+ ", res.kostenplaats kostenplaats"
|
||||
+ ", COUNT(DISTINCT res.reservering) aantalres"
|
||||
+ ", COUNT(DISTINCT res.res_reservering_key) aantalres"
|
||||
+ ", SUM(res.verwerkt_prijs) totaalprijs"
|
||||
+ " FROM (" + sql + ") res"
|
||||
+ " GROUP BY kostenplaats_key"
|
||||
@@ -1361,7 +1342,7 @@ function res_list (pautfunction, params)
|
||||
res_columns[res_columns.length] = new columnData(lcl_total, "totaalprijs", "currency", true)
|
||||
sql = "SELECT d.alg_district_key " + res_keyColumn
|
||||
+ ", d.alg_district_omschrijving district"
|
||||
+ ", COUNT(distinct res.reservering) aantalres"
|
||||
+ ", COUNT(distinct res.res_reservering_key) aantalres"
|
||||
+ ", SUM(res.verwerkt_prijs) totaalprijs"
|
||||
+ " FROM (" + sql + ") res"
|
||||
+ ", alg_district d"
|
||||
@@ -1373,8 +1354,8 @@ function res_list (pautfunction, params)
|
||||
else if (groupres == 4)
|
||||
{ // De default als groepering als niets gekozen
|
||||
// minfo reserveringen
|
||||
res_keyColumn = "reservering";
|
||||
res_columns[res_columns.length] = new columnData(lcl_resnr, "reservering")
|
||||
res_keyColumn = "res_reservering_key";
|
||||
res_columns[res_columns.length] = new columnData(lcl_resnr, "res_reservering_key")
|
||||
res_columns[res_columns.length] = new columnData(lcl_location, "locatie")
|
||||
res_columns[res_columns.length] = new columnData(lcl_room_n, "ruimte_aanduiding")
|
||||
res_columns[res_columns.length] = new columnData(lcl_date, "datum")
|
||||
@@ -1387,7 +1368,8 @@ function res_list (pautfunction, params)
|
||||
res_columns[res_columns.length] = new columnData(lcl_remark, "opmerking")
|
||||
res_columns[res_columns.length] = new columnData(lcl_res_no_show, "noshow")
|
||||
res_columns[res_columns.length] = new columnData(lcl_room_n, "totaalprijs", "currency", true)
|
||||
sql = "SELECT res.reservering " + res_keyColumn
|
||||
sql = "SELECT res.res_reservering_key || '/' || res.res_rsv_ruimte_volgnr " + res_keyColumn
|
||||
+ ", res.res_rsv_ruimte_volgnr volgnr"
|
||||
+ ", res.locatie locatie"
|
||||
+ ", res.alg_ruimte_aanduiding ruimte_aanduiding"
|
||||
+ ", res.datum datum"
|
||||
@@ -1406,7 +1388,8 @@ function res_list (pautfunction, params)
|
||||
+ ", MAX(res.res_item_key) res_item_key"
|
||||
+ ", MAX(res.res_ruimte_key) res_ruimte_key"
|
||||
+ " FROM (" + sql + ") res"
|
||||
+ " GROUP BY reservering"
|
||||
+ " GROUP BY res_reservering_key || '/' || res.res_rsv_ruimte_volgnr"
|
||||
+ ", res_rsv_ruimte_volgnr"
|
||||
+ ", locatie"
|
||||
+ ", alg_ruimte_aanduiding"
|
||||
+ ", datum"
|
||||
@@ -1453,6 +1436,18 @@ function res_list (pautfunction, params)
|
||||
* Callback functies ResultsetTable for only MI with grouping
|
||||
****************************************************************/
|
||||
|
||||
function fnrowDataM(oRs)
|
||||
{
|
||||
var data = { resKey : oRs(res_keyColumn).value }; // Reservering key
|
||||
if (res_keyColumn == "res_reservering_key")
|
||||
{
|
||||
data.resVolgnr = oRs("volgnr").value; // Reservering volgnummer
|
||||
data.resRsvRuimteKey = oRs("rsv_ruimte_key").value; // rsv_ruimte_key
|
||||
}
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
function fncolDistrict(oRs)
|
||||
{
|
||||
var content = oRs("locatie");
|
||||
@@ -1466,6 +1461,7 @@ function res_list (pautfunction, params)
|
||||
var rst = new ResultsetTable({keyColumn: res_keyColumn,
|
||||
ID: "restable",
|
||||
//rowClass: fnrowClass,
|
||||
rowData: fnrowDataM,
|
||||
sql: sql,
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
@@ -1503,14 +1499,17 @@ function res_list (pautfunction, params)
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var resKey = oRs("res_reservering_key").value; // Reservering key
|
||||
var resVolgnr = oRs("res_rsv_ruimte_volgnr").value; // Reservering volgnummer
|
||||
var resRsvRuimteKey = oRs("rsv_ruimte_key").value; // rsv_ruimte_key
|
||||
var resPartkey = oRs("res_item_key").value; // rsv_ruimte_key, rsv_deel_key of rsv_artikel_key
|
||||
var resPartType = oRs("categorie").Value; // reserveringstype ('C', 'V', 'R')
|
||||
var resPartType = oRs("categorie").value; // reserveringstype ('C', 'V', 'R')
|
||||
|
||||
var resVanDatumMidnight = new Date(oRs("tijd").value).midnight(); // rsv_ruimte_van datum om middernacht
|
||||
var now = new Date();
|
||||
var resFuture = (resVanDatumMidnight > now? 1 : 0)
|
||||
|
||||
var data = {resPartkey: resPartkey, resPartType: resPartType, resFuture: resFuture};
|
||||
var data = {resKey: resKey, resVolgnr: resVolgnr, resRsvRuimteKey: resRsvRuimteKey, resPartkey: resPartkey, resPartType: resPartType, resFuture: resFuture};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
@@ -1547,7 +1546,7 @@ function res_list (pautfunction, params)
|
||||
////else
|
||||
//{
|
||||
// if (oRs("afmelder_naam").value == null)
|
||||
// alt_afmeld_info = 'alt="' + lcl_RES_completed_unknowed + '"';
|
||||
// alt_afmeld_info = 'alt="' + LCL.res.completed_unknown + '"';
|
||||
// else
|
||||
// alt_afmeld_info = 'alt="' + toDateString(oRs("afmeld_datum").value) + ' - ' + oRs("afmelder_naam").value + '"';
|
||||
// //content = '<img style="display:block" id="afm' + oRs("keycolumn").value + '" src="../Pictures/res_ok.gif" ' + alt_afmeld_info + '>'
|
||||
@@ -1564,7 +1563,7 @@ function res_list (pautfunction, params)
|
||||
|
||||
function fnrowResNr(oRs)
|
||||
{
|
||||
return oRs("reservering").value + "/" + oRs("res_rsv_ruimte_volgnr").value;
|
||||
return oRs("res_reservering_key").value + "/" + oRs("res_rsv_ruimte_volgnr").value;
|
||||
}
|
||||
|
||||
function fnrowVisitors(oRs)
|
||||
@@ -1586,9 +1585,13 @@ function res_list (pautfunction, params)
|
||||
{
|
||||
if (groupres == 1)
|
||||
{
|
||||
if (oRs("categorie").value == 'R')
|
||||
if (oRs("categorie").value == 'R') {
|
||||
// TODO: ik wil hier een span class toevoegen om afwijking van de
|
||||
// defaultopstelling te markeren. Ik vind het echter nu nogal ondoorzichtig
|
||||
// waar die kolomwaarde vandaan zou moeten komen.
|
||||
//c_inst = (oRs('res_ruimte_opstel_default').value != "1" ? "*" : "")
|
||||
c_inst = oRs("res_voorziening").value;
|
||||
else
|
||||
} else
|
||||
c_inst = lcl_reserved_object;
|
||||
}
|
||||
else
|
||||
@@ -1604,16 +1607,16 @@ function res_list (pautfunction, params)
|
||||
|
||||
function fnrowDescr(oRs)
|
||||
{
|
||||
descr = oRs("omschrijving").Value;
|
||||
if (descr == "" || descr == '' || descr == 'null' || descr == "null" || descr == 0)
|
||||
var descr = oRs("omschrijving").Value;
|
||||
if (descr == "" || descr == "null")
|
||||
descr = " ";
|
||||
return descr;
|
||||
}
|
||||
|
||||
function fnrowRemark(oRs)
|
||||
{
|
||||
remark = oRs("opmerking").Value;
|
||||
if (remark == "" || remark == '' || remark == 'null' || remark == "null" || remark == 0)
|
||||
var remark = oRs("opmerking").Value;
|
||||
if (remark == "" || remark == "null")
|
||||
remark=" ";
|
||||
return remark;
|
||||
}
|
||||
@@ -1639,8 +1642,11 @@ function res_list (pautfunction, params)
|
||||
});
|
||||
|
||||
// Kolommen
|
||||
rst.addColumn(new Column({caption: lcl_location, content: "locatie"}));
|
||||
rst.addColumn(new Column({caption: lcl_room_n, content: "res_ruimte_nr", combine: true, hasActions: true}));
|
||||
// AAFM#14872/PF: Deze locatiekolom is wat dubbelop. We spreken af dat we die
|
||||
// eerst maar eens niet meer tonen. Als er gefundeerde klachten komen is
|
||||
// deze snel genoeg combined terug te halen
|
||||
// rst.addColumn(new Column({caption: lcl_location, content: "locatie"}));
|
||||
rst.addColumn(new Column({caption: lcl_room_n, content: "res_ruimte_nr", combine: false, hasActions: true}));
|
||||
rst.addColumn(new Column({caption: lcl_date, content: "datum"}));
|
||||
rst.addColumn(new Column({caption: lcl_res_starttime, content: "tijd", datatype: "time"}));
|
||||
rst.addColumn(new Column({caption: lcl_res_endtime, content: "tot", datatype: "time"}));
|
||||
@@ -1687,7 +1693,7 @@ function res_list (pautfunction, params)
|
||||
%>
|
||||
<iframe src="../Shared/empty.asp" frameborder="0" id="hidFrame" style="display:none"></iframe>
|
||||
<%
|
||||
} // else frontend || fronto
|
||||
} // else bo || mi
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,39 +1,41 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 7-07-09 11:17 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 28-10-09 16:33 $
|
||||
|
||||
File: obj_schedule.asp
|
||||
Description: Create small planboard for reservable objects
|
||||
At the body.onload it copies its entire innerHTML to the parent
|
||||
Wordt via Ajax geladen/geplakt in de body res_edit_objcat.asp
|
||||
als een categorie wordt opengeklapt.
|
||||
Parameters: urole
|
||||
rsv_ruimte_key optioneel. Als meegegeven dan zitten we in edit mode en komen er
|
||||
extra edit veldjes in beeld.
|
||||
Als niet meegegeven dan is rsv_van verplicht en tonen we
|
||||
alleen een planbordje
|
||||
rsv_van datum, optioneel, zie rsv_ruimte_key
|
||||
Context: Called in hidden frame of reserv_Objects_js.asp when user 'opens' object categorie
|
||||
??Let wel: 'onder het grote planbord' en 'na drukken knop voorzieningen bij een
|
||||
bestaande of nieuwe reservering' geeft iets ander gedrag??
|
||||
Notes: See also cons_objects.asp for consumable objects. Solved differently
|
||||
though.
|
||||
|
||||
Context: Geladen via ajax als user 'opent' object categorie
|
||||
Notes: Zie ook cons_objects.asp voor catering
|
||||
het RES_RSV_RUIMTE record bestaat altijd al!
|
||||
res_rsv_ruimte_key is dan ook zo'n beetje de enige parameter?
|
||||
Er wordt combinatie-validate gedaan
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<% Response.Expires = -1; %>
|
||||
<!--#include file="../../cust/install.inc"-->
|
||||
|
||||
<!--#include file="../Shared/funcodes.inc"-->
|
||||
<!--#include file="../Shared/date_sql.inc" -->
|
||||
<!--#include file="../shared/datetime.inc"-->
|
||||
<!--#include file="../Shared/escape.inc" -->
|
||||
<!--#include file="../Shared/discxalg3d.inc"-->
|
||||
<!--#include file="res.inc"-->
|
||||
<!--#include file="obj_schedule.inc"-->
|
||||
<!-- #include file="../shared/kpl_ksrt_validate.inc" -->
|
||||
|
||||
<%
|
||||
var urole = getQParam("urole");
|
||||
var rsv_ruimte_key = getQParam("rsv_ruimte_key", -1);
|
||||
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key", -1);
|
||||
var sdisc = getQParamInt("sdisc");
|
||||
if (rsv_ruimte_key>0)
|
||||
{
|
||||
// Zo snel mogelijk relevante basisinformatie opzoeken
|
||||
@@ -47,27 +49,28 @@
|
||||
var res_key = oRs("res_reservering_key").value;
|
||||
var res_van = new Date(oRs("res_rsv_ruimte_van").value);
|
||||
var res_tot = new Date(oRs("res_rsv_ruimte_tot").value);
|
||||
|
||||
if (!kpl_ksrt_validate(oRs("prs_kostenplaats_key"), null, sdisc))
|
||||
{
|
||||
%><script type="text/javascript">
|
||||
alert("<%=lcl_res_kpks_validatie%>");
|
||||
</script>
|
||||
<%
|
||||
Response.End()
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var res_van = new Date(parseInt(getQParam("rsv_van")));
|
||||
res_tot = rsv_van;
|
||||
var res_van = getQParamDate("res_van");
|
||||
var res_tot = getQParamDate("res_tot", res_van);
|
||||
}
|
||||
var hour_px = getQParamInt("hour_px", 48); // setting res_plan_hour_px;
|
||||
|
||||
var fronto = (urole=='fo');;
|
||||
var backo = (urole=='bo');
|
||||
var jumped = Request.QueryString("jumped").Count>0;
|
||||
|
||||
var sdisc = parseInt( Request.QueryString("sdisc") );
|
||||
|
||||
var yy = res_van.getFullYear();
|
||||
var mm = res_van.getMonth()+1;
|
||||
var dd = res_van.getDate();
|
||||
|
||||
var h1 = '00'; // Request.QueryString("h1"); // these params represent _current_ reservation start/end time,
|
||||
var m1 = '00'; // Request.QueryString("m1"); // but these way they don't show all reserved objects of a day for
|
||||
var h2 = '23'; // Request.QueryString("h2"); // object editing
|
||||
var m2 = '59'; // Request.QueryString("m2");
|
||||
|
||||
var ch_obj_mode = parseInt(Request.QueryString("ch_obj_mode"));
|
||||
|
||||
@@ -75,11 +78,14 @@
|
||||
autfunction = 'WEB_RESUSE';
|
||||
else
|
||||
autfunction = 'WEB_RESFOF';
|
||||
%>
|
||||
<!--#include file="../Shared/autlevel.inc"-->
|
||||
<%
|
||||
objSchedule(fronto, backo, jumped, sdisc,
|
||||
rsv_ruimte_key,
|
||||
res_van, res_tot, ch_obj_mode);
|
||||
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
|
||||
objSchedule(sdisc, res_van, res_tot,
|
||||
{ jumped: jumped,
|
||||
hour_px: hour_px,
|
||||
rsv_ruimte_key: rsv_ruimte_key,
|
||||
ch_obj_mode: ch_obj_mode
|
||||
});
|
||||
|
||||
%>
|
||||
@@ -1,14 +1,14 @@
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 3-09-09 13:42 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 2-11-09 12:31 $
|
||||
|
||||
File: obj_schedule.inc
|
||||
Status: 75%
|
||||
Status: 75% (PF: hooguit)
|
||||
Description: Create small planboard for reservable objects
|
||||
At the body.onload it copies its entire innerHTML to the parent
|
||||
Parameters: ???
|
||||
|
||||
Context: Called in hidden frame of reserv_Objects_js.asp clientside when user 'opens' object categorie
|
||||
Context: Geladen via ajaxals gebruiker een object categorie opent
|
||||
as well serverside when object categorie should be open initially
|
||||
??Let wel: 'onder het grote planbord' en 'na drukken knop voorzieningen bij een
|
||||
bestaande of nieuwe reservering' geeft iets ander gedrag??
|
||||
@@ -16,157 +16,116 @@
|
||||
though.
|
||||
|
||||
*/
|
||||
%>
|
||||
|
||||
<%
|
||||
var res_color_free = "#b0b0b0"; // Vrij: licht grijs
|
||||
var res_color_resv = "#990000"; // Definitief: rood
|
||||
var res_color_optie = "#31398C"; // Optie: blauw
|
||||
var res_color_techb = "#808080"; // Schoonmaak: donker grijs
|
||||
var res_color_blok = "#000000"; // Blokkade: zwart
|
||||
var res_color_verv = "#990099"; // Vervallen: paars
|
||||
var res_color_na = "#D6D80E"; // Niet beschikbaar: geel
|
||||
%>
|
||||
FCLTHeader.Requires({ js: ["./room_schedule.js"] });
|
||||
|
||||
<script type="text/javascript">
|
||||
var res_color_free = "<%=res_color_free%>";
|
||||
var res_color_resv = "<%=res_color_resv%>";
|
||||
var res_color_optie = "<%=res_color_optie%>";
|
||||
var res_color_techb = "<%=res_color_techb%>";
|
||||
var res_color_blok = "<%=res_color_blok%>";
|
||||
first=true;
|
||||
|
||||
res_t1 = <% = " " + res_t1 %>;
|
||||
res_t2 = <% = " " + res_t2 %>;
|
||||
res_h = <% = " " + res_h %>;
|
||||
res_intervals = <% = res_intervals %>;
|
||||
|
||||
</script>
|
||||
<script type="text/javascript" src="room_schedule.js"></script>
|
||||
|
||||
<%
|
||||
function EmitTimeHeader() // Kopregel plantable
|
||||
function objSchedule(sdisc, res_van, res_tot, params)
|
||||
{
|
||||
if (isEdit) {
|
||||
%>
|
||||
<td></td>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td align='right'></td>
|
||||
<%
|
||||
var showOnlyOddHours = ((res_t2 - res_t1) >= res_roomplan_skiplimit)
|
||||
var mod_t1 = (res_t1 % (showOnlyOddHours?2:1)); // bepaal restwaarde
|
||||
if (mod_t1 == 0) mod_t1 = (showOnlyOddHours?2:1); // als even dan restwaarde is 1 of 2
|
||||
s0 = res_t1 - (mod_t1);
|
||||
//s0 = res_t1 - 1;
|
||||
s = res_t1;
|
||||
i0 = -1;
|
||||
m ="";
|
||||
for (i=0; i<=res_intervals; i++)
|
||||
params = params || {};
|
||||
params.hour_px = params.hour_px || 48;
|
||||
params.rsv_ruimte_key = params.rsv_ruimte_key || -1;
|
||||
params.ch_obj_mode = params.ch_obj_mode || 0;
|
||||
var res_h_px = params.hour_px * res_h;
|
||||
|
||||
mkDiv = function (theClass, h_start, h_end, theClick, theMouse, theOther)
|
||||
{
|
||||
if (s - s0 >= (showOnlyOddHours?2:1)) // Elke 1 of 2 uur de tijd weergeven
|
||||
//if (s - s0 >= 1)
|
||||
var div;
|
||||
var overleft="";
|
||||
var overright="";
|
||||
if (h_start<res_t1)
|
||||
{
|
||||
h = Math.floor(s);
|
||||
if (h < 10) h = "0" + h;
|
||||
%>
|
||||
<td colspan="<%=(i-i0)%>" align="right" class=header>
|
||||
<table border="0" cellspacing="0" cellpadding="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" class="room_sched_cap"><%=m%></td>
|
||||
<td align="right" class="room_sched_cap"><%=h%></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<%
|
||||
m = Math.floor((s - h)*60);
|
||||
if (m < 10) m = "0" + m;
|
||||
i0 = i;
|
||||
s0 = s;
|
||||
}
|
||||
s += res_h;
|
||||
}
|
||||
%>
|
||||
<td colspan="2" class="room_sched_cap"><%=m%></td>
|
||||
<%
|
||||
h_start = res_t1-res_h;
|
||||
if (dagen > 0)
|
||||
overleft = " continueleft";
|
||||
else
|
||||
overleft = " overflowleft";
|
||||
}
|
||||
|
||||
function h_seg( h1, m1, h2, m2, res_key, rsv_ruimte_key, optie, blokkade, vervallen, rsv_deel_key, alg_ruimte_key, cur_res, bez_key, res_status ) {
|
||||
this.h_start = h1 + m1/60;
|
||||
this.h_end = h2 + m2/60;
|
||||
this.res_key = res_key;
|
||||
this.rsv_ruimte_key = rsv_ruimte_key;
|
||||
this.optie = optie;
|
||||
this.blokkade = blokkade;
|
||||
this.vervallen = vervallen;
|
||||
this.rsv_deel_key = rsv_deel_key;
|
||||
this.alg_ruimte_key = alg_ruimte_key;
|
||||
this.cur_res = cur_res;
|
||||
this.bez_key = bez_key;
|
||||
|
||||
this.h1 = h1;
|
||||
this.h2 = h2;
|
||||
this.m1 = m1;
|
||||
this.m2 = m2;
|
||||
this.res_status = res_status;
|
||||
if (h_end>res_t2)
|
||||
{
|
||||
h_end = res_t2+res_h;
|
||||
if (dagen < nr_days-1)
|
||||
overright = " continueright";
|
||||
else
|
||||
overright = " overflowright";
|
||||
}
|
||||
var px_start = (h_start-res_t1)*params.hour_px + 1; // 1 px speling
|
||||
var px_end = (h_end-res_t1)*params.hour_px;
|
||||
|
||||
// rsv_ruimte_key altijd verplicht!
|
||||
function objSchedule(fronto, backo, jumped, sdisc,
|
||||
rsv_ruimte_key1,
|
||||
res_van, res_tot, ch_obj_mode) {
|
||||
if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0)
|
||||
INTERNAL_ERROR_OBJ_SCHEDULE;
|
||||
var px_width = px_end - px_start;
|
||||
if (overleft!=""&&overright!="")
|
||||
{ // Maak twee divjes, eentje links en eentje rechts.
|
||||
// HTML kan maar <20><>n background image tegelijk aan
|
||||
div = "<div class='"+theClass+overleft+"'"
|
||||
+(theMouse||"")
|
||||
+(theClick||"")
|
||||
+(theOther||"")
|
||||
+" style='left:"+px_start+"px;width:"+(px_width/2)+"px'>"
|
||||
+" </div>";
|
||||
div += "<div class='"+theClass+overright+"'"
|
||||
+(theMouse||"")
|
||||
+(theClick||"")
|
||||
+(theOther||"")
|
||||
+" style='left:"+(px_start+px_width/2)+"px;width:"+(px_width/2)+"px'>"
|
||||
+" </div>";
|
||||
}
|
||||
else
|
||||
{
|
||||
div = "<div class='"+theClass+overleft+overright+"'"
|
||||
+(theMouse||"")
|
||||
+(theClick||"")
|
||||
+(theOther||"")
|
||||
+" style='left:"+px_start+"px;width:"+px_width+"px'>"
|
||||
+" </div>";
|
||||
}
|
||||
return { div: div, overleft: overleft, overright: overright };
|
||||
}
|
||||
|
||||
var readwrite = func_enabled[ "WEB_RESFOF"] || func_enabled[ "WEB_RESUSE"];
|
||||
if( readwrite || func_enabled[ "WEB_RESFO2"] )
|
||||
{ // MGE UWVA#12468: In FE planbord wordt obj_schedule.asp niet aangeroepen (Er wordt gechecked op !frontend).
|
||||
// Bij invullen voorzieningen heeft FE wel recht op invoer als FE ALGwrite rechten heeft voor WEB_RESUSE
|
||||
readwrite=(ALGwritelevel<9); // Ondersteun (FE) gebruikers met *alleen* FO-leesrechten: kijken planbord
|
||||
readwrite=(authparams.ALGwritelevel<9); // Ondersteun (FE) gebruikers met *alleen* FO-leesrechten: kijken planbord
|
||||
|
||||
sql = "SELECT COALESCE(ru.res_ruimte_begintijd, " + res_t1 + ") res_t1"
|
||||
+ ", COALESCE(ru.res_ruimte_eindtijd, " + res_t2 + ") res_t2"
|
||||
if (params.rsv_ruimte_key>0) // single-reservering mode
|
||||
{
|
||||
sql = "SELECT ru.res_ruimte_begintijd"
|
||||
+ ", ru.res_ruimte_eindtijd"
|
||||
+ ", rr.alg_ruimte_key"
|
||||
+ " FROM res_v_aanwezigruimte ru"
|
||||
+ ", res_rsv_ruimte rr"
|
||||
+ ", res_ruimte_opstelling ro"
|
||||
+ " WHERE ru.res_ruimte_key = ro.res_ruimte_key"
|
||||
+ " AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key"
|
||||
+ " AND rr.res_rsv_ruimte_key = " + rsv_ruimte_key1;
|
||||
+ " AND rr.res_rsv_ruimte_key = " + params.rsv_ruimte_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var alg_ruimte_key = oRs("alg_ruimte_key").value;
|
||||
var starttime_room = oRs("res_t1").value;
|
||||
var endtime_room = oRs("res_t2").value;
|
||||
if (starttime_room < res_t1) starttime_room = res_t1;
|
||||
if (endtime_room > res_t2) endtime_room = res_t2;
|
||||
if (starttime_room > endtime_room) starttime_room = endtime_room;
|
||||
starttime_room = toJsNumber(starttime_room);
|
||||
endtime_room = toJsNumber(endtime_room);
|
||||
// Als de ruimte maar beperkt open is gaan we rekenen met een krappere res_t1/res_t2
|
||||
var res_ruimte_begintijd = oRs("res_ruimte_begintijd").Value||res_t1;
|
||||
var res_ruimte_eindtijd = oRs("res_ruimte_eindtijd").Value||res_t2;
|
||||
if (res_ruimte_begintijd > res_ruimte_eindtijd) res_ruimte_begintijd = res_ruimte_eindtijd;
|
||||
if (res_ruimte_begintijd > res_t1) res_t1 = res_ruimte_begintijd;
|
||||
if (res_ruimte_eindtijd > res_t2) res_t2 = res_ruimte_eindtijd;
|
||||
}
|
||||
else // CV reserverering
|
||||
else // CV reserverering, altijd res_t1-res_t2
|
||||
{
|
||||
sql = "SELECT alg_ruimte_key"
|
||||
+ " FROM res_rsv_ruimte"
|
||||
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key1;
|
||||
+ " WHERE res_rsv_ruimte_key = " + params.rsv_ruimte_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
var alg_ruimte_key = oRs("alg_ruimte_key").value;
|
||||
starttime_room = res_t1;
|
||||
endtime_room = res_t2;
|
||||
}
|
||||
}
|
||||
var loc_key = params.loc_key || -1;
|
||||
|
||||
var loc_key = -1;
|
||||
pref = 1;
|
||||
isEdit = (params.ch_obj_mode > 0);
|
||||
|
||||
if (isNaN(ch_obj_mode)) ch_obj_mode = 0;
|
||||
|
||||
isEdit = (ch_obj_mode > 0);
|
||||
|
||||
if (rsv_ruimte_key1<0){
|
||||
ch_obj_mode = 0;
|
||||
if (params.rsv_ruimte_key<0){
|
||||
params.ch_obj_mode = 0;
|
||||
}
|
||||
|
||||
if (isNaN(sdisc)) {
|
||||
@@ -178,53 +137,20 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0)
|
||||
{
|
||||
ora_date1 = res_van.beginToSQL();
|
||||
ora_date2 = res_tot.endToSQL();
|
||||
var res_color_free = "#b0b0b0"; // Vrij: licht grijs
|
||||
var res_color_resv = "#990000"; // Definitief: rood
|
||||
var res_color_optie = "#31398C"; // Optie: blauw
|
||||
var res_color_techb = "#808080"; // Schoonmaak: donker grijs
|
||||
var res_color_blok = "#000000"; // Blokkade: zwart
|
||||
var res_color_verv = "#990099"; // Vervallen: paars
|
||||
var res_color_na = "#D6D80E"; // Niet beschikbaar: geel
|
||||
%>
|
||||
<html>
|
||||
<body onload="parent.document.getElementById('div_dis<%=sdisc%>').innerHTML = document.body.innerHTML
|
||||
parent.document.getElementById('div_dis<%=sdisc%>').style.display = 'block';
|
||||
if(parent.parent && parent.parent.ExpandFrame) {
|
||||
parent.parent.ExpandFrame(parent.name); // objFrame
|
||||
if(parent.parent.parent.ExpandFrame)
|
||||
parent.parent.parent.ExpandFrame(parent.parent.name); // workFrame
|
||||
}
|
||||
if (parent.obj_schedule_done) parent.obj_schedule_done();
|
||||
parent.res_color_free = res_color_free;">
|
||||
<%
|
||||
//oude functie CreateObjSchedule ingevoegd
|
||||
|
||||
var nr_days = 1+(res_tot.midnight() - res_van.midnight())/24/60/60/1000;
|
||||
|
||||
var sql, Autfunction;
|
||||
var existing_res = {};
|
||||
|
||||
|
||||
if (isEdit) { // Tijdstip edit velden toevoegen
|
||||
// Bepaal de standaard duur van de reservering
|
||||
var res_duur = res_dur; // initial reserving duration
|
||||
var sql = "SELECT COALESCE(rac.res_activiteit_duur, " + res_dur + ") duur"
|
||||
+ " FROM res_rsv_ruimte rr"
|
||||
+ ", res_activiteit rac"
|
||||
+ " WHERE rr.res_rsv_ruimte_key = " + rsv_ruimte_key1
|
||||
+ " AND rac.res_activiteit_key = rr.res_activiteit_key";
|
||||
var oRsDuur = Oracle.Execute(sql);
|
||||
if (!oRsDuur.eof) {
|
||||
res_duur = oRsDuur("duur").value;
|
||||
}
|
||||
oRsDuur.close();
|
||||
}
|
||||
|
||||
// Determine all existing reserved objects and store them in an array 'existing_res'
|
||||
sql = "SELECT " // Via gewone reserveringen, die hebben res_rsv_ruimte_key
|
||||
+ " rrd.RES_RSV_DEEL_VAN, rrd.RES_RSV_DEEL_TOT"
|
||||
+ " rrd.RES_RSV_DEEL_VAN"
|
||||
+ ", rrd.RES_RSV_DEEL_TOT"
|
||||
+ ", rd.res_deel_key"
|
||||
+ ", rr.res_status_fo_key"
|
||||
+ ", rr.res_reservering_key"
|
||||
+ ", rrd.res_rsv_deel_key"
|
||||
+ ", rrd.res_rsv_deel_dirtlevel"
|
||||
+ ", rrd.res_rsv_ruimte_key"
|
||||
+ ", rr.alg_ruimte_key"
|
||||
+ ", -1 bez_bezoekers_key"
|
||||
@@ -232,18 +158,20 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0)
|
||||
+ " FROM res_v_aanwezigrsv_ruimte rr"
|
||||
+ ", res_v_aanwezigdeel rd" //PF: aanwezig?
|
||||
+ ", res_v_aanwezigrsv_deel rrd"
|
||||
+ " WHERE rrd.res_rsv_deel_tot BETWEEN " + ora_date1 + " AND " + ora_date2
|
||||
+ " WHERE rrd.res_rsv_deel_tot >= " + ora_date1
|
||||
+ " AND rrd.res_rsv_deel_van <= " + ora_date2
|
||||
+ " AND rrd.res_deel_key = rd.res_deel_key"
|
||||
+ " AND rrd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
|
||||
+ " AND rd.res_discipline_key = " + sdisc
|
||||
|
||||
if (sdisc==vis_parking_key)
|
||||
sql = sql + " UNION ALL " //Die via afspraak/bezoekers (parkeerplaatsen)
|
||||
+ "SELECT rrd.RES_RSV_DEEL_VAN, rrd.RES_RSV_DEEL_TOT"
|
||||
+ "SELECT rrd.RES_RSV_DEEL_VAN"
|
||||
+ ", rrd.RES_RSV_DEEL_TOT"
|
||||
+ ", rd.RES_DEEL_KEY"
|
||||
+ ", -1 res_status_fo_key"
|
||||
+ ", -1" // RES_RESERVERING_key
|
||||
+ ", 2 res_status_fo_key" // altijd definitief
|
||||
+ ", rrd.res_rsv_deel_key"
|
||||
+ ", rrd.res_rsv_deel_dirtlevel"
|
||||
+ ", rrd.RES_RSV_RUIMTE_KEY"
|
||||
+ ", -1 ALG_RUIMTE_KEY"
|
||||
+ ", rrd.bez_bezoekers_key"
|
||||
@@ -252,7 +180,8 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0)
|
||||
+ ", RES_V_AANWEZIGRSV_DEEL rrd"
|
||||
+ ", bez_bezoekers b"
|
||||
+ ", bez_afspraak a"
|
||||
+ " WHERE rrd.RES_RSV_DEEL_TOT BETWEEN " + ora_date1 + " AND " + ora_date2
|
||||
+ " WHERE rrd.res_rsv_deel_tot >= " + ora_date1
|
||||
+ " AND rrd.res_rsv_deel_van <= " + ora_date2
|
||||
+ " AND rrd.res_deel_key = rd.res_deel_key"
|
||||
+ " AND rrd.bez_bezoekers_key = b.bez_bezoekers_key"
|
||||
+ " AND b.bez_afspraak_key = a.bez_afspraak_key"
|
||||
@@ -264,40 +193,37 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0)
|
||||
var res_d_key = oRs("RES_DEEL_KEY").Value;
|
||||
|
||||
if (! existing_res[res_d_key]) existing_res[res_d_key]=new Array();
|
||||
existing_res[res_d_key].push(new h_seg(new Date(oRs("RES_RSV_DEEL_VAN").Value).getHours(),
|
||||
new Date(oRs("RES_RSV_DEEL_VAN").Value).getMinutes(),
|
||||
new Date(oRs("RES_RSV_DEEL_TOT").Value).getHours(),
|
||||
new Date(oRs("RES_RSV_DEEL_TOT").Value).getMinutes(),
|
||||
oRs("RES_RESERVERING_key").Value, oRs("RES_RSV_RUIMTE_KEY").Value,
|
||||
oRs("res_status_fo_key").Value == "1",
|
||||
oRs("res_status_fo_key").Value == "3",
|
||||
oRs("res_status_fo_key").Value == "4",
|
||||
oRs("res_rsv_deel_key").Value,
|
||||
oRs("ALG_RUIMTE_KEY").Value,
|
||||
(rsv_ruimte_key1 == oRs("res_rsv_ruimte_key").Value), // "oude" code - nog rekening houden
|
||||
oRs("bez_bezoekers_key").Value,
|
||||
oRs("res_status_bo_key").Value));
|
||||
oRs.MoveNext(); // met "Blokkade"
|
||||
|
||||
|
||||
existing_res[res_d_key].push({res_van : new Date(oRs("RES_RSV_DEEL_VAN").Value),
|
||||
res_tot : new Date(oRs("RES_RSV_DEEL_TOT").Value),
|
||||
rsv_ruimte_key : oRs("RES_RSV_RUIMTE_KEY").Value,
|
||||
status_fo_key : oRs("res_status_fo_key").Value,
|
||||
dirtlevel : oRs("res_rsv_deel_dirtlevel").Value,
|
||||
rsv_deel_key : oRs("res_rsv_deel_key").Value,
|
||||
alg_ruimte_key : oRs("ALG_RUIMTE_KEY").Value,
|
||||
bez_key : oRs("bez_bezoekers_key").Value,
|
||||
res_status : oRs("res_status_bo_key").Value
|
||||
});
|
||||
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.close();
|
||||
|
||||
var onclick = "";
|
||||
if (readwrite&&!params.jumped)
|
||||
onclick = "onclick=obj_table_click(parseInt(window.event.offsetX)/"+params.hour_px+"+"+res_t1+",'"+urole+"')";
|
||||
|
||||
%>
|
||||
<table id="table_dis<%=sdisc%>" class="tab_obj_sched" border="0" cellspacing="0" cellpadding="0"
|
||||
<%=(readwrite&&!jumped?('onClick="doTClick('+(isEdit?'1':'')+')"'):'')%>>
|
||||
<table id="table_dis<%=sdisc%>" class="tab_obj_sched planbord planbord<%=params.hour_px%>" cellspacing="0"
|
||||
<%=onclick%>
|
||||
>
|
||||
<%//// Extra regel met losse cellen om afmetingen te forceren%>
|
||||
<%
|
||||
// Laat 20% over voor ruimteomschrijving e.d.
|
||||
var t_w = (80 / res_intervals)+"%";
|
||||
%>
|
||||
|
||||
<tr>
|
||||
<td colspan=5></td>
|
||||
<%
|
||||
for (i=0; i<=res_intervals+2; i++) {
|
||||
%> <td width="<%=t_w%>"></td><% // dezelfde breedte voor elke vakje
|
||||
}
|
||||
%>
|
||||
<td><label><%=lcl_item%></label></td>
|
||||
<% res.emit_planbord_tijdbalk(res_van, nr_days, hour_px); %>
|
||||
</tr>
|
||||
<tr><% EmitTimeHeader() %></tr>
|
||||
<!-- <tr><td width="16"></td><td colspan="<% = res_intervals * 2 + 1 %>" height="1" bgcolor="#ffffff"></td><td width="13"></td></tr> -->
|
||||
<%
|
||||
var showOnlyOddHours = ((res_t2 - res_t1) >= res_roomplan_skiplimit)
|
||||
var mod_t1 = (res_t1 % (showOnlyOddHours?2:1)); // bepaal restwaarde
|
||||
@@ -307,34 +233,33 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0)
|
||||
+ ", r.res_deel_opmerking"
|
||||
+ ", d.ins_deel_omschrijving"
|
||||
+ ", r.res_deel_prijs"
|
||||
+ ", r.res_deel_eenheid"
|
||||
+ ", r.res_deel_prijs_vast ";
|
||||
+ ", r.res_deel_eenheid";
|
||||
var group_by = " GROUP BY " + select_fields + " ORDER BY 3 "; // d.ins_deel_omschrijving: Don't use column alias with UNION ...
|
||||
if (!isNaN(rsv_ruimte_key1) || (!isNaN(alg_ruimte_key))) {
|
||||
|
||||
if (params.rsv_ruimte_key>0) {
|
||||
// Iterate through all reservable objects (vertically) and show schedule for them (horizontally)
|
||||
var n=0,res_deel_key,free,res_key,rsv_ruimte_key;
|
||||
%>
|
||||
<!--#include file="../Res/res.inc"-->
|
||||
<%
|
||||
var sql1 = getReservedObjectTypes(alg_ruimte_key, rsv_ruimte_key1, select_fields, loc_key, sdisc, group_by);
|
||||
var n=0,res_deel_key,free,rsv_ruimte_key;
|
||||
|
||||
var sql1 = getReservedObjectTypes(alg_ruimte_key, params.rsv_ruimte_key, select_fields, loc_key, sdisc, group_by);
|
||||
|
||||
} else {
|
||||
// We hebben dus g<><67>n alg_ruimte_key <20>n g<><67>n res_rsv_ruimte_key
|
||||
// Deze tak wordt o.a. gebruikt in het grote planbord als je onderin openklapt
|
||||
// Scope is hierbij heel anders?
|
||||
// Iterate through all reservable objects (vertically) and show schedule for them (horizontally)
|
||||
// Er geldt: rsv_ruimte_key1 == NULL en alg_ruimte_key == NULL
|
||||
var n=0, res_deel_key, free, res_key, rsv_ruimte_key;
|
||||
// Er geldt: params.rsv_ruimte_key == NULL en alg_ruimte_key == NULL
|
||||
var n=0, res_deel_key, free, rsv_ruimte_key;
|
||||
|
||||
var sql1 = "SELECT " + select_fields
|
||||
+ " FROM ins_deel d, res_v_aanwezigdeel r "
|
||||
+ " FROM ins_deel d,"
|
||||
+ " res_v_aanwezigdeel r "
|
||||
+ " WHERE r.res_discipline_key="+sdisc
|
||||
+ " AND r.res_ins_deel_key=d.ins_deel_key"
|
||||
+ ((loc_key > -1)
|
||||
? " AND d.ins_alg_locatie_key=" + loc_key
|
||||
: "")
|
||||
+ " AND d.ins_alg_ruimte_type IN ('R','T')"
|
||||
+ ((ALGreadlevel>-1)
|
||||
+ ((authparams.ALGreadlevel>-1)
|
||||
? " AND d.ins_alg_locatie_key IN "
|
||||
+ " (SELECT alg_locatie_key "
|
||||
+ " FROM fac_v_my_locations l, fac_v_webgebruiker gg "
|
||||
@@ -342,42 +267,40 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0)
|
||||
+ " AND l.prs_perslid_key = gg.prs_perslid_key "
|
||||
+ " AND niveau = gg.fac_gebruiker_alg_level_write "
|
||||
+ " AND gg.ins_discipline_key=" + sdisc
|
||||
+ " AND gg.fac_functie_key = " + autfunctionkey+")"
|
||||
+ " AND gg.fac_functie_key = " + authparams.autfunctionkey+")"
|
||||
: "")
|
||||
+ " UNION "
|
||||
+ " SELECT"
|
||||
+ " r.res_deel_key"
|
||||
+ " SELECT r.res_deel_key"
|
||||
+ ", r.res_deel_opmerking"
|
||||
+ ", d.ins_deel_omschrijving"
|
||||
+ ", r.res_deel_prijs"
|
||||
+ ", r.res_deel_eenheid"
|
||||
+ ", r.res_deel_prijs_vast"
|
||||
+ " FROM ins_deel d, res_v_aanwezigdeel r "
|
||||
+ " WHERE r.res_discipline_key="+sdisc
|
||||
+ " AND r.res_ins_deel_key = d.ins_deel_key "
|
||||
+ " AND d.ins_alg_ruimte_type = 'T' "
|
||||
+ ((ALGreadlevel>-1)
|
||||
+ ((authparams.ALGreadlevel>-1)
|
||||
? "AND d.ins_alg_locatie_key IN "
|
||||
+ " (SELECT alg_locatie_key "
|
||||
+ " FROM fac_v_my_locations l, fac_v_webgebruiker gg "
|
||||
+ " WHERE l.prs_perslid_key = " + user_key
|
||||
+ " AND l.prs_perslid_key = gg.prs_perslid_key "
|
||||
+ " AND niveau = gg.fac_gebruiker_alg_level_write "
|
||||
+ " and gg.ins_discipline_key = " + sdisc
|
||||
+ " and gg.fac_functie_key = " + autfunctionkey+")"
|
||||
+ " AND gg.ins_discipline_key = " + sdisc
|
||||
+ " ADN gg.fac_functie_key = " + authparams.autfunctionkey+")"
|
||||
: "")
|
||||
+ group_by;
|
||||
}
|
||||
|
||||
oRs = Oracle.Execute(sql1);
|
||||
var cnt = 0;
|
||||
var any_nofit = false;
|
||||
while( !oRs.eof ) { // Doorloop reserveerbare delen binnen filter
|
||||
res_deel_key = oRs("RES_DEEL_KEY").value;
|
||||
str1 = escape2(oRs("INS_DEEL_OMSCHRIJVING").value);
|
||||
str1 = replace( str1 , "\n" , "<br>" );
|
||||
str9 = parseFloat(oRs("RES_DEEL_PRIJS").Value);
|
||||
str10 = oRs("RES_DEEL_EENHEID").Value;
|
||||
vast = oRs("RES_DEEL_PRIJS_VAST").Value;
|
||||
ins_deel_omschrijving = escape2(oRs("INS_DEEL_OMSCHRIJVING").value);
|
||||
ins_deel_omschrijving = replace( ins_deel_omschrijving , "\n" , "<br>" );
|
||||
res_deel_prijs = oRs("RES_DEEL_PRIJS").Value;
|
||||
res_deel_eenheid = oRs("RES_DEEL_EENHEID").Value;
|
||||
var res_deel_opm = escape_js(oRs("RES_DEEL_OPMERKING").value);
|
||||
|
||||
var res_deel_opm2 = oRs("RES_DEEL_OPMERKING").value; //escape2(oRs("RES_DEEL_OPMERKING").value);
|
||||
@@ -386,248 +309,166 @@ if(isNaN(rsv_ruimte_key1) || rsv_ruimte_key1 <= 0)
|
||||
res_deel_opm2 = replace( res_deel_opm2 , "'" , "\\'" );
|
||||
res_deel_opm2 = escape2(res_deel_opm2);
|
||||
|
||||
if (str10 == null) str10='';
|
||||
else str10='/'+str10;
|
||||
if (res_deel_eenheid == null) res_deel_eenheid='';
|
||||
else res_deel_eenheid='/'+res_deel_eenheid;
|
||||
|
||||
res_dag_name = "Dag"; // values RES_DEEL.RES_DEEL_EENHEID
|
||||
res_uur_name = "Uur"; // used for calculate price/minuut in obj_schedule.asp
|
||||
|
||||
if( !isNaN(str9) && str9 != 0)
|
||||
if( res_deel_prijs && res_deel_prijs != 0)
|
||||
{
|
||||
str16 = currency_pref + num2curr(str9)+currency_suff+str10;
|
||||
str16 = escape2(str16);
|
||||
if(vast == 0)
|
||||
{
|
||||
if(oRs(10).Value == res_dag_name)
|
||||
{
|
||||
str9 = parseFloat(parseFloat(str9)/1440); // parseFloat(str9)/1440 prijs per minite
|
||||
}
|
||||
else if(oRs(10).Value == res_uur_name)
|
||||
{
|
||||
str9 = parseFloat(parseFloat(str9)/60); // parseFloat(str9)/60 prijs per minite
|
||||
}
|
||||
prijs_text = currency_pref + num2curr(res_deel_prijs)+currency_suff+res_deel_eenheid;
|
||||
prijs_text = escape2(prijs_text);
|
||||
}
|
||||
else
|
||||
{
|
||||
str16 = currency_pref + num2curr(str9)+currency_suff;
|
||||
str16 = escape2(str16);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
str16 = '';
|
||||
str9 = 0.0;
|
||||
prijs_text = '';
|
||||
res_deel_prijs = 0.0;
|
||||
}
|
||||
|
||||
var ar = existing_res[res_deel_key]; // Bestaande reserveringen op dit deel
|
||||
|
||||
var v1 = "", v2 = "", v3 = "", v4 = "", v5 = "", v6 = 'style="visibility:hidden"', ro = " readonly ", st = false;
|
||||
__Log("isEdit: " + res_deel_key)
|
||||
var v1 = "", v2 = "", v3 = "", v4 = "", v5 = "", checked = '', ro = " readonly ", st = false;
|
||||
//__Log("isEdit: " + res_deel_key)
|
||||
if (isEdit) {
|
||||
// check whether the current resource is reserved for the current reservation
|
||||
var is_selected = false;
|
||||
var is_nofit = false; // zouden we hier passen?
|
||||
|
||||
if (res_deel_key==params.res_deel_key) // default keuze
|
||||
{
|
||||
is_selected = true;
|
||||
ro=false;
|
||||
st = false;
|
||||
};
|
||||
for (ci=0; ar != null && ci<ar.length; ci++)
|
||||
{
|
||||
if (ar[ci].cur_res == true) { // it is
|
||||
v1 = "-1_" + ar[ci].rsv_deel_key;
|
||||
v2 = ar[ci].h1 < 10 ? '0' + ar[ci].h1: ar[ci].h1;
|
||||
v3 = ar[ci].h2 < 10 ? '0' + ar[ci].h2: ar[ci].h2;
|
||||
v4 = ar[ci].m1 < 10 ? '0' + ar[ci].m1: ar[ci].m1;
|
||||
v5 = ar[ci].m2 < 10 ? '0' + ar[ci].m2: ar[ci].m2;
|
||||
v6 = 'style="visibility:visible"';
|
||||
if (ar[ci].rsv_ruimte_key == params.rsv_ruimte_key)
|
||||
{ // we zijn het zelf
|
||||
is_selected = true;
|
||||
ro = (ar[ci].res_status==6?" readonly ":"");
|
||||
st = (ar[ci].res_status==6);
|
||||
}
|
||||
}
|
||||
}
|
||||
%>
|
||||
<tr class=planbord id='tr_rdeel<%=res_deel_key%>'>
|
||||
<td width="<%=pref*20%>"></td>
|
||||
<td>
|
||||
<div class="ref" id='a_<%=res_deel_key%>_img' style='display:block'
|
||||
<% if (!st&&!jumped) { %>
|
||||
onClick="javascript:rdeelChoosen('rdeel<%=res_deel_key%>',null,'<%=res_deel_key%>', '')"
|
||||
<% } %>>
|
||||
<img src="../Pictures/tree_ok.gif" border="0" id="plus" align="middle" hspace="2" <%=v6%>>
|
||||
</div>
|
||||
</td>
|
||||
<td title="<%=res_deel_opm%>" onMouseOver="javascript:ShowObjectRemark('<%="<b>" + str1 + ":</b><br>" + res_deel_opm2%>')">
|
||||
<div class="ref" id='a_<%=res_deel_key%>' style='display:block'
|
||||
<% if (!st&&!jumped) { %>
|
||||
onClick="javascript:rdeelChoosen('rdeel<%=res_deel_key%>',null,'<%=res_deel_key%>', '')"
|
||||
<% } %>>
|
||||
<nobr><%=str1 + (isEdit ? '':(str16?' ('+str16+')':'')) %></nobr>
|
||||
</div>
|
||||
</td>
|
||||
<%
|
||||
|
||||
if (isEdit) { // Tijdstip edit velden toevoegen
|
||||
%>
|
||||
<td>
|
||||
<input type=hidden id='inhedt_<%=res_deel_key%>' name='inhedt_<%=res_deel_key%>' value='<%=v1%>'>
|
||||
<table border=0 cellpadding=0 cellspacing=0>
|
||||
<tr>
|
||||
<td class='selectable'><input type=text id='inpbh1_<%=res_deel_key%>' name='inpbh1_<%=res_deel_key%>' value='<%=v2%>' class='smallinputs' maxlength='2' size='1' <%=ro%> <%=st?"style='background-color: #dddddd;'":""%> onBlur="objTimeChanged(<%=res_deel_key%>, <%=res_duur%>, 'inpbh1_')"></td>
|
||||
<td class='selectable'><input type=text id='inpbm1_<%=res_deel_key%>' name='inpbm1_<%=res_deel_key%>' value='<%=v4%>' class='smallinputs' maxlength='2' size='1' <%=ro%> <%=st?"style='background-color: #dddddd;'":""%> onBlur="objTimeChanged(<%=res_deel_key%>, <%=res_duur%>, 'inpbm1_')"></td>
|
||||
<td class='selectable'>-</td>
|
||||
<td class='selectable'><input type=text id='inpbh2_<%=res_deel_key%>' name='inpbh2_<%=res_deel_key%>' value='<%=v3%>' class='smallinputs' maxlength='2' size='1' <%=ro%> <%=st?"style='background-color: #dddddd;'":""%> onBlur="objTimeChanged(<%=res_deel_key%>, <%=res_duur%>, 'inpbh2_')"></td>
|
||||
<td class='selectable'><input type=text id='inpbm2_<%=res_deel_key%>' name='inpbm2_<%=res_deel_key%>' value='<%=v5%>' class='smallinputs' maxlength='2' size='1' <%=ro%> <%=st?"style='background-color: #dddddd;'":""%> onBlur="objTimeChanged(<%=res_deel_key%>, <%=res_duur%>, 'inpbm2_')"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
<td width='1'> </td>
|
||||
|
||||
<%
|
||||
cnt++;
|
||||
var cl = res_t1;
|
||||
|
||||
var begin_res_intervals = 0;
|
||||
var eind_res_intervals = 0;
|
||||
if (cl < starttime_room) begin_res_intervals = (starttime_room - cl) / res_h;
|
||||
if (res_t2 > endtime_room) eind_res_intervals = (res_t2 - endtime_room) / res_h;
|
||||
for (i = 0; i < res_intervals; i++)
|
||||
else
|
||||
{
|
||||
bez_key = -1;
|
||||
if (res_van < ar[ci].res_tot && res_tot > ar[ci].res_van)
|
||||
is_nofit = true; // Overlap!
|
||||
}
|
||||
}
|
||||
any_nofit |= is_nofit;
|
||||
}
|
||||
%>
|
||||
<tr class="<%=is_selected?' selected':''%><%=is_nofit?' res_nofit':''%>" id='<%=res_deel_key%>'>
|
||||
<td class='label'>
|
||||
<% if (is_selected) { %>
|
||||
<input name='has_<%=res_deel_key%>' type='hidden'>
|
||||
<% } %>
|
||||
<label OnMouseOver="$('#remark<%=res_deel_key%>').show();"
|
||||
OnMouseOut="$('#remark<%=res_deel_key%>').hide();">
|
||||
<input id='chk_<%=res_deel_key%>' name='chk_<%=res_deel_key%>'
|
||||
type='checkbox' <%=is_selected?'checked':''%>
|
||||
<% if (!st&&!params.jumped) { %>
|
||||
onClick="javascript:res_deel_click('rdeel<%=res_deel_key%>','<%=res_deel_key%>')"
|
||||
<% } %>>
|
||||
<div class="ref" id='a_<%=res_deel_key%>' style='display:inline'>
|
||||
<nobr><%=ins_deel_omschrijving + (isEdit ? '':(prijs_text?' ('+prijs_text+')':'')) %></nobr>
|
||||
</div>
|
||||
<div class="res_remark" id="remark<%=res_deel_key%>">
|
||||
<%="<b>" + ins_deel_omschrijving + ":</b><br>" + res_deel_opm2%>
|
||||
</div>
|
||||
</label>
|
||||
</td>
|
||||
|
||||
<%
|
||||
divver = { overleft: "", overright: "" };
|
||||
|
||||
for (dagen=0; dagen<nr_days; dagen++)
|
||||
{
|
||||
%>
|
||||
<td class="plantd reserv">
|
||||
<%
|
||||
// Maak een dummy res_nieuw aan die we eenvoudig aan kunnen zetten
|
||||
if (!is_selected || res_deel_key==params.res_deel_key)
|
||||
{
|
||||
var h_start = (res_van - res_van.midnight()) /1000/60/60 - 24*dagen;
|
||||
var h_end = (res_tot - res_tot.midnight()) /1000/60/60 + 24*(nr_days-1-dagen);
|
||||
var new_divver = mkDiv("gepland res_nieuw", h_start, h_end);
|
||||
Response.Write("\n"+new_divver.div);
|
||||
}
|
||||
|
||||
theSpan = "";
|
||||
free = true; optie=false; blokkade=false; yellow = false;
|
||||
for (ci=0; ar && ci<ar.length; ci++)
|
||||
{
|
||||
if( !( cl+res_h<=ar[ci].h_start || cl>=ar[ci].h_end ) )
|
||||
{
|
||||
free = false;
|
||||
res_key = ar[ci].res_key;
|
||||
var statClass = { 1 : "res_optie",
|
||||
2 : "res_definitief",
|
||||
3 : "res_blok",
|
||||
4 : "res_vervallen"}[ar[ci].status_fo_key ];
|
||||
|
||||
if (ar[ci].rsv_ruimte_key == params.rsv_ruimte_key)
|
||||
statClass += " res_current";
|
||||
|
||||
if (ar[ci].dirtlevel & (res.dirtlevel.deel.notavailable | res.dirtlevel.deel.notallowed))
|
||||
statClass += " res_fatal";
|
||||
|
||||
theClass = statClass + " gepland";
|
||||
|
||||
if (ar[ci].dirtlevel & res.dirtlevel.ruimte.notavailable)
|
||||
theClass += " res_fatal";
|
||||
|
||||
var h_start = (ar[ci].res_van - res_van.midnight()) /1000/60/60 - 24*dagen;
|
||||
var h_end = (ar[ci].res_tot - res_tot.midnight()) /1000/60/60 + 24*(nr_days-1-dagen);
|
||||
if (h_start>24 || h_end < 0)
|
||||
continue;
|
||||
|
||||
rsv_ruimte_key = ar[ci].rsv_ruimte_key;
|
||||
rsv_deel_key = ar[ci].rsv_deel_key;
|
||||
alg_ruimte_key = isNaN(ar[ci].alg_ruimte_key) ? -1 :ar[ci].alg_ruimte_key;
|
||||
bez_key = ar[ci].bez_key;
|
||||
optie = ar[ci].optie;
|
||||
blokkade = ar[ci].blokkade;
|
||||
vervallen = ar[ci].vervallen;
|
||||
|
||||
// Over hoeveel blokjes spant deze reservering
|
||||
var spanBlk = 1;
|
||||
while( cl + res_h < ar[ci].h_end && cl + res_h < res_t2)
|
||||
{
|
||||
spanBlk ++;
|
||||
cl += res_h;
|
||||
i++;
|
||||
}
|
||||
if (spanBlk == 1)
|
||||
theSpan = "";
|
||||
else
|
||||
{
|
||||
theSpan = " colspan=" + spanBlk;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
var theClick = "";
|
||||
var theMouse="";
|
||||
|
||||
cl += res_h;
|
||||
|
||||
var before_starttime = false;
|
||||
if (free && (begin_res_intervals > i || eind_res_intervals >= res_intervals - i)) {
|
||||
yellow = true;
|
||||
free = false;
|
||||
before_starttime = true;
|
||||
}
|
||||
th = Math.floor(res_t1 + res_h * i);
|
||||
tm = Math.floor((res_t1 + res_h * i - th) * 60);
|
||||
sTime = ''+th+":"+(tm<10?'0':'')+tm
|
||||
|
||||
var theBgcolor=(free?res_color_free:optie?res_color_optie:blokkade?res_color_blok:vervallen?res_color_verv:res_color_resv);
|
||||
var theTitle, theRest;
|
||||
theClick = "";
|
||||
if (free) // MGE UWVA#12468: (free&&readwrite) readwrite voor tijd is niet nodig
|
||||
{
|
||||
theTitle = " title=" + sTime;
|
||||
}
|
||||
else if (before_starttime) {
|
||||
theBgcolor = res_color_na;
|
||||
theClick = " onClick=noCClick()";
|
||||
theTitle = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bez_key > 0)
|
||||
theTitle = " onMouseOver='setBezBezoekersTitle(this, "+bez_key+")'";
|
||||
theMouse = " onMouseOver='setBezBezoekersTitle(this, "+bez_key+")'";
|
||||
else
|
||||
theTitle = " onMouseOver='setResRsvDeelTitle(this, "+rsv_deel_key+")'";
|
||||
if (readwrite&&bez_key==-1&&!jumped)
|
||||
theClick = ' onClick=doCClick('+res_key+','+rsv_ruimte_key+',true,'+(isEdit?'1':'0')+','
|
||||
+rsv_deel_key+','+alg_ruimte_key+')';
|
||||
theMouse = " onMouseOver='setResRsvDeelTitle(this, "+rsv_deel_key+")'";
|
||||
if (readwrite&&bez_key==-1&&!params.jumped)
|
||||
{
|
||||
theClick = ' onClick="rsv_click(this,\''+urole+'\');"'
|
||||
theClass += " click";
|
||||
}
|
||||
else
|
||||
if (readwrite&&!jumped)
|
||||
if (readwrite&&!params.jumped)
|
||||
theClick =" onClick=noCClick()"
|
||||
|
||||
divver = mkDiv(theClass, h_start, h_end, theClick, theMouse, " rsv_key='" + rsv_ruimte_key + "'");
|
||||
Response.Write("\n"+divver.div);
|
||||
}
|
||||
|
||||
if (free)
|
||||
{
|
||||
var stl;
|
||||
if (!readwrite)
|
||||
stl='freeNC';
|
||||
else
|
||||
if (((i+1+(mod_t1/res_h))%(1/res_h))==0) // (((i+1+(mod_t1/res_h))%(1/res_h))==0?"otherH":"other")
|
||||
stl='freeH'; // Uurblokje heeft twee pixels
|
||||
else
|
||||
stl='free';
|
||||
%> <td id="<%=i%>" class=<%=stl%> title=<%=sTime%> style="width:<%=t_w%>"></td>
|
||||
if (dagen<nr_days-1) { %>
|
||||
<td class="between"><div class=" <%=divver.overright!=""?statClass:""%>"> </div></td>
|
||||
<% } else { %>
|
||||
<td class="post <%=divver.overright%>"><div> </div></td>
|
||||
<% } %>
|
||||
<%
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
<td class='<%=yellow && (((i+1+(mod_t1/res_h))%(1/res_h))==0)?"otherH":"other"%>' <%=theSpan%> id="<%=i%>"
|
||||
<%= readwrite&&!jumped&&!yellow?'style="cursor:hand" ':'onClick="noCClick()"' %>
|
||||
<%=' bgcolor='+theBgcolor + theTitle + theClick + ' style="width:' + t_w + '"'%>>
|
||||
</td>
|
||||
<%
|
||||
}
|
||||
|
||||
}
|
||||
%>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td></td><td colspan="<% = res_intervals * 2 + 1 %>" height="1" bgcolor="#ffffff"></td><td></td>
|
||||
</tr>
|
||||
} // dagen
|
||||
%> </tr>
|
||||
<%
|
||||
oRs.MoveNext();
|
||||
n++;
|
||||
} //end while
|
||||
oRs.close();
|
||||
%>
|
||||
<tr><% EmitTimeHeader() %></tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="6"></td><td colspan="<% = res_intervals * 2 + 1 %>">
|
||||
<table width="100%" border="0">
|
||||
<tr>
|
||||
<td align="right"><img src="../Pictures/room_free.gif"></td>
|
||||
<td><% = lcl_free %></td>
|
||||
<td align="right"><img src="../Pictures/room_opt.gif"></td>
|
||||
<td><% = lcl_optie %></td>
|
||||
<td align="right"><img src="../Pictures/room_def.gif"></td>
|
||||
<td><% = lcl_def %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><img src="../Pictures/room_blk.gif"></td>
|
||||
<td><% = lcl_blokkade %></td>
|
||||
<td align="right"><img src="../Pictures/room_vvl.gif"></td>
|
||||
<td><% = lcl_vervallen %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td></td>
|
||||
<% res.emit_planbord_tijdbalk(res_van, nr_days, hour_px); %>
|
||||
</tr>
|
||||
</table>
|
||||
<%
|
||||
if (any_nofit)
|
||||
%><span onclick="$('.res_nofit').css('display','block');$(this).toggle();$(this).next().toggle()">
|
||||
TODO: Alleen beschikbare objecten getoond. Toon alles.
|
||||
</span>
|
||||
<span onclick="$('.res_nofit').css('display','none');$(this).toggle();;$(this).prev().toggle()" style='display:none'>
|
||||
TODO: Alle objecten getoond. Toon alleen beschikbare.
|
||||
</span><%
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
<%
|
||||
}//readwrite
|
||||
} // function objSchedule()
|
||||
%>
|
||||
@@ -1,7 +1,16 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 29-09-09 16:31 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 1-11-09 18:31 $
|
||||
|
||||
File: res_search.asp
|
||||
Status: 80%
|
||||
|
||||
Parameters:
|
||||
planbord: indien meegegeven (1) dan is het ALLEEN mogelijk planbords op te vragen
|
||||
park: indien meegegeven (1) dan is het ALLEEN mogelijk parkeerplaatsen op te vragen
|
||||
Dit betekent ook minder selectiemogelijkheden en iets aangepaste terminologie
|
||||
Merk op dat secsearch velden dan bij gebrek aan More knop ook vanzelf onbereikbaar zijn
|
||||
*/ %>
|
||||
<!-- #include file="../../cust/install.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
@@ -11,10 +20,11 @@
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/afdelingselector.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
<!-- #include file="./res.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins: ["jQuery", "datepicker", "kenmerk"],
|
||||
js: ["expand_frame.js", "../RES/res_search.js"]
|
||||
js: ["../RES/res_search.js"]
|
||||
});
|
||||
|
||||
/***** Get webform parameters *****/
|
||||
@@ -27,16 +37,14 @@ var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
|
||||
var res_key = getQParam("res_key", ""); // reserveringskey
|
||||
var searchtext = getQParam("searchtext", "");
|
||||
|
||||
var planbord = getQParam("planbord", "-1");
|
||||
//if (planbord != "-1")
|
||||
// Response.Redirect("res_table.asp?"+Request.QueryString);
|
||||
|
||||
var planbord = getQParamInt("planbord", -1);
|
||||
var show_park = getQParamInt("park", 0);
|
||||
|
||||
var cal_intv = 0; // 14 days from now is default date for calendar 2 @@todo setting (was dat niet al zo?)
|
||||
// Bepaal einddatum
|
||||
if (fronto && res_fo_list_days != -1)
|
||||
{
|
||||
sql = "SELECT mld_p_mld_datumtijd.DatumTijdPlusUitvoerTijd(SYSDATE, " + res_fo_list_days + ",'DAGEN') - SYSDATE"
|
||||
sql = "SELECT fac.DatumTijdPlusUitvoerTijd(SYSDATE, " + res_fo_list_days + ",'DAGEN') - SYSDATE"
|
||||
+ " FROM dual";
|
||||
oRs = Oracle.Execute(sql);
|
||||
cal_intv = oRs(0).Value;
|
||||
@@ -46,10 +54,11 @@ var datefrom = getQParam("date_from", "");
|
||||
var dateto = getQParam("date_to", "");
|
||||
var today = new Date ();
|
||||
var nextday = new Date ();
|
||||
// TODO: voor frontend en planbord dan date_to=date_from denk ik -PF
|
||||
if (frontend || fronto)
|
||||
nextday.setDate(nextday.getDate() + (fronto? cal_intv : res_user_history));
|
||||
else
|
||||
nexday = today;
|
||||
nextday = today;
|
||||
var date_from = (datefrom == ""? today : new Date(parseInt(datefrom, 10)));
|
||||
var date_to = (dateto == ""? nextday : new Date(parseInt(dateto, 10)));
|
||||
|
||||
@@ -113,6 +122,17 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<% FCLTHeader.Generate(); %>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
return;
|
||||
$(window).scroll(function () {
|
||||
if (document.documentElement.clientWidth+document.documentElement.scrollLeft
|
||||
==document.documentElement.scrollWidth)
|
||||
alert("rechts")
|
||||
else if (document.documentElement.scrollLeft==0)
|
||||
alert("links")
|
||||
});
|
||||
});
|
||||
|
||||
<% if (fronto || frontend)
|
||||
{ %>
|
||||
function checkboxStatus()
|
||||
@@ -122,12 +142,13 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
}
|
||||
<% } %>
|
||||
|
||||
function doSubmit(mode) // 0=lijst, 1=planbord
|
||||
var __mode = -1;
|
||||
function doSubmit(mode) // 0=lijst, 1=planbord, 2=objplanbord
|
||||
{
|
||||
if (mode==0)
|
||||
document.u2.action="res_search_list.asp";
|
||||
else
|
||||
document.u2.action="res_table.asp";
|
||||
__mode = mode;
|
||||
document.u2.action= {0:"res_search_list.asp?urole=<%=urole%>",
|
||||
1:"res_table.asp?urole=<%=urole%>&width_px=" + $(window).width(),
|
||||
2:"res_plan_obj.asp?urole=<%=urole%>&width_px=" + $(window).width()}[mode]
|
||||
|
||||
<% if (!frontend)
|
||||
{ %>
|
||||
@@ -146,7 +167,7 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
{
|
||||
if ($('#act').val() == -1)
|
||||
{
|
||||
alert("<%=lcl_select_activity%>");
|
||||
alert(LCL.res.select_activity);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -163,9 +184,10 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<% BLOCK_START("searchtable", lcl_filterblok);%>
|
||||
<form name="u2" action="res_search_list.asp" target="workFrame" method="post">
|
||||
<input type="hidden" name="urole" value="<%=urole%>">
|
||||
<input type="hidden" name="park" value="<%=show_park%>">
|
||||
<% BLOCK_START("searchtable", lcl_filterblok);%>
|
||||
<tr>
|
||||
<td class="searchkolom1"><!-- start column 1 -->
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
@@ -178,11 +200,13 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<!-- Datum van -->
|
||||
<tr class="primsearch">
|
||||
<% FCLTcalendar("date_from",
|
||||
{ label : lcl_period_from,
|
||||
{ label : (frontend ? lcl_date :lcl_period_from),
|
||||
datum: date_from,
|
||||
volgnr: 1
|
||||
}); %>
|
||||
</tr>
|
||||
<% if (!frontend)
|
||||
{ %>
|
||||
<!-- Datum tot -->
|
||||
<tr class="primsearch">
|
||||
<% FCLTcalendar("date_to",
|
||||
@@ -191,22 +215,19 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
volgnr: 2
|
||||
}); %>
|
||||
</tr>
|
||||
|
||||
<% } // !frontend %>
|
||||
<!-- Locatie, gebouw, verdieping en ruimte -->
|
||||
<% if (!frontend)
|
||||
{ %>
|
||||
<tr class="secsearch">
|
||||
<td colspan="2">
|
||||
<% FCLTplaatsselector(authparams.ALGreadlevel, { locatiekey: loc_key,
|
||||
gebouwkey: bld_key,
|
||||
verdiepingkey: floor_key,
|
||||
ruimtekey: room_key,
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 5, // ruimte
|
||||
secsearch: 3, // gebouw en hoger
|
||||
whenEmpty: lcl_search_generic // want filter
|
||||
}); %>
|
||||
</td>
|
||||
</tr>
|
||||
<% } %>
|
||||
|
||||
<% if (backo || minfo)
|
||||
@@ -214,21 +235,13 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<!-- Checkboxen ruimten, voorzieningen en verbruiksartikelen -->
|
||||
<tr class="secsearch">
|
||||
<td class="label"><label><%=lcl_show%>:</label></td>
|
||||
<td align=left valign="top">
|
||||
<td>
|
||||
<input type="checkbox" class="fldroomcat" name="roomcat" id="roomcat" onClick="checkCheckboxes()" value="1" <%=roomcat? "checked" : ""%>>
|
||||
<label for=roomcat><%=lcl_show_rooms%></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="secsearch">
|
||||
<td></td>
|
||||
<td align=left valign="top">
|
||||
<br>
|
||||
<input type="checkbox" class="fldobjcat" name="objcat" id="objcat" onClick="checkCheckboxes()" value="1" <%=objcat? "checked" : ""%>>
|
||||
<label for=objcat><%=lcl_reserved_object%></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="secsearch">
|
||||
<td></td>
|
||||
<td align=left valign="top">
|
||||
<br>
|
||||
<input type="checkbox" class="fldartcat" name="artcat" id="artcat" onClick="checkCheckboxes()" value="1" <%=artcat? "checked" : ""%>>
|
||||
<label for=artcat><%=lcl_reserved_cons%></label>
|
||||
</td>
|
||||
@@ -299,9 +312,9 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
</tr>
|
||||
<% } // backo || minfo %>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
<!-- end column 1 -->
|
||||
</td>
|
||||
|
||||
<!-- Second column -->
|
||||
<td class="searchkolom2"><!-- start column 2 -->
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<tr class="primsearch">
|
||||
@@ -362,12 +375,12 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<td><input type="text" class="fldkp" name="kp" value="<%=kp%>"></input>
|
||||
</tr>
|
||||
<tr><td height="10"></td></tr>
|
||||
<% } // minfo %>
|
||||
<% } // minfo
|
||||
|
||||
if (!show_park) {
|
||||
%>
|
||||
<!-- Ruimte soort -->
|
||||
<% if (backo || minfo)
|
||||
{ %>
|
||||
<tr class="secsearch">
|
||||
<tr class="primsearch">
|
||||
<% sql = "SELECT rd.ins_discipline_key dis_key"
|
||||
+ ", rd.ins_discipline_omschrijving omschrijving"
|
||||
+ " FROM res_v_aanwezigdiscipline rd"
|
||||
@@ -388,6 +401,9 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
}); %>
|
||||
</tr>
|
||||
|
||||
<% }
|
||||
if (backo || minfo)
|
||||
{ %>
|
||||
<!-- Voorzieningen -->
|
||||
<tr class="secsearch">
|
||||
<% sql = "SELECT rd.ins_discipline_key dis_key"
|
||||
@@ -437,9 +453,29 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<tr class="secsearch">
|
||||
<td class="label"><label for="art"><%=lcl_res_art%>:</label></td>
|
||||
<td>
|
||||
<div id="artdiv">
|
||||
<% FCLTselector("artmulti",
|
||||
"", // sql: lege selectbox die onload wordt geladen
|
||||
<div id="selectartdiv">
|
||||
<% var sql_aut = " SELECT rd.ins_discipline_key ins_discipline_key"
|
||||
+ " FROM res_v_aanwezigdiscipline rd"
|
||||
+ ", fac_v_webgebruiker fw"
|
||||
+ ", fac_v_webfunctie fwf"
|
||||
+ " WHERE rd.ins_discipline_min_level = 2"
|
||||
+ " AND fw.ins_discipline_key = rd.ins_discipline_key"
|
||||
+ " AND fw.fac_functie_key = fwf.fac_functie_key"
|
||||
+ " AND fwf.fac_functie_code = '" + autfunction + "'"
|
||||
+ " AND fw.prs_perslid_key = " + user_key;
|
||||
|
||||
sql = "SELECT DISTINCT a.res_artikel_key"
|
||||
+ ", a.res_artikel_omschrijving"
|
||||
+ ", a.res_artikel_eenheid"
|
||||
+ " FROM res_v_aanwezigartikel a"
|
||||
+ " WHERE a.res_discipline_key IN (" + sql_aut + ")"
|
||||
+ (article_str.indexOf("-1") == -1
|
||||
? " AND a.res_discipline_key IN (" + article_str + ")"
|
||||
: "")
|
||||
+ " ORDER BY res_artikel_omschrijving";
|
||||
|
||||
FCLTselector("artmulti",
|
||||
sql, // sql: lege selectbox die onload wordt geladen
|
||||
{ initKey: article_str,
|
||||
multi: true,
|
||||
emptyOption: lcl_all
|
||||
@@ -447,14 +483,6 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
// Laad de artikelen
|
||||
// Selecteer eventueel de initi<74>le artikelen die meegegeven kunnen worden
|
||||
updateArt("<%=autfunction%>", "<%=article_str%>");
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Artikel groep -->
|
||||
<tr class="secsearch">
|
||||
@@ -526,27 +554,28 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
</tr>
|
||||
<% } // !fronto %>
|
||||
</table>
|
||||
<input type="submit" style="width:0px;height=0">
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<% BLOCK_END();%>
|
||||
</form>
|
||||
|
||||
<div id="buttons">
|
||||
<% BUTTONS_START();
|
||||
CreateButton(lcl_search, "doSubmit(0);", 120);
|
||||
|
||||
<%
|
||||
var buttons = [];
|
||||
if (planbord == -1) // niet alleen planbord
|
||||
buttons.push ( {title: lcl_overview_list, action:"doSubmit(0)" } ); // Overzicht
|
||||
if (!show_park) // PF: van mij mag backo ook best planbord zien?
|
||||
buttons.push ( {title: lcl_planboard, action:"doSubmit(1)" } );
|
||||
if (!backo)
|
||||
CreateButton(lcl_planboard, "doSubmit(1);", 120);
|
||||
|
||||
if (!frontend)
|
||||
CreateButton(lcl_more, "iface_toggleSecondarySearchblock();", 100, "btnMoreLess");
|
||||
if (!frontend)
|
||||
{
|
||||
CreateButton(lcl_obj_advanced, "javascript:myModal();", 100, 'bAdvanced'); // met actuele waarden van activiteit en vorig filter
|
||||
buttons.push ( {title: show_park ? lcl_planboard : lcl_reserved_object, action:"doSubmit(2)" } );
|
||||
if (!frontend && !show_park) {
|
||||
buttons.push ( {title: LCL.shared.more, action:"iface_toggleSecondarySearchblock()", id : "btnMoreLess" } );
|
||||
buttons.push ( {title: lcl_obj_advanced, action:"javascript:myModal()" } );
|
||||
}
|
||||
BUTTONS_END(); %>
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</div>
|
||||
</div> <!-- search -->
|
||||
|
||||
@@ -554,7 +583,7 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<iframe width="100%" height="100%"
|
||||
src="../Shared/empty.asp"
|
||||
name="workFrame" id="workFrame"
|
||||
onload='ExpandFrame("workFrame")'
|
||||
onload='FcltMgr.iframeLoaded(this, __mode!=0)'
|
||||
frameborder="0" scrolling="no">
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,78 +1,57 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 29-09-09 15:57 $
|
||||
$Revision: 2 $
|
||||
$Modtime: 1-11-09 19:39 $
|
||||
|
||||
Status: 20%
|
||||
*/ %>
|
||||
<% Response.Expires = 0;
|
||||
HelpDisable = true;
|
||||
%>
|
||||
|
||||
<!--#include file="../../cust/install.inc"-->
|
||||
|
||||
<!--#include file="../Shared/funcodes.inc"-->
|
||||
<!--#include file="../Shared/escape.inc"-->
|
||||
<!--#include file="../Shared/date_sql.inc"-->
|
||||
<!--#include file="../Shared/InfoSupport.inc" -->
|
||||
<!--#include file="../shared/datetime.inc"-->
|
||||
<!--#include file="../shared/iface.inc"-->
|
||||
<!-- #include file="room_schedule.inc" -->
|
||||
<!-- #include file="obj_schedule.inc" -->
|
||||
<!-- #include file="res.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({plugins: ["jQuery"],
|
||||
js : ["jquery-ui.js"]});
|
||||
|
||||
|
||||
var l_exel = parseInt(Request.QueryString("exel"));
|
||||
var l_print_table = parseInt(Request.QueryString("print_table"));
|
||||
var frontend = Request.QueryString("frontend").Count>0;
|
||||
var jumped = Request.QueryString("jumped").Count>0;
|
||||
var filter = Request.QueryString("filter").Count>0;
|
||||
var res_ruimte_key = getQParam("res_ruimte_key", null); // Filter specifieke vergaderzaal
|
||||
var vis = parseInt( getQParam("vis", 0));
|
||||
var vis = getQParamInt("vis", 0);
|
||||
|
||||
var restype = "R";
|
||||
var open_dis = Request.QueryString("open_dis").Count>0?Request.QueryString("open_dis"):"";
|
||||
|
||||
if ( l_exel == 1) {
|
||||
Response.ContentType = "application/vnd.ms-excel";
|
||||
Response.AddHeader ("content-disposition", "inline; filename=dynamic.xls");
|
||||
var urole = getQParam("urole");
|
||||
var fronto = urole == "fo";
|
||||
var backo = (urole == "bo");
|
||||
var minfo = (urole == "mi");
|
||||
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
|
||||
|
||||
var autfunction = "";
|
||||
switch(urole)
|
||||
{
|
||||
case "fe": autfunction = "WEB_RESUSE";
|
||||
break;
|
||||
case "fo": autfunction = "WEB_RESFOF";
|
||||
break;
|
||||
case "bo": autfunction = "WEB_RESBOF";
|
||||
break;
|
||||
case "mi": autfunction = "WEB_RESBAC";
|
||||
break;
|
||||
}
|
||||
var only_user_res = Request.QueryString("only_user_res").Count>0;
|
||||
if (jumped) {
|
||||
var fronto = Request.QueryString("fronto").Count>0;
|
||||
var backo = Request.QueryString("backo").Count>0;
|
||||
frontend = (!fronto && !backo); // als fronto of backo niet is meegegeven dan ben je automatisch frontend
|
||||
if (frontend)
|
||||
only_user_res = (1==1); // als frontend mag je alleen je eigen reserveringen wijzigen.
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
|
||||
<script type="text/javascript">
|
||||
var only_user_res = <%=only_user_res?1:0%>;
|
||||
</script>
|
||||
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<%
|
||||
if (l_print_table == 1 || l_exel == 1) {
|
||||
if (l_print_table == 1) {
|
||||
%>
|
||||
<LINK href="../Shared/cstyle-print.css" rel="stylesheet" type="text/css">
|
||||
<%
|
||||
}
|
||||
}
|
||||
%>
|
||||
|
||||
<script type="text/javascript" src="../LocalScripts/FcltMgr.js"></script>
|
||||
<script type="text/javascript" src="../LocalScripts/sel_tables.js"></script>
|
||||
</head>
|
||||
|
||||
<%
|
||||
__Log("Loading res_table.asp");
|
||||
|
||||
autfunction = "WEB_RESFOF";
|
||||
if (frontend) autfunction = "WEB_RESUSE";
|
||||
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
|
||||
|
||||
// FSN #932 : readwrite was true/false, now:
|
||||
//
|
||||
// readwrite 0 : no read and no write authorization
|
||||
@@ -110,23 +89,112 @@ if( func_enabled[ "WEB_RESFOF"] || func_enabled[ "WEB_RESFO2"] || (func_enabled[
|
||||
|
||||
if (readwrite > 0) { // we need read authorization at least...
|
||||
|
||||
var date_from = getQParamDate("date_from", new Date());
|
||||
var showall = getQParam("showall", "0")=="1";
|
||||
|
||||
year = Request.QueryString("yy").Count>0?parseInt(Request.QueryString("yy"),10):-1;
|
||||
month = Request.QueryString("mm").Count>0?parseInt(Request.QueryString("mm"),10):-1;
|
||||
date = Request.QueryString("dd").Count>0?parseInt(Request.QueryString("dd"),10):-1;
|
||||
//dateoffset wordt voor deeplinking gebruikt!(?)
|
||||
dateoffset = getQParamInt("dateoffset",0)*24*60*60*1000;
|
||||
var date_from = getQParamDate("date_from", new Date((new Date).getTime() + dateoffset));
|
||||
var date_from = getFParamDate("date_from", new Date((new Date).getTime() + dateoffset));
|
||||
var date_to = getFParamDate("date_to", new Date(date_from.getTime() + dateoffset));
|
||||
loc = getQParamInt("s_loc",getFParamInt("locatiekey", -1));
|
||||
bld = getQParamInt("s_bld",-1);
|
||||
host = getQParamInt("s_host",-1);
|
||||
host = getQParamInt("shost_Key",-1);
|
||||
requestor = getQParamInt("s_requestor",-1);
|
||||
opstel = getQParamInt("s_opstel",-1);
|
||||
ruimtecat = getQParamInt("s_ruimtecat",-1);
|
||||
var ruimtecat = getFMultiParam("roomcatmulti", ""); // Ruimte soort catalogus
|
||||
|
||||
var width_px = parseInt( getQParamInt("width_px", 1024));
|
||||
var nr_days = 1+(date_to.midnight() - date_from.midnight())/24/60/60/1000;
|
||||
var nr_hours = nr_days*(res_t2-res_t1);
|
||||
var targethour_px = (width_px-250)/nr_hours;
|
||||
var hour_px = 48;
|
||||
//if (targethour_px < 48) hour_px = 24;
|
||||
//if (targethour_px < 24) hour_px = 16;
|
||||
//if (targethour_px < 16) hour_px = 8;
|
||||
//if (targethour_px < 8) hour_px = 4;
|
||||
|
||||
if ( l_exel == 1) {
|
||||
Response.ContentType = "application/vnd.ms-excel";
|
||||
Response.AddHeader ("content-disposition", "inline; filename=dynamic.xls");
|
||||
}
|
||||
var only_user_res = Request.QueryString("only_user_res").Count>0;
|
||||
if (jumped) {
|
||||
if (frontend)
|
||||
only_user_res = (1==1); // als frontend mag je alleen je eigen reserveringen wijzigen.
|
||||
}
|
||||
%>
|
||||
|
||||
<html style='overflow:scroll'>
|
||||
|
||||
<script type="text/javascript">
|
||||
var only_user_res = <%=only_user_res?1:0%>;
|
||||
</script>
|
||||
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<style>
|
||||
table.planbord div.sizer { width:<%=hour_px*(res_t2-res_t1)+1%>px;};
|
||||
</style>
|
||||
<%
|
||||
if (l_print_table == 1 || l_exel == 1) {
|
||||
if (l_print_table == 1) {
|
||||
%>
|
||||
<LINK href="../Shared/cstyle-print.css" rel="stylesheet" type="text/css">
|
||||
<%
|
||||
}
|
||||
}
|
||||
|
||||
%>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
//$('div.gepland').draggable({ containment: '#tab_room_sched', scroll: false, xaxis: 'x' });
|
||||
$('div.gepland').resizable(
|
||||
{ containment: '#tab_room_sched', grid: [12, 12], handles: 'e, w',
|
||||
// Start en stop corrigeren omdat resizable niet goed lijkt om te gaan met onze
|
||||
// absoluut gepositioneerde objecten?
|
||||
start: function (event, ui) {
|
||||
ui.originalElement.xxxx=
|
||||
$(ui.originalElement).css('left');
|
||||
},
|
||||
|
||||
stop: function (event, ui) {
|
||||
var elm = ui.originalElement;
|
||||
elm.css('left', elm.xxxx);
|
||||
if (window.event) window.event.cancelBubble = true;
|
||||
var start = (parseInt(elm.css('left'))+
|
||||
parseInt(elm.css('borderLeftWidth')))/<%=hour_px%>;
|
||||
var duur = (elm.width()-1)/<%=hour_px%>;
|
||||
start += <%=res_t1%>;
|
||||
$.post("res_update.asp",
|
||||
{ rsv_ruimte_key: elm[0].rsv_key,
|
||||
rsv_van: start,
|
||||
rsv_tot: (start+duur)
|
||||
},
|
||||
FcltCallback,
|
||||
"json");
|
||||
}
|
||||
});
|
||||
|
||||
if (0) $('div.gepland').each(function (i) {
|
||||
this.innerHTML = this.title;
|
||||
//this.style.height = 48;
|
||||
this.style.color = 'white';
|
||||
this.style.paddingLeft = '2px';
|
||||
//this.parentElement.parentElement.style.height = 48;
|
||||
});
|
||||
|
||||
FcltMgr.setHeaderExtraTitle($("#palette").html());
|
||||
});
|
||||
function res_print()
|
||||
{
|
||||
//$("table.planbord div.res_cleaning").after("bccc");
|
||||
window.print(); // TODO
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<%
|
||||
|
||||
if (l_print_table==1) {
|
||||
@@ -139,35 +207,33 @@ if( func_enabled[ "WEB_RESFOF"] || func_enabled[ "WEB_RESFO2"] || (func_enabled[
|
||||
if(l_exel==1) {
|
||||
readwrite=0;
|
||||
%>
|
||||
<body bgcolor="white">
|
||||
<body>
|
||||
<% } else { %>
|
||||
<body
|
||||
onLoad="window.document.body.style.cursor='auto';
|
||||
if(parent.window) parent.window.document.body.style.cursor='auto';
|
||||
//FcltMgr.eventLoaded();
|
||||
">
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="1">
|
||||
<br>
|
||||
<body id="editbody">
|
||||
<%
|
||||
var buttons = [ { icon: "print.png", title: lcl_print_table, action: 'res_print()' },
|
||||
{ icon: "excel.png", title: lcl_export_to_excel, action: 'doOutput(2)' }
|
||||
];
|
||||
IFRAMER_HEADER(lcl_res_frame_voorziening, buttons);
|
||||
%>
|
||||
<span id="palette" class="buttoncontainer" style="display:none">
|
||||
<% CreateButtons([{ icon: "palette.png", title: lcl_res_legenda, action: 'openLegenda()' }], {isDialog: true}) %>
|
||||
</span>
|
||||
<div id="list">
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.document.body.style.cursor='wait';
|
||||
if(parent.window)parent.window.document.body.style.cursor='wait';
|
||||
</script>
|
||||
|
||||
|
||||
<% CreateRoomScheduleMulti({id:"tab_room_sched", date1: date_from,date2:date_from,readwrite:readwrite,
|
||||
CreateRoomScheduleMulti({id:"tab_room_sched",
|
||||
res_van: date_from,
|
||||
res_tot:date_to,
|
||||
readwrite:readwrite,
|
||||
loc:loc, bld:bld, opstel:opstel, ruimtecat:ruimtecat,
|
||||
res_ruimte_key: res_ruimte_key, vis: vis, autfunction:autfunction,
|
||||
showall: showall}); %>
|
||||
|
||||
<% } else { %>
|
||||
showall: showall, host: host,
|
||||
hour_px: hour_px });
|
||||
} else { %>
|
||||
<body>
|
||||
<p><%=lcl_no_auth%></p>
|
||||
<% } %>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user