155 lines
5.6 KiB
Plaintext
155 lines
5.6 KiB
Plaintext
<%@ language = "JavaScript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: res_claimwp.asp
|
|
Description: Registreerscherm dat IK nu op deze werkplek zit
|
|
|
|
Parameters: wp_key, eventueel via ins_key (sensor, PC)
|
|
Context:
|
|
Notes: De user moet geauthenticeerd zijn en WEB_RESUSE (write) rechten hebben en de werkplek moet gereserveerd zijn rondom het tijdstip waarop de qrc wordt gescand.
|
|
Merk op: het feit dat deze functie (mobiel) kan worden aangeroepen betekent dat er fysiek aan de
|
|
ALG-scope voldaan wordt ("ik mag hier kennelijk komen").
|
|
|
|
Future extensions:
|
|
*/
|
|
%>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="./mobile.inc" -->
|
|
<!-- #include file="./iface.inc" -->
|
|
|
|
<%
|
|
var qrc = getQParamInt("qrc", 0) != 0;
|
|
var ins_deel_key = getQParamInt("ins_deel_key"); //Reserveerbaar object (werkplek) mandatory parameter
|
|
var fromins = getQParamInt("fromins", 0) == 1;
|
|
// check whether the user has a claim on this specific workplace today
|
|
var sql = "SELECT "
|
|
+ " rrr.res_rsv_ruimte_host_key, "
|
|
+ " rrd.res_rsv_deel_key, "
|
|
+ " rrd.res_rsv_deel_van, "
|
|
+ " rrd.res_rsv_deel_tot, "
|
|
+ " id.ins_deel_key, "
|
|
+ " id.ins_deel_state, "
|
|
+ " plaan.alg_plaatsaanduiding, "
|
|
+ " rd.res_deel_omschrijving, "
|
|
+ " rd.res_deel_image, "
|
|
+ " plaan.alg_verdieping_omschrijving, "
|
|
+ " plaan.alg_ruimte_omschrijving, "
|
|
+ " plaan.alg_verdieping_code "
|
|
+ "FROM "
|
|
+ " res_v_aanwezigrsv_ruimte rrr, "
|
|
+ " res_v_aanwezigrsv_deel rrd, "
|
|
+ " res_v_aanwezigdeel rd, "
|
|
+ " ins_v_aanwezigdeel id, "
|
|
+ " alg_v_allonroerendgoed plts, "
|
|
+ " alg_v_allonrgoed_gegevens plaan "
|
|
+ "WHERE "
|
|
+ " rrd.res_deel_key = rd.res_deel_key "
|
|
+ " AND id.ins_deel_key = " + ins_deel_key
|
|
+ " AND id.ins_alg_ruimte_key = plts.alg_onroerendgoed_keys "
|
|
+ " AND id.ins_alg_ruimte_type = plts.alg_type "
|
|
+ " AND plts.alg_onroerendgoed_keys = plaan.alg_onroerendgoed_keys "
|
|
+ " AND plts.alg_type = plaan.alg_type "
|
|
+ " AND rd.res_ins_deel_key = id.ins_deel_key "
|
|
+ " AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key "
|
|
+ " AND rrr.res_rsv_ruimte_host_key = " + user_key
|
|
+ " AND ( "
|
|
+ " rd.res_deel_vervaldatum IS NULL "
|
|
+ " OR TRUNC(rd.res_deel_vervaldatum) > TRUNC(SYSDATE) "
|
|
+ " ) "
|
|
+ " AND TRUNC(rrd.res_rsv_deel_van) = TRUNC(SYSDATE) ";
|
|
|
|
oRs = Oracle.Execute(sql);
|
|
var res_found = !oRs.eof;
|
|
var res_rsv_deel_key = -1;
|
|
var res_van = "";
|
|
var res_tot = "";
|
|
var alg_plaats = "";
|
|
var res_deel = "";
|
|
var alg_verdieping = "";
|
|
var alg_ruimte = "";
|
|
if (res_found)
|
|
{
|
|
ins_deel_state = oRs("ins_deel_state").Value;
|
|
res_rsv_deel_key = oRs("res_rsv_deel_key").Value;
|
|
res_van = oRs("res_rsv_deel_van").Value;
|
|
res_tot = oRs("res_rsv_deel_tot").Value;
|
|
alg_plaats = oRs("alg_plaatsaanduiding").Value;
|
|
res_deel = oRs("res_deel_omschrijving").Value;
|
|
alg_verdieping = oRs("alg_verdieping_omschrijving").Value;
|
|
alg_ruimte = oRs("alg_ruimte_omschrijving").Value;
|
|
}
|
|
oRs.Close();
|
|
|
|
var authparams = user.checkAutorisation("WEB_RESUSE");
|
|
user.auth_required_or_abort(authparams.ALGwritelevel < 9 && authparams.PRSwritelevel < 9);
|
|
%>
|
|
<html>
|
|
<head>
|
|
<% FCLTMHeader.Generate({title: L("lcl_flexplek")}); %>
|
|
<script>
|
|
function res_claimwp_callback(json, textStatus)
|
|
{
|
|
if (json.success)
|
|
$("#spanclaimwp").text(L("lcl_flexplek") + " " + "<%=safe.jsstring(res_deel)%>" + " " + L("lcl_flexplekclaimed") + " " + "<%=safe.jsstring(user.naam())%>" + " " + L("lcl_flexplekclaimfooter"));
|
|
}
|
|
|
|
function res_claimwp_submit()
|
|
{
|
|
var data = $("[name=claimwp]").serialize();
|
|
<% protectRequest.dataToken("data"); %>
|
|
$.post("res_claimwp_submit.asp?ins_deel_key=<%=ins_deel_key%>",
|
|
data,
|
|
res_claimwp_callback,
|
|
"json");
|
|
}
|
|
</script>
|
|
</head>
|
|
<%
|
|
|
|
%><body><%
|
|
PAGE_START();
|
|
HEADER ({title: L("lcl_flexplek") + " " + res_deel, back:!qrc || (!res_found && fromins), home:!qrc});
|
|
CONTENT_START();
|
|
%>
|
|
<form id="claimwp" name="claimwp" action="res_claimwp.asp?submit=1&ins_deel_key=<%=ins_deel_key%>" method="post">
|
|
<span id="spanclaimwp">
|
|
<%
|
|
// no valid reservation found for the reservable workplace
|
|
if (!res_found)
|
|
{
|
|
Response.write(L("lcl_res_invalid_rsv"));
|
|
}
|
|
// reservable workplace is already claimed by user
|
|
else if (ins_deel_state == res_rsv_deel_key)
|
|
{
|
|
Response.write(L("lcl_res_reclaimed_rsv"));
|
|
}
|
|
// show reservable workplace
|
|
else
|
|
{
|
|
ROFIELD("fld", L("lcl_place") , safe.html(alg_plaats), { });
|
|
ROFIELD("fld", L("lcl_from") , toDateTimeString(res_van), { });
|
|
ROFIELD("fld", L("lcl_to") , toDateTimeString(res_tot), { });
|
|
}
|
|
CONTROLGROUP_START();
|
|
if (res_found && ins_deel_state != res_rsv_deel_key)
|
|
{
|
|
BUTTON(L("lcl_mobile_claimconfirm"), {click: "res_claimwp_submit()", icon: "fa-check", singlepress: true});
|
|
}
|
|
CONTROLGROUP_END();
|
|
%>
|
|
</span>
|
|
<% IFACE.FORM_END();
|
|
%>
|
|
</form>
|
|
<%
|
|
CONTENT_END();
|
|
FOOTER();
|
|
PAGE_END();
|
|
PDA_PAGE_END(); %>
|
|
</body>
|
|
</html>
|
|
<% ASPPAGE_END(); %>
|