Files
Facilitor/APPL/RES/res_multi_save.asp
Peter Feij 413498318a 0-versie
svn path=/Website/trunk/; revision=6
2009-10-05 06:44:06 +00:00

191 lines
8.2 KiB
Plaintext

<%@ language = "JavaScript" %>
<% /*
$Revision: 1 $
$Modtime: 29-09-09 16:18 $
File: multisaveDialog.asp
Description: Maak een dialoog om gegevens van een deelreservering naar
anderen over te nemen
Globalen:
rsv_ruimte_key bron-deelreservering
Context: Als gebruiker bij opslaan vinkje 'voor meerdere' heeft aangezet
Note:
*/
%>
<% Response.Expires = -1; %>
<!--#include file="../../cust/install.inc"-->
<!--#include file="../Shared/iface.inc"-->
<%
FCLTHeader.Requires({js: ["FcltMgr.js"]})
var urole = getQParam("urole");
var rsv_ruimte_key = getQParam("rsv_ruimte_key");
var submitting = getQParam("submit","0")=="1";
//
// Submit code
//
/* --flags (0-1023)
-- 0 Niks
-- 1 Omschrijving
-- 2 Opmerkinge
-- 4 Tijdstip
-- 8 Aantal personen
-- 16 Ruimte/opstelling
-- 32 Gastheer
-- 64 Kostenplaats
-- 128 Voorzieningen (delen)
-- 256 Catering (artikelen)
-- 512 Bezoekers var submitting = getQParam("submit","0")=="1";
-- 1024 Flexkenmerken
*/
%>
<html>
<head>
<% FCLTHeader.Generate()
if (submitting)
{
var rq = Request.Form("deelreserveringen");
var what = getFParamInt("call", 0, true);
if (what == 0) {
var what = getFParamInt("c1", 0, true)+getFParamInt("c2", 0, true)+getFParamInt("c4", 0, true)+getFParamInt("c8", 0, true)
+getFParamInt("c16", 0, true)+getFParamInt("c32", 0, true)+getFParamInt("c64", 0, true)+getFParamInt("c128", 0, true)
+getFParamInt("c256", 0, true)+getFParamInt("c512", 0, true)+getFParamInt("c1024", 0, true);
}
if (what != "") {
for (var i=1; i<=rq.count; i++)
{
var sql = "BEGIN res.res_sync_deelres("+rsv_ruimte_key+","+rq(i)+","+what+"); END;";
Oracle.Execute(sql);
}
}
%><script>FcltMgr.closeDetail(window, { refresh: true } );</script><%
Response.End;
}
//
// Einde submit, nu de gewone dialoog
//
var sql = "select res_reservering_key, "
+ " rrr.res_rsv_ruimte_van, "
+ " res_rsv_ruimte_volgnr "
+ " from res_rsv_ruimte rrr"
+ " where res_rsv_ruimte_key = " + rsv_ruimte_key
oRs = Oracle.Execute(sql);
var rrr = { rsv_ruimte_key : rsv_ruimte_key,
reservering_key : oRs("res_reservering_key").value,
rsv_ruimte_van : new Date(oRs("res_rsv_ruimte_van").value),
rsv_ruimte_volgnr : oRs("res_rsv_ruimte_volgnr").value
}
oRs.Close();
%>
</head>
<body><%/*TODO stijl*/%>
<form name=u2 action=MultiSaveDialog.asp?submit=1&urole=<%=urole%>&rsv_ruimte_key=<%=rsv_ruimte_key%> method=post>
<h3><%= lcl_res_cascade1 + rrr.reservering_key + "/" + rrr.rsv_ruimte_volgnr + lcl_res_cascade2 %></h3>
<table width="100%">
<tr>
<td valign=top>
<label><%=lcl_res_copypart%></label>
<br><label><input name='call' value="2047" type='checkbox'><%=lcl_all%></label>
<br><label><input name='c1' value="1" type='checkbox'><%=lcl_descr%></label>
<br><label><input name='c2' value="2" type='checkbox'><%=lcl_remark%></label>
<br><label><input name='c4' value="4" type='checkbox'><%=lcl_date_time%></label>
<br><label><input name='c8' value="8" type='checkbox'><%=lcl_visitors%></label>
<br><label><input name='c16' value="16" type='checkbox'><%=lcl_room%></label>
<br><label><input name='c32' value="32" type='checkbox'><%=lcl_host%></label>
<br><label><input name='c64' value="64" type='checkbox'><%=lcl_account%></label>
<br><label><input name='c1024' value="1024" type='checkbox'><%=lcl_res_flexblok%></label>
<br>
<br><label><input name='c128' value="128" type='checkbox'><%=lcl_reserved_object%></label>
<br><label><input name='c256' value="256" type='checkbox'><%=lcl_catering%></label>
<br><label><input name='c512' value="512" type='checkbox'><%=lcl_res_frame_visitors%></label>
</td>
<td valign=top>
<%
// ============================================
// Show list of reservation-rooms TODO die nog aangepast mogen worden
// ============================================
// Merk op: de outer-join is alleen van toepassing op erg 'dirty' ruimtes.
var res_deleted = null;
var res_deleted_user = -1;
sql = "SELECT res_rsv_ruimte_key"
sql += ", res_ruimte_nr"
sql += ", res_rsv_ruimte_van"
sql += ", res_rsv_ruimte_tot"
sql += ", rm.res_rsv_ruimte_volgnr"
sql += ", rm.res_rsv_ruimte_dirtlevel"
sql += " FROM res_rsv_ruimte rm, res_ruimte_opstelling ro, res_ruimte r"
sql += " WHERE rm.res_ruimte_opstel_key = ro.res_ruimte_opstel_key(+)"
sql += " AND ro.res_ruimte_key = r.res_ruimte_key(+)"
sql += " AND res_reservering_key = " + rrr.reservering_key
sql += " AND res_rsv_ruimte_verwijder IS NULL"
// sql += " AND rm.res_status_bo_key <> 6" // TODO en mogelijk nog meer; functie van maken of zo?
sql += " ORDER BY res_rsv_ruimte_van, res_rsv_ruimte_key"
oRs = Oracle.Execute( sql );
/*
// rsv_ruimtes die nog niet 'verwerkt' zijn, daarvan mogen de ruimtenummers 'gehighlight' worden voor 'alle'
sql_not_verwerkt = "SELECT rs.res_rsv_ruimte_key"
+ " FROM res_v_aanwezigrsv_ruimte rs"
+ " WHERE rs.res_reservering_key = " + rrr.reservering_key
+ " AND rs.res_rsv_ruimte_key NOT IN ("
+ " SELECT rs.res_rsv_ruimte_key"
+ " FROM res_v_aanwezigrsv_ruimte rs"
+ " WHERE rs.res_reservering_key = " + rrr.reservering_key
+ " AND rs.res_status_bo_key = 6"
+ " UNION"
+ " SELECT rd.res_rsv_ruimte_key"
+ " FROM res_v_aanwezigrsv_deel rd"
+ " , res_v_aanwezigrsv_ruimte rr"
+ " WHERE rd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ " AND rr.res_reservering_key = " + rrr.reservering_key
+ " AND rd.res_status_bo_key = 6"
+ " UNION"
+ " SELECT ra.res_rsv_ruimte_key"
+ " FROM res_v_aanwezigrsv_artikel ra"
+ " , res_v_aanwezigrsv_ruimte rr"
+ " WHERE ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ " AND rr.res_reservering_key = " + rrr.reservering_key
+ " AND ra.res_status_bo_key = 6)"
+ " ORDER BY rs.res_rsv_ruimte_van";
oRs = Oracle.Execute( sql_not_verwerkt );
*/
%>
<label><%=lcl_res_copytodates%></label>
<br><select id="deelreserveringen" name="deelreserveringen" size="15" multiple readonly>
<% while (!oRs.eof) {
rKey = oRs("res_rsv_ruimte_key").Value;
d1Key = new Date(oRs("res_rsv_ruimte_van").Value);
d2Key = new Date(oRs("res_rsv_ruimte_tot").Value);
tekst = toDateTimeString(d1Key)+"-"+toTimeString(d2Key)
// if (oRs("res_ruimte_nr").value)
// tekst += ": " + oRs("res_ruimte_nr")
volgnrTxt = oRs("res_rsv_ruimte_volgnr").value;
// TODO: Hoe hier net als vroeger omgaan met 'deleted' en 'serie' en 'reminder' etc.
sel = "";
if (d1Key > new Date())
var sel = " SELECTED "
%>
<option style="text-align: right;" value=<%=rKey%> <%=sel%>><%=volgnrTxt+" "+tekst%></option>
<%
oRs.Movenext();
}
%></select>
</td>
</tr>
</table>
</form>
<div id="buttons">
<%
BUTTONS_START();
CreateButton(lcl_submit, "u2.submit()", 100);
CreateButton(lcl_cancel, "FcltMgr.closeDetail(window, { cancel: true } )");
BUTTONS_END();
%>
</div>
</body>