<%@language = "javascript" %>
<% /*
     $Revision$
     $Id$

    File:           res_claimwp_submit.asp
    Description:    Het werkelijk registreren 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:
*/
%>

<%
var JSON_Result = true;
%>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./mobile.inc" -->
<!-- #include file="./iface.inc" -->

<%
protectRequest.validateToken();
var ins_deel_key = getQParamInt("ins_deel_key");  // Reserveerbaar object (werkplek) mandatory parameter.

authparams = user.checkAutorisation("WEB_RESUSE");
user.auth_required_or_abort(authparams.ALGwritelevel < 9 && authparams.PRSwritelevel < 9);

// check whether the user has a claim on this specific workplace today
var sql = "SELECT rrd.res_rsv_deel_key"
        + "  FROM res_v_aanwezigrsv_ruimte rrr"
        + "     , res_v_aanwezigrsv_deel rrd"
        + "     , res_v_aanwezigdeel rd"
        + "     , ins_v_aanwezigdeel id"
        + " WHERE rrd.res_deel_key = rd.res_deel_key"
        + "   AND id.ins_deel_key = " + ins_deel_key
        + "   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)";

var oRs = Oracle.Execute(sql);
var res_found = !oRs.eof;
var res_rsv_deel_key = -1;
if (res_found)
{
  res_rsv_deel_key = oRs("res_rsv_deel_key").Value;
}
oRs.Close();

var sql = "UPDATE ins_deel SET ins_deel_state = " + res_rsv_deel_key + " WHERE ins_deel_key = " + ins_deel_key;
Oracle.Execute(sql);

var result = { ins_deel_key: ins_deel_key, success: true };
Response.Write(JSON.stringify(result));
ASPPAGE_END(); %>
