5i alfa
svn path=/Website/trunk/; revision=39
This commit is contained in:
210
APPL/RES/res.css
Normal file
210
APPL/RES/res.css
Normal file
@@ -0,0 +1,210 @@
|
||||
/*
|
||||
* $Revision: 1 $
|
||||
* $Modtime: 3-11-09 14:29 $
|
||||
*/
|
||||
|
||||
|
||||
#resselector option {
|
||||
background-color: #94F6C4;
|
||||
}
|
||||
|
||||
#resselector .fatal {
|
||||
background-color: red;
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
#selectedDates{
|
||||
float: right;
|
||||
}
|
||||
/* RES planboard noot: res kan per id, obj gaat via class */
|
||||
#tab_room_sched tr, .tab_obj_sched tr {background-color: #ddd;}
|
||||
#tab_room_sched tr:hover, .tab_obj_sched tr:hover {background-color: #CCC;}
|
||||
#tab_room_sched tr.selected, .tab_obj_sched tr.selected { background-color: #808080; font-weight: bold; }
|
||||
#tab_room_sched tr.selected,
|
||||
.tab_obj_sched tr.selected,
|
||||
|
||||
table.planbord tr label { font-weight: normal;overflow: hidden; white-space: nowrap; }
|
||||
table.planbord td.label { width: 180px; padding-left: 5px; }
|
||||
table.planbord label { width: 180px; font-weight: normal; overflow: hidden; white-space: nowrap; }
|
||||
|
||||
table.planbord td.capaciteit { width: 55px;
|
||||
text-align: right;
|
||||
padding-right:15px; };
|
||||
|
||||
div.res_remark { display: none;
|
||||
float: right;
|
||||
position:absolute;
|
||||
z-index:1;
|
||||
width:200px;
|
||||
top:50px;
|
||||
left:500px;
|
||||
}
|
||||
|
||||
table.planbord48 tr td.between div { width:24px;};
|
||||
table.planbord48 tr td.post div { width:16px;};
|
||||
table.planbord48 td.reserv { background-image:url(../pictures/plan48x16.png) }
|
||||
table.planbord48 div.res_cleaning { border-left-width:11px; border-right-width:11px; }
|
||||
|
||||
table.planbord24 tr td.between div { width:24px;};
|
||||
table.planbord24 tr td.post div { width:16px;};
|
||||
table.planbord24 td.reserv { background-image:url(../pictures/plan24x16.png) }
|
||||
table.planbord24 div.res_cleaning { border-left-width:5px; border-right-width:5px; }
|
||||
|
||||
table.planbord16 tr td.between div { width:24px;};
|
||||
table.planbord16 tr td.post div { width:8px;};
|
||||
table.planbord16 td.reserv { background-image:url(../pictures/plan16x16.png) }
|
||||
table.planbord16 div.res_cleaning { border-left-width:2px; border-right-width:2px; }
|
||||
|
||||
table.planbord8 tr td.between div { width:10px;};
|
||||
table.planbord8 tr td.post div { width:3px;};
|
||||
table.planbord8 td.reserv { background-image:url(../pictures/plan08x16.png) }
|
||||
table.planbord8 div.res_cleaning { border-left-width:0px; border-right-width:0px; }
|
||||
|
||||
table.planbord4 tr td.between div { width:2px;};
|
||||
table.planbord4 tr td.post div { width:0px;};
|
||||
table.planbord4 td.reserv { background-image:url(../pictures/plan04x16.png) }
|
||||
table.planbord4 div.res_cleaning { border-left-width:0px; border-right-width:0px; }
|
||||
|
||||
table.planbord { border: 1px solid #808080 ; margin-top:5px; margin-right: 5px; }
|
||||
|
||||
table.planbord td.plantd { position: relative; padding:0px; }
|
||||
|
||||
table.planbord td.plantd.tijdbalk { }
|
||||
table.planbord label { font-weight: normal; }
|
||||
|
||||
table.planbord tr { height: 18px; }
|
||||
table.planbord td.reserv { background-repeat: repeat-x;
|
||||
background-position:1px 1px;}
|
||||
table.planbord tr td.between { };
|
||||
table.planbord tr td.post { padding:0px; };
|
||||
table.planbord div.gepland{ position: absolute;
|
||||
height: 16px;
|
||||
top:1px;
|
||||
}
|
||||
|
||||
div.gepland{ height: 16px;
|
||||
top:1px;
|
||||
}
|
||||
|
||||
table.planbord div.begintijd{ position: absolute;
|
||||
height: 16px;
|
||||
left: 0px;
|
||||
background-color: #ddd;
|
||||
top:1px; }
|
||||
table.planbord div.eindtijd { position: absolute;
|
||||
height: 16px;
|
||||
background-color: #ddd;
|
||||
top:1px; }
|
||||
table.planbord tr:hover div.begintijd,
|
||||
table.planbord tr:hover div.eindtijd {background-color: #CCC;}
|
||||
|
||||
|
||||
div.plantime { position: absolute;
|
||||
text-align: center;
|
||||
height: 16px;
|
||||
width:40px;
|
||||
top:1px;}
|
||||
table.planbord div.click { cursor: pointer;}
|
||||
table.planbord input[type=checkbox] { height:16px; width: 16px; }
|
||||
table.planbord input[type=radio] { height:16px; width: 16px; }
|
||||
|
||||
div.res_optie { background-color: #31398C; } /* Optie: blauw */
|
||||
div.res_definitief { background-color: #990000; } /* Definitief: rood */
|
||||
div.res_blok { background-color: #000000; } /* Blokkade: zwart */
|
||||
div.res_vervallen { background-color: #990099; } /* Vervallen: paars */
|
||||
div.res_nietvrij { background-color: #D6D80E; } /* Niet beschikbaar: geel */
|
||||
div.res_cleaning { border-left-style: solid;
|
||||
border-left-color: #808080;
|
||||
border-right-style: solid;
|
||||
border-right-color: #808080;
|
||||
}
|
||||
|
||||
tr.selected div.res_current { background-color: #F00; }
|
||||
|
||||
div.overflowleft { background-image:url(../pictures/moreleft.png);
|
||||
background-position:left top;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
div.overflowleft.res_cleaning { border-left-width: 0px!important; };
|
||||
div.continueleft.res_cleaning { border-left-width: 0px!important; };
|
||||
|
||||
div.overflowright { background-image:url(../pictures/moreright.png);
|
||||
background-position:right top;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
div.overflowright.res_cleaning { border-right-width: 0px!important; };
|
||||
div.continueright.res_cleaning { border-right-width: 0px!important; };
|
||||
|
||||
tr.selected div.overflowright { background-image:url(../pictures/moreright_sel.png); }
|
||||
tr.selected div.overflowleft { background-image:url(../pictures/moreleft_sel.png); }
|
||||
|
||||
table.planbord tr td.between div { height:16px; };
|
||||
|
||||
tr div.res_nieuw { display: none; }
|
||||
tr.selected div.res_nieuw { display: block;
|
||||
background-color: #0F0;
|
||||
}
|
||||
|
||||
/* De volgende regels overrulen mogelijk bovenstaande. */
|
||||
tr.res_nofit { display: none; }
|
||||
tr.res_nofit.selected { display: block!important; }
|
||||
tr.res_nofit td { color: #808080; }
|
||||
tr.res_nofit label { color: red; }
|
||||
|
||||
tr.unselected div.res_current { background-color: #F00;
|
||||
background-repeat: repeat-x;
|
||||
background-image:url(../pictures/delete.png); }
|
||||
.planbordlegenda td {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
div.objcatline { padding-left: 20px;
|
||||
background-repeat:no-repeat;
|
||||
background-image:url(../Pictures/tree_min.gif);
|
||||
cursor: pointer;
|
||||
}
|
||||
div.objcatline.closed { background-image:url(../Pictures/tree_plus.gif);}
|
||||
|
||||
div.objcatline.closed div.objcatdiv { display: none;}
|
||||
|
||||
div.objcatline.notavailable { background-image:none;
|
||||
cursor: default;
|
||||
}
|
||||
div.objcatline.existing { font-weight: bold;
|
||||
color: #31398C;
|
||||
}
|
||||
|
||||
div.objcatdiv { font-weight: normal;
|
||||
color: black;
|
||||
}
|
||||
|
||||
#resCat {}
|
||||
|
||||
#resObj {}
|
||||
|
||||
tr div.res_fatal { background-color: #F00;
|
||||
background-repeat: repeat-x;
|
||||
background-image:url(../pictures/delete.png)!important;
|
||||
z-index: 1; }
|
||||
|
||||
tr.res_fatal td { background-color: #F88;
|
||||
border 1px solid red;
|
||||
background-repeat: no-repeat;
|
||||
background-image:url(../pictures/delete.png)!important;
|
||||
padding-left : 20px;
|
||||
z-index: 1; }
|
||||
|
||||
@media print
|
||||
{ /* in print-mode doe we de kleuren als border. Daarmee werkt cleaning echter niet echt meer */
|
||||
div.res_optie { height:0px!important; border-top:7px solid #31398C; border-bottom:7px solid #31398C; } /* Optie: blauw */
|
||||
div.res_definitief { height:0px!important; border-top:7px solid #990000; border-bottom:7px solid #990000; } /* Definitief: rood */
|
||||
div.res_blok { height:0px!important; border-top:7px solid #000000; border-bottom:7px solid #000000; } /* Blokkade: zwart */
|
||||
div.res_vervallen { height:0px!important; border-top:7px solid #990099; border-bottom:7px solid #990099; } /* Vervallen: paars */
|
||||
div.res_nietvrij { height:0px!important; border-top:7px solid #D6D80E; border-bottom:7px solid #D6D80E; } /* Niet beschikbaar: geel */
|
||||
table.planbord div.res_cleaning { border-left-width:0px; border-right-width:0px; }
|
||||
table.planbord48 div.res_cleaning { margin-left:11px; margin-right:11px; }
|
||||
table.planbord24 div.res_cleaning { margin-left:5px; margin-right:5px; }
|
||||
table.planbord16 div.res_cleaning { margin-left:2px; margin-right:2px; }
|
||||
table.planbord4 div.res_cleaning { margin-left:0px; margin-right:0px; }
|
||||
table.planbord td.reserv { border:1px solid #888;}
|
||||
}
|
||||
72
APPL/RES/res_load_title_rsv.asp
Normal file
72
APPL/RES/res_load_title_rsv.asp
Normal file
@@ -0,0 +1,72 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 3-11-09 10:24 $
|
||||
|
||||
File: res_load_title_rsv.asp
|
||||
Description: Genereer HTML title voor een Reservering in het planbord
|
||||
Parameters: res_rsv_ruimte_key een reservering
|
||||
Context: asynchrone aanroep vanuit setResRsvTitle()
|
||||
Notes:
|
||||
|
||||
*/ %>
|
||||
<% DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!--#include file="../../cust/install.inc"-->
|
||||
<!--#include file="../Shared/escape.inc"-->
|
||||
<!--#include file="./res.inc"-->
|
||||
<%
|
||||
|
||||
rsv_ruimte_key = getQParamInt("rsv_ruimte_key");
|
||||
|
||||
sql = "SELECT "
|
||||
+ " COALESCE(rr.res_rsv_ruimte_omschrijving,'-') res_rsv_ruimte_omschrijving"
|
||||
+ ", " + prs_pers_string + " naam"
|
||||
+ ", coalesce(rr.res_rsv_ruimte_telefoon,'-') res_rsv_ruimte_telefoon"
|
||||
+ ", rr.res_rsv_ruimte_van"
|
||||
+ ", rr.res_rsv_ruimte_tot"
|
||||
+ ", rr.res_rsv_ruimte_dirtlevel"
|
||||
+ ", rr.res_reservering_key"
|
||||
+ ", rr.res_rsv_ruimte_volgnr"
|
||||
+ ", rr.res_ruimte_opstel_key"
|
||||
+ ", rr.alg_ruimte_key"
|
||||
+ " FROM res_rsv_ruimte rr,"
|
||||
+ " prs_perslid p"
|
||||
+ " WHERE rr.res_rsv_ruimte_key = " + rsv_ruimte_key
|
||||
+ " AND p.prs_perslid_key = rr.res_rsv_ruimte_contact_key";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
var txt = lcl_reservation + ": " + oRs("res_reservering_key") + "/" + oRs("res_rsv_ruimte_volgnr")
|
||||
+ " " + toTimeString(new Date(oRs("res_rsv_ruimte_van")))
|
||||
+ "-" + toTimeString(new Date(oRs("res_rsv_ruimte_tot")));
|
||||
if (oRs("res_rsv_ruimte_dirtlevel").Value & res.dirtlevel.ruimte.notavailable)
|
||||
txt += "\n" + lcl_res_dirtyroom;
|
||||
txt += "\n" + oRs("res_rsv_ruimte_omschrijving")
|
||||
+ "\n" + oRs("naam") + " (" + oRs("res_rsv_ruimte_telefoon") +")"
|
||||
|
||||
|
||||
if (oRs("res_ruimte_opstel_key").Value != null)
|
||||
{
|
||||
sql = "select res_ruimte_nr"
|
||||
+ " from res_ruimte rr,"
|
||||
+ " res_ruimte_opstelling ro"
|
||||
+ " where res_ruimte_opstel_key = " + oRs("res_ruimte_opstel_key").Value
|
||||
+ " and rr.res_ruimte_key = ro.res_ruimte_key"
|
||||
oRs2 = Oracle.Execute(sql);
|
||||
txt += "\nZaal: " + oRs2("res_ruimte_nr");
|
||||
oRs2.Close();
|
||||
}
|
||||
else // Alg_ruimte_key zal gevuld zijn
|
||||
{
|
||||
sql = "select alg_plaatsaanduiding"
|
||||
+ " from alg_v_plaatsaanduiding"
|
||||
+ " where alg_onroerendgoed_keys = " + oRs("alg_ruimte_key").Value
|
||||
oRs2 = Oracle.Execute(sql);
|
||||
txt += "\nRuimte: " + oRs2("alg_plaatsaanduiding");
|
||||
oRs2.Close();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
Response.Write(txt);
|
||||
%>
|
||||
315
APPL/RES/res_search_plan_obj.asp
Normal file
315
APPL/RES/res_search_plan_obj.asp
Normal file
@@ -0,0 +1,315 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 3-11-09 16:00 $
|
||||
|
||||
File: res_search_plan_obj.asp
|
||||
Status: 75%
|
||||
Remark: Toon objecten planbord
|
||||
Parameters:
|
||||
Context: vanuit res_search.asp
|
||||
*/
|
||||
|
||||
%>
|
||||
|
||||
<!--#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/iface.inc"-->
|
||||
<!--#include file="../Shared/discxalg3d.inc"-->
|
||||
<!--#include file="res_plan_obj.inc"-->
|
||||
<!--#include file="res.inc"-->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({plugins: ["jQuery", "datepicker"],
|
||||
js: ["date.js", "jquery-ui.js", "./res_plan.js"]})
|
||||
|
||||
var urole = getQParam("urole");
|
||||
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key", -1); // TODO: En hoe dan vanuit planbord?
|
||||
var dis_key = getQParamInt("dis_key", -1); // (Alleen) default openklappen
|
||||
|
||||
var dateoffset=0; // TODO deeplinking??
|
||||
var date_from = getFParamDate("date_from", new Date((new Date).getTime() + dateoffset));
|
||||
var date_to = getFParamDate("date_to", new Date(date_from.getTime() + dateoffset));
|
||||
var show_park = getFParamInt("park", 0);
|
||||
// var res_van = new Date(oRs("res_rsv_ruimte_van").value);
|
||||
// var res_tot = new Date(oRs("res_rsv_ruimte_tot").value);
|
||||
|
||||
|
||||
// alg_ruimte_key = oRs("alg_ruimte_key").value||-1;
|
||||
|
||||
var fronto = (urole == "fo");
|
||||
var backo = (urole == "bo");
|
||||
var frontend = (urole == "fe");
|
||||
|
||||
var ch_obj_mode = Request.QueryString("ch_obj_mode");
|
||||
var portal_alg_ruimte_key = Request.QueryString("portal_alg_ruimte_key");
|
||||
var newres = Request.QueryString("reservNew")=="1";
|
||||
|
||||
if (urole=="fo")
|
||||
var autfunction = "WEB_RESFOF";
|
||||
else if (urole=="bo")
|
||||
var autfunction = "WEB_RESBOF";
|
||||
else // fe
|
||||
var autfunction = "WEB_RESUSE";
|
||||
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
|
||||
var disc_key = getQParamInt("disc", -1);
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
|
||||
<%
|
||||
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;
|
||||
%>
|
||||
|
||||
<style>
|
||||
table.planbord div.sizer { width:<%=hour_px*(res_t2-res_t1)+1%>px;};
|
||||
</style>
|
||||
|
||||
<script type="text/javascript" src='../LocalScripts/num2curr.js'></script>
|
||||
<script type="text/javascript" src='../LocalScripts/date.js'></script>
|
||||
<script type="text/javascript" src='../LocalScripts/num2curr.js'></script>
|
||||
|
||||
<% res.clientTimeVars(); %>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
var hour_px = <%=hour_px%>;
|
||||
|
||||
var res_t1 = <% = " " + res_t1 %>;
|
||||
var res_t2 = <% = " " + res_t2 %>;
|
||||
var res_h = <% = " " + res_h %>;
|
||||
var res_dur = <% = " " + res_dur %>;
|
||||
var res_cat_t1 = <%=res_cat_t1%>
|
||||
var res_cat_t2 = <%=res_cat_t2%>
|
||||
|
||||
var rsv_ruimte_key = -1;
|
||||
var urole = "<%=urole%>";
|
||||
|
||||
var ch_obj_mode = '<%=Request.QueryString("ch_obj_mode")%>';
|
||||
|
||||
// Worden in res_plan.js gebruikt:
|
||||
var res_van = new Date(<%=date_from.getTime()%>);
|
||||
var res_tot = new Date(<%=date_to.getTime()%>);
|
||||
|
||||
|
||||
function res_print()
|
||||
{
|
||||
window.print();
|
||||
}
|
||||
$(document).ready(function () {
|
||||
$('.plantd').droppable({
|
||||
drop: function(event, ui) {
|
||||
var jtr = $(this).closest('tr');
|
||||
var dx = ui.offset.left - jtr.find('.plantd').offset().left;
|
||||
dx = (dx-1)/<%=hour_px%> + <%=res_t1%>;
|
||||
var res_deel_key = $(this).closest('tr')[0].id;
|
||||
if (res_deel_key)
|
||||
{
|
||||
var url = "./res_update_obj.asp?rsv_deel_key="+ui.draggable[0].rsv_deel_key
|
||||
+ "&res_deel_key="+$(this).closest('tr')[0].id
|
||||
+ "&fres_van="+dx;
|
||||
FcltMgr.openModalDetail(url, "TODO Hallo",
|
||||
{ callback: function (data) {
|
||||
if (data.refresh)
|
||||
window.location.reload()} }
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$('table.planbord').each(function ()
|
||||
{
|
||||
$(this).find('div.gepland:not(.overflowleft,.overflowright)').draggable({ //containment: '#table_dis136',
|
||||
containment: $(this), //.find("td.plantd"),
|
||||
start: function(event, ui) { ui.helper[0].title="Sleep naar nieuw tijdstip";
|
||||
this.beingdragged = true; /* to prevent onclick */ },
|
||||
stop: function(event, ui) { //this.beingdragged = false; doet rsv_click wel
|
||||
var ttl = "Top: " + ui.offset.top + " Left: " + ui.offset.left;
|
||||
//alert(ttl);
|
||||
var ttl = "Top: " + ui.helper.closest('table').offset().top + " Left: " + ui.helper.closest('table').offset().left;
|
||||
//alert(ttl);
|
||||
var dx = ui.offset.left - ui.helper.closest('table').offset().left;
|
||||
var dy = ui.offset.top - ui.helper.closest('table').offset().top;
|
||||
var ttl = "dx: " + dx + " dy:" + dy;
|
||||
//alert(ttl);
|
||||
},
|
||||
drag: function(event, ui) { var dx = ui.offset.left - ui.helper.closest('table').offset().left;
|
||||
var dy = ui.offset.top - ui.helper.closest('table').offset().top;
|
||||
var ttl = "dx: " + dx + " dy:" + dy;
|
||||
ui.helper[0].title = ttl;
|
||||
//this.beingdragged = false; doet rsv_click wel
|
||||
},
|
||||
helper: 'clone' ,
|
||||
opacity: 0.50,
|
||||
appendTo: this,
|
||||
grid: [<%=hour_px*res_h%>, 20],
|
||||
scroll: false,
|
||||
xaxis: 'y' });
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<%
|
||||
if( !func_enabled[backo?"WEB_RESBOF":fronto?"WEB_RESFOF":"WEB_RESUSE"] )
|
||||
{
|
||||
Response.write("<p>"+ lcl_no_auth + "</p>: res_Search_plan_obj.asp")
|
||||
Response.end
|
||||
}
|
||||
|
||||
|
||||
%>
|
||||
<body id="editbody">
|
||||
<%
|
||||
var buttons = [ { icon: "palette.png", title: lcl_res_legenda, action: 'openLegenda()' },
|
||||
{ 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);
|
||||
%>
|
||||
<div id="list">
|
||||
|
||||
<form name=u2 method=post action="res_edit_objcat_save.asp?urole=<%=urole%>&rsv_ruimte_key=<%=rsv_ruimte_key%>">
|
||||
<%
|
||||
var params = { hour_px: hour_px,
|
||||
loc_key: getFParamInt("locatiekey", -1)
|
||||
}
|
||||
|
||||
// ==========================================================================
|
||||
// Description: Bouwen van het voorzieningen edit blok voor een reservering
|
||||
|
||||
// Tel in elke catalogus hoeveel objecten in de gekozen ruimte echt gereservererd kunnen worden.
|
||||
// Als dat er nul zijn dan tonen we de discipline namelijk niet.
|
||||
sql_aantal = " 1 aantal ";
|
||||
if (params.loc_key>0) {
|
||||
var sql_aantal = " ( " + getReservedObjectTypes(-1, -1, " count(*) ", params.loc_key, "dis.ins_discipline_key", "") + ") aantal ";
|
||||
}
|
||||
sql= "select dis.INS_DISCIPLINE_KEY,"
|
||||
+ " dis.INS_DISCIPLINE_OMSCHRIJVING,"
|
||||
+ " DIS.INS_DISCIPLINE_KPNVERPLICHT,"
|
||||
+ sql_aantal
|
||||
+ " from RES_v_aanwezigDISCIPLINE dis"
|
||||
+ " WHERE ins_discipline_min_level=1"
|
||||
+ " AND dis.INS_DISCIPLINE_KEY IN("
|
||||
+ " SELECT g.ins_discipline_key FROM FAC_V_WEBGEBRUIKER g, FAC_FUNCTIE f "
|
||||
+ " WHERE g.fac_functie_key = f.fac_functie_key "
|
||||
+ " AND f.fac_functie_code = '" + autfunction + "'"
|
||||
+ " AND g.fac_gebruiker_alg_level_read < 9"
|
||||
+ " AND g.PRS_PERSLID_KEY ="+user_key
|
||||
+ " )"
|
||||
+ " AND dis.INS_DISCIPLINE_KEY IN"
|
||||
+ " (SELECT res_discipline_key" /* DISTINCT */
|
||||
+ " from res_deel R, ins_deel D"
|
||||
+ " where r.res_deel_verwijder IS NULL"
|
||||
+ " and R.res_ins_deel_key=D.ins_deel_key)";
|
||||
if (show_park)
|
||||
sql += " AND dis.INS_DISCIPLINE_KEY = " + vis_parking_key;
|
||||
else if (vis_parking_key>0)
|
||||
sql += " AND dis.INS_DISCIPLINE_KEY != " + vis_parking_key
|
||||
|
||||
if (disc_key>0) sql=sql + " and dis.ins_discipline_key ="+disc_key;
|
||||
|
||||
if (res_fe_discs_only_in_res != -1 && !fronto && !backo && restype=='CV')
|
||||
sql=sql + " and dis.ins_discipline_key NOT IN ("+res_fe_discs_only_in_res+") ";
|
||||
|
||||
sql=sql + " ORDER BY 2";
|
||||
oRs1 = Oracle.Execute( sql );
|
||||
%>
|
||||
<table>
|
||||
<tr><td>
|
||||
<%
|
||||
// Toon van en tot bij meerdaags overzicht
|
||||
if (date_from.midnight().getTime() != date_to.midnight().getTime())
|
||||
{
|
||||
Response.Write(toDateString(date_from.midnight()));
|
||||
Response.Write(" "+lcl_res_totenmet +" "+ toDateString(date_to.midnight()));
|
||||
}
|
||||
%>
|
||||
</td>
|
||||
</tr>
|
||||
<%
|
||||
while( !oRs1.eof ) {
|
||||
if (oRs1("aantal").Value > 0) {
|
||||
%>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="objcatline">
|
||||
<span onclick="$(this.parentElement).toggleClass('closed');">
|
||||
<%=Server.HTMLencode(oRs1("INS_DISCIPLINE_OMSCHRIJVING").value)%>
|
||||
</span>
|
||||
<div class="objcatdiv"
|
||||
style='overflow-x: auto; xwidth: 1000px'>
|
||||
<%
|
||||
make_plan_obj(oRs1("INS_DISCIPLINE_KEY").value, date_from, date_to, params);
|
||||
%>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<%
|
||||
}
|
||||
oRs1.MoveNext();
|
||||
}
|
||||
oRs1.close();
|
||||
%>
|
||||
</table>
|
||||
<script>
|
||||
function openLegenda()
|
||||
{
|
||||
params = { width: 125,
|
||||
minWidth: 125,
|
||||
height: 130,
|
||||
minHeight: 130,
|
||||
resizable: false,
|
||||
position: ['right','top'],
|
||||
title: "<%=lcl_res_legenda%>"
|
||||
}
|
||||
$('div#legenda').dialog(params).dialog('open');
|
||||
}
|
||||
</script>
|
||||
<div id="legenda" style="display:none";>
|
||||
<table width="100%" border="0">
|
||||
<tr>
|
||||
<td align="right"><img src="../Pictures/room_free.gif"></td>
|
||||
<td><% = lcl_free %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><img src="../Pictures/room_opt.gif"></td>
|
||||
<td><% = lcl_optie %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><img src="../Pictures/room_vvl.gif"></td>
|
||||
<td><% = lcl_vervallen %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
204
APPL/RES/res_update_obj.asp
Normal file
204
APPL/RES/res_update_obj.asp
Normal file
@@ -0,0 +1,204 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 3-11-09 14:37 $
|
||||
|
||||
File: res_update_obj.asp
|
||||
Description: update een onderdeel van een object-reservering na wijziging via planbord
|
||||
Parameters:
|
||||
rsv_deel_key RES_RSV_DEEL to update
|
||||
res_deel_key Nieuw object
|
||||
rsv_van nieuwe begintijd in uren
|
||||
rsv_tot nieuwe eindtijd in uren
|
||||
Context: Modal dialoog vanuit objecten planbord
|
||||
Note: We ondersteunen drie varianten
|
||||
- CV-reservering (met rsv_ruimte_key==>alg_ruimte_key)
|
||||
Verticaal: We staan toe dat een ander object (res_deel) gekozen wordt
|
||||
Horizontaal: Bij wijzigen tijd waarschuwen we dat andere objecten meegaan
|
||||
(welbeschouwd wijzigen we res_rsv_ruimte_van en de rest cascadeert)
|
||||
- R-reservering (met rsv_ruimte_key==>res_opstel_key)
|
||||
Verticaal: We staan toe dat een ander object (res_deel) gekozen wordt
|
||||
Horizontaal: Een ander tijdstip staan we niet toe ("Ga maar naar ruimte-planbord)
|
||||
- Parkeerplaats bij afspraak (met bez_bezoekers_key)
|
||||
Verticaal: We staan toe dat een ander object (res_deel) gekozen wordt
|
||||
Horizontaal: Een ander tijdstip staan we niet toe ("Ga maar naar bezoekersscherm")
|
||||
*/
|
||||
%>
|
||||
<!--#include file="../../cust/install.inc"-->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!--#include file="../shared/iface.inc" -->
|
||||
<!--#include file="../shared/save2db.inc" -->
|
||||
<!--#include file="res.inc"-->
|
||||
<%
|
||||
FCLTHeader.Requires({plugins: ["jQuery"]});
|
||||
|
||||
var rsv_deel_key = getQParamInt("rsv_deel_key");
|
||||
var new_deel_key = getQParamInt("res_deel_key");
|
||||
var new_van = (new Date).setFloatHours(getQParam("fres_van"), res_h);
|
||||
//var rsv_tot = parseFloat(getQParam("rsv_tot"));
|
||||
|
||||
var submitting = getQParam("submit","0")=="1";
|
||||
|
||||
sql = "SELECT res_rsv_ruimte_key, "
|
||||
+ " bez_bezoekers_key, "
|
||||
+ " rrd.res_deel_key,"
|
||||
+ " ins_deel_omschrijving,"
|
||||
+ " res_rsv_deel_van"
|
||||
+ " FROM ins_deel d,"
|
||||
+ " res_deel rd,"
|
||||
+ " res_rsv_deel rrd"
|
||||
+ " WHERE rrd.res_rsv_deel_key = " + rsv_deel_key
|
||||
+ " AND rrd.res_deel_key = rd.res_deel_key"
|
||||
+ " AND rd.res_ins_deel_key = d.ins_deel_key" ;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var rsv_ruimte_key = oRs("res_rsv_ruimte_key").Value;
|
||||
var bezoekers_key = oRs("bez_bezoekers_key").Value;
|
||||
var old_van = new Date(oRs("res_rsv_deel_van").Value);
|
||||
var old_deel_key = oRs("res_deel_key").Value;
|
||||
var old_deel_oms = oRs("ins_deel_omschrijving").Value;
|
||||
|
||||
var bTimeChanged = old_van.getHours() != new_van.getHours() || old_van.getMinutes() != new_van.getMinutes();
|
||||
if (old_deel_key != new_deel_key)
|
||||
{
|
||||
sql = "SELECT ins_deel_omschrijving"
|
||||
+ " FROM ins_deel d,"
|
||||
+ " res_deel rd"
|
||||
+ " WHERE rd.res_deel_key = " + new_deel_key
|
||||
+ " AND rd.res_ins_deel_key = d.ins_deel_key" ;
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var new_deel_oms = oRs("ins_deel_omschrijving").Value;
|
||||
}
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate()
|
||||
if (submitting)
|
||||
{
|
||||
var fields = [ { dbs: "res_rsv_ruimte_van", typ: "time", val: new_van }
|
||||
//, { dbs: "res_rsv_ruimte_tot", typ: "time", frm: "date_to" }
|
||||
];
|
||||
sql = buildUpdate("res_rsv_ruimte", fields)
|
||||
+ " res_rsv_ruimte_key = " + rsv_ruimte_key;
|
||||
// Nu de echte update.
|
||||
// Daarbij ook diverse controles/ updates uitvoeren op 'andere zaken'
|
||||
sql = "BEGIN "
|
||||
+ sql + ";"
|
||||
+ " res.set_ruimte_dirty (" + rsv_ruimte_key + "); " // Zelf dirty geworden?
|
||||
+ " res.set_ruimtes_clean (" + oldvan.toSQL() + "); " // Anderen 'clean' geworden
|
||||
+ " res.follow_artikel (" + rsv_ruimte_key + ", " + oldvan.toSQL(true) + ", " + oldtot.toSQL(true) + "); " // catering mee verplaatsen
|
||||
+ " res.follow_deel (" + rsv_ruimte_key + ", " + oldvan.toSQL(true) + ", " + oldtot.toSQL(true) + "); " // objecten mee verplaatsen
|
||||
+ "END;";
|
||||
//Oracle.Execute( sql );
|
||||
//res.trackaction("RESUPD", rsv_ruimte_key, "TODO lcl_deelreservering gewijzigd"); /* TODO zie boven */
|
||||
|
||||
%><script>FcltMgr.closeDetail(window, { refresh: true } );</script><%
|
||||
Response.End;
|
||||
}
|
||||
%>
|
||||
</head>
|
||||
<body id="editbody"><%/*TODO stijl*/%>
|
||||
<form name=u2 action=res_update_obj.asp?submit=1&rsv_ruimte_key=<%=rsv_ruimte_key%> method=post>
|
||||
<%
|
||||
var badmsg = "";
|
||||
|
||||
BLOCK_START("", lcl_res_frame_voorziening);
|
||||
if (rsv_ruimte_key)
|
||||
{
|
||||
sql = "SELECT rr.res_rsv_ruimte_key"
|
||||
+ ", rr.res_rsv_ruimte_omschrijving"
|
||||
+ ", " + prs_pers_string + " naam"
|
||||
+ ", coalesce(rr.res_rsv_ruimte_telefoon,'-') res_rsv_ruimte_telefoon"
|
||||
+ ", rr.res_rsv_ruimte_van"
|
||||
+ ", rr.res_rsv_ruimte_tot"
|
||||
+ ", rr.res_reservering_key"
|
||||
+ ", rr.res_rsv_ruimte_volgnr"
|
||||
+ ", rr.res_ruimte_opstel_key"
|
||||
+ ", rr.alg_ruimte_key"
|
||||
+ " FROM res_rsv_ruimte rr,"
|
||||
+ " prs_perslid p,"
|
||||
+ " res_deel rd,"
|
||||
+ " res_rsv_deel rrd"
|
||||
+ " WHERE rrd.res_rsv_deel_key = " + rsv_deel_key
|
||||
+ " AND rrd.res_deel_key = rd.res_deel_key"
|
||||
+ " AND rrd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
|
||||
+ " AND p.prs_perslid_key = rr.res_rsv_ruimte_contact_key"
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
ROFIELDTR("fldresnum", lcl_reservation, oRs("res_reservering_key") + "/" + oRs("res_rsv_ruimte_volgnr"));
|
||||
ROFIELDTR("fld", lcl_from, toDateTimeString(oRs("res_rsv_ruimte_van").Value));
|
||||
ROFIELDTR("fld", lcl_to, toDateTimeString(oRs("res_rsv_ruimte_tot").Value));
|
||||
ROFIELDTR("fldresdesc", lcl_descr, oRs("res_rsv_ruimte_omschrijving").Value||"-");
|
||||
|
||||
if (oRs("res_ruimte_opstel_key").Value != null)
|
||||
{
|
||||
if (bTimeChanged)
|
||||
{
|
||||
badmsg = "TODO: tijd wijzigen mag alleen via reservering of ruimte-planbord";
|
||||
}
|
||||
|
||||
sql = "select res_ruimte_nr"
|
||||
+ " from res_ruimte rr,"
|
||||
+ " res_ruimte_opstelling ro"
|
||||
+ " where res_ruimte_opstel_key = " + oRs("res_ruimte_opstel_key").Value
|
||||
+ " and rr.res_ruimte_key = ro.res_ruimte_key"
|
||||
oRs2 = Oracle.Execute(sql);
|
||||
ROFIELDTR("fldresroom", lcl_room, oRs2("res_ruimte_nr").Value);
|
||||
oRs2.Close();
|
||||
}
|
||||
else // Alg_ruimte_key zal gevuld zijn
|
||||
{
|
||||
sql = "select alg_plaatsaanduiding"
|
||||
+ " from alg_v_plaatsaanduiding"
|
||||
+ " where alg_onroerendgoed_keys = " + oRs("alg_ruimte_key").Value
|
||||
oRs2 = Oracle.Execute(sql);
|
||||
ROFIELDTR("fldresroom", lcl_room, oRs2("alg_plaatsaanduiding").Value);
|
||||
oRs2.Close();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
||||
if (!this_res.canChange)
|
||||
{
|
||||
badmsg = LCL.shared.no_auth;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bTimeChanged)
|
||||
{
|
||||
badmsg = "TODO: tijd wijzigen mag alleen via afspraak-scherm";
|
||||
}
|
||||
%>TODO: afspraak info tonen<%
|
||||
}
|
||||
BLOCK_END();
|
||||
%>
|
||||
</form>
|
||||
<%= old_deel_oms %>
|
||||
<%
|
||||
if (badmsg!="") { %>
|
||||
<font color=red><br><%=badmsg%></font>
|
||||
<% } else {
|
||||
if (old_deel_key != new_deel_key) { %>
|
||||
TODO: Vervangen door: <%= new_deel_oms%>
|
||||
<% }
|
||||
if (bTimeChanged) { %>
|
||||
<br>TODO Begintijdstip aanpassen van <%= toTimeString(old_van) %> naar <%= toTimeString(new_van) %>
|
||||
<br>TODO: Let op: hele reservering wordt verplaats, andere voorzieningen gaan mee.
|
||||
<% }
|
||||
}
|
||||
%>
|
||||
<div id="buttons">
|
||||
<%
|
||||
BUTTONS_START();
|
||||
if (badmsg=="")
|
||||
CreateButton(lcl_submit, "u2.submit()", 100);
|
||||
//if (rsv_ruimte_key)
|
||||
// CreateButton(lcl_reservation, "FcltMgr.openDetail('appl/res/res_reservering.asp?rsv_ruimte_key="+rsv_ruimte_key+"')", 100);
|
||||
//else if (bezoekers_key)
|
||||
// CreateButton(lcl_vis_appointment, "FcltMgr.openDetail('appl/bez/bez_afspraak.asp?bezoekers_key="+bezoekers_key+"')", 100);
|
||||
CreateButton(lcl_cancel, "FcltMgr.closeDetail(window, { cancel: true } )");
|
||||
BUTTONS_END();
|
||||
%>
|
||||
</div>
|
||||
52
APPL/RES/res_update_room.asp
Normal file
52
APPL/RES/res_update_room.asp
Normal file
@@ -0,0 +1,52 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision: 1 $
|
||||
$Modtime: 3-11-09 11:16 $
|
||||
|
||||
File: res_update_room.asp
|
||||
Description: update een deel-reservering na wijziging via planbord
|
||||
Parameters:
|
||||
rsv_ruimte_key RES_RSV_RUIMTE to update
|
||||
rsv_van nieuwe begintijd in uren
|
||||
rsv_tot nieuwe eindtijd in uren
|
||||
Context: Ajax call vanuit res_table.asp
|
||||
Note:
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!--#include file="../../cust/install.inc"-->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!--#include file="../shared/save2db.inc" -->
|
||||
<!--#include file="res.inc"-->
|
||||
<%
|
||||
FCLTHeader.Requires({plugins: ["jQuery"],
|
||||
js: []})
|
||||
|
||||
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key");
|
||||
var rsv_van = parseFloat(getQParam("rsv_van"));
|
||||
var rsv_tot = parseFloat(getQParam("rsv_tot"));
|
||||
|
||||
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
||||
if (!this_res.canChange)
|
||||
{
|
||||
result = { message: lcl_no_auth }; // Ongeldige aanroep
|
||||
}
|
||||
else
|
||||
{
|
||||
var fields = [ { dbs: "res_rsv_ruimte_van", typ: "time", frm: "date_from" },
|
||||
{ dbs: "res_rsv_ruimte_tot", typ: "time", frm: "date_to" }
|
||||
];
|
||||
// update ruimte
|
||||
// objects en articles are deleted automatically if the RES_RSV_RUIMTE is deleted
|
||||
sql = "update RES_RSV_RUIMTE set RES_RSV_RUIMTE_VERWIJDER=SYSDATE"
|
||||
// + ", RES_STATUS_FO_KEY = " + (cost_recharge? "4":"1") //status 1=optie, 4=vervallen
|
||||
+ ", RES_RSV_RUIMTE_VERWIJDER_USER = "+ user_key
|
||||
+ " where RES_RSV_RUIMTE_VERWIJDER IS NULL"
|
||||
+ " and " + rsv_ruimte_key
|
||||
// oRs = Oracle.Execute( sql );
|
||||
|
||||
|
||||
result = { message: "TODO: Op de server is het updaten nog niet echt verwerkt" };
|
||||
}
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
Reference in New Issue
Block a user