<%@ 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(); %>
