172 lines
6.9 KiB
Plaintext
172 lines
6.9 KiB
Plaintext
<%@ language = "JavaScript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: res_delete.asp
|
|
Description: Toon een dialoog om de huidige of toekomstige te verwijderen
|
|
Staat ook nog toe om de opmerking aan te passen
|
|
Parameters:
|
|
rsv_ruimte_key start RES_RSV_RUIMTE to delete
|
|
Context: Popup vanuit res_show_rsv_ruimte.asp
|
|
Note:
|
|
*/
|
|
%>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/iface.inc" -->
|
|
<!-- #include file="../Shared/save2db.inc" -->
|
|
<!-- #include file="res.inc" -->
|
|
<%
|
|
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key");
|
|
var urole = getQParamSafe("urole");
|
|
|
|
// Altijd handig
|
|
var sql = "SELECT res_reservering_key"
|
|
+ " , rrr.res_rsv_ruimte_van"
|
|
+ " , res_rsv_ruimte_volgnr"
|
|
+ " , COALESCE(res_rsv_ruimte_opmerking,'') res_rsv_ruimte_opmerking"
|
|
+ " , alg_ruimte_key"
|
|
+ " , res_status_fo_key"
|
|
+ " 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,
|
|
rsv_ruimte_opmerking : oRs("res_rsv_ruimte_opmerking").value,
|
|
restype : (oRs("alg_ruimte_key").value != null? "CV" : "R"),
|
|
res_status_fo_key : oRs("res_status_fo_key").value
|
|
}
|
|
|
|
oRs.Close();
|
|
res.res_set_dialect(rsv_ruimte_key);
|
|
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
|
user.auth_required_or_abort(this_res.canDelete);
|
|
%>
|
|
<html>
|
|
<head>
|
|
<% FCLTHeader.Generate()
|
|
|
|
// Aantal toekomst
|
|
var sql = "SELECT count(distinct res_rsv_ruimte_volgnr)"
|
|
+ " FROM res_v_aanwezigrsv_ruimte rr,"
|
|
+ " res_v_aanwezigrsv_deel rd,"
|
|
+ " res_v_aanwezigrsv_artikel ra"
|
|
+ " WHERE res_reservering_key = " + rrr.reservering_key
|
|
+ " AND ra.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key"
|
|
+ " AND rd.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key"
|
|
+ " AND res_rsv_ruimte_van >= " + rrr.rsv_ruimte_van.toSQL()
|
|
+ " AND rr.res_rsv_ruimte_key <> " + rsv_ruimte_key;
|
|
oRs = Oracle.Execute(sql);
|
|
var aantalLater = oRs(0).value;
|
|
|
|
// Aantal verleden
|
|
var sql = "SELECT count(distinct res_rsv_ruimte_volgnr)"
|
|
+ " FROM res_v_aanwezigrsv_ruimte rr,"
|
|
+ " res_v_aanwezigrsv_deel rd,"
|
|
+ " res_v_aanwezigrsv_artikel ra"
|
|
+ " WHERE res_reservering_key = " + rrr.reservering_key
|
|
+ " AND ra.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key"
|
|
+ " AND rd.res_rsv_ruimte_key(+) = rr.res_rsv_ruimte_key"
|
|
+ " AND res_rsv_ruimte_van < " + rrr.rsv_ruimte_van.toSQL()
|
|
+ " AND rr.res_rsv_ruimte_key <> " + rsv_ruimte_key;
|
|
oRs = Oracle.Execute(sql);
|
|
var aantalEerder = oRs(0).value;
|
|
oRs.Close();
|
|
|
|
// Maximale kostendoorberekening van de te verwijderen reservering ophalen
|
|
var kosten = this_res.max_dbkosten;
|
|
|
|
buttons = [];
|
|
if (aantalEerder > 0 || aantalLater > 0)
|
|
{
|
|
buttons.push({ title: L("lcl_res_btn_current"),
|
|
icon: "delete.png",
|
|
action: "doDelete(false, false);",
|
|
tooltip: L("lcl_res_del_txt_current") + " " + rrr.rsv_ruimte_volgnr});
|
|
}
|
|
if (aantalEerder > 0 && aantalLater > 0)
|
|
{
|
|
buttons.push({ title: L("lcl_res_btn_future"),
|
|
icon: "delete.png",
|
|
action: "doDelete(false, true);",
|
|
tooltip: L("lcl_res_del_txt_future")});
|
|
}
|
|
if (urole != 'fe' || aantalEerder == 0)
|
|
{
|
|
buttons.push({ title: L("lcl_res_btn_total"),
|
|
icon: "delete.png",
|
|
action: "doDelete(true);",
|
|
tooltip: L("lcl_res_del_txt_total")});
|
|
}
|
|
buttons.push({ title: L("lcl_cancel"),
|
|
icon: "cancel.png",
|
|
tooltip: L("lcl_cancel"),
|
|
action: "FcltMgr.closeDetail(window, { cancel: true } )"});
|
|
|
|
|
|
%>
|
|
<script type="text/javascript">
|
|
// full: complete reservering weggooien
|
|
// bonWards: vanaf datum huidige res_rsv_ruimte voorwaarts
|
|
function doDelete(bFull, bonWards)
|
|
{
|
|
$("#deletefull").val(bFull?1:0);
|
|
$("#deletefuture").val(bonWards?1:0);
|
|
// Niet overdrijven met vragen: if (confirm(L("lcl_R_U_sure")))
|
|
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackClose, "json");
|
|
}
|
|
</script>
|
|
</head>
|
|
<body class="modal" id="mod_resdelete">
|
|
<form name="u2" action="res_delete_save.asp?rsv_ruimte_key=<%=rsv_ruimte_key%>" method="post">
|
|
<input type='hidden' id='deletefull' name='deletefull' value='0'>
|
|
<input type='hidden' id='deletefuture' name='deletefuture' value='0'>
|
|
|
|
<% BLOCK_START("resDelete", L("lcl_res_deel_head1") + " " + (aantalEerder + 1 + aantalLater) + " " + L("lcl_res_deel_head2"));
|
|
%> <tr><td><label><%=L("lcl_remark")%>:</label></td></tr>
|
|
<% RWTEXTAREATR("opmerk", "fldomschr", "", (rrr.rsv_ruimte_opmerking || ""), {html: "rows='4'"});
|
|
|
|
// Als de kosten hoger zijn als nul dan was de annuleringshorizon verstreken
|
|
if (rrr.restype == "CV" && (kosten > 0) && urole != 'fe')
|
|
{
|
|
%>
|
|
<tr>
|
|
<td colspan=2>
|
|
<b><%=L("lcl_res_kostendoorbelast").format(kosten)%></b>
|
|
<input type="hidden" id="cost_recharge" name="cost_recharge" value="on">
|
|
</td>
|
|
</tr>
|
|
<% }
|
|
else if (rrr.restype == "R" && urole != 'fe')
|
|
{
|
|
if ( ((S("res_delete_ask_kosten") == 1) && (kosten > 0)) // na annuleringshorizon
|
|
|| ((S("res_delete_ask_kosten") == 2) && (rrr.res_status_fo_key == 2)) // definitieve reservering
|
|
|| ((S("res_delete_ask_kosten") == 3) && (rrr.res_status_fo_key == 2) && (kosten > 0)) // definitieve reservering na annuleringshorizon
|
|
)
|
|
{
|
|
%>
|
|
<tr>
|
|
<td colspan=2>
|
|
<label for="cost_recharge"><%=L("lcl_res_kostendoorbelasten")%> (<%=L("lcl_maximal")%> <%=kosten%>%)</label><% CHECKBOX("", "cost_recharge") %>
|
|
</td>
|
|
</tr>
|
|
<%
|
|
}
|
|
// in alle andere gevallen is cost_recharge niet aanwezig, en krijgt daardoor in res_delete_save de waarde "off"
|
|
}
|
|
%>
|
|
<tr>
|
|
<td colspan=2>
|
|
<% //divje
|
|
CreateButtons(buttons, { isDialog: true, vertical: true, showIcons: true }); %>
|
|
</td>
|
|
</tr>
|
|
|
|
<% BLOCK_END();
|
|
IFACE.FORM_END();
|
|
%>
|
|
</form>
|
|
</body>
|
|
</html> |