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

    File:           api_reports.asp

    Description:    Reports API
    Parameters:     usrrap_key of rapcode (fac_usrrap_code)
    Context:        Voor het tonen van een rapport

    Notes:
*/
    DOCTYPE_Disable = true;
    ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
    THIS_FILE = "appl/api/api_reportsx.asp";

%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2_rest.inc" -->
<!-- #include file="./model_reports.inc" -->
<%
    var mode = getQParamSafe("mode", getQParam("id","") != ""? "wrap" : "search");
    var usrrap_key = getQParamInt("usrrap_key", -1);
    if (!(usrrap_key > 0))
    {
        var usrrap_code = getQParam("rapcode", ""); // Dan moet die er zijn
        if (!usrrap_code)
            abort_with_warning("Missing rapcode (or usrrap_key) parameter", 404); // in de praktijk een veelvoorkomende fout/AiAi onderkennen

        var sql = "SELECT fac_usrrap_key"
                + "  FROM fac_usrrap"
                + " WHERE fac_usrrap_code = " + safe.quoted_sql(usrrap_code);
        var oRs = Oracle.Execute(sql);
        if (oRs.EOF)
        {
            abort_with_warning("Report '{0}' not found".format(usrrap_code), 404);
        }
        usrrap_key = oRs("fac_usrrap_key").Value;
        oRs.Close();
    }

    // Deferred omdat anders de authenticatie te vroeg is
    var fnmodel = function () { return model_reports(usrrap_key) };

    api2_rest.process(fnmodel);
%><% ASPPAGE_END(); %>
