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

     File:              api_besord.asp
     Description:       Klantspecifieke API-ondersteuning ter bevestiging/afwijzing
                        van bestelopdrachten via linkje in e-mail.
                        TIJDELIJKE OPLOSSING; STRUCTURELE OPLOSSING IN 5.1.3!

     Parameters:        opdr_key - key van te bevestigen bestelopdracht
                        opdrstatus - 'BES2CO' of 'BES2RE'
     Status:
     Context:
     Notes:
*/
    DOCTYPE_Disable = 1;
%>
<!--#include file="../../appl/Shared/common.inc"-->
<!-- #include file="../../appl/api/api.inc" -->
<!-- #include file="../../appl/bes/bes.inc" -->
<%
    var APIname = getQParam("API");
    var APIKEY = getQParam("APIKEY");
    var API = new API_func(APIname, APIKEY);
    var opdr_key = getQParamInt("opdr_key");
    var opdrstatus = getQParam("opdrstatus");
    var tsql = "-";        // Voor tijdelijke statement(s)
    var resulttekst = "";

    // Is hiermee voldoende gecheckt op rechten?
    var authparams = user.checkAutorisation("WEB_BESBOR");

    tsql = "SELECT bes_bestelopdr_key, prs_bedrijf_key, bes_bestelopdr_status "
        + " FROM bes_bestelopdr"
        + " WHERE bes_bestelopdr_key="+ opdr_key;
    var oRs = Oracle.Execute(tsql);
    if (!oRs.eof && (opdrstatus == 'BES2CO' || opdrstatus == 'BES2RE')) {
        // Hier heb ik een geldige bes_bestelopdr_key.
        var lev_key = oRs("prs_bedrijf_key").value;
        var curstatus = oRs("bes_bestelopdr_status").value;

        // Check of vinkje bij leverancier "buitenom" bevestiging toestaat.
        tsql = "SELECT prs_bedrijf_order_confirm "
            + " FROM prs_bedrijf"
            + " WHERE prs_bedrijf_key="+ lev_key;
        var oRs = Oracle.Execute(tsql);

        if (oRs("prs_bedrijf_order_confirm").value == 1) {
            if (curstatus == 5) { // Ter bevestiging
                if (opdrstatus == 'BES2CO') {
                    tsql = "BEGIN BES.acceptopdracht(" + opdr_key + ", " + user_key +", ''); END;";
                    Oracle.Execute(tsql);
                    resulttekst = "Bestelopdracht bevestigd";
                } else {
                    tsql = "BEGIN BES.rejectopdracht(" + opdr_key + ", " + user_key +", ''); END;";
                    Oracle.Execute(tsql);
                    resulttekst = "Bestelopdracht afgewezen";
                }
            } else {
                resulttekst = "Invalid status change";
            }
        } else {
            resulttekst = "Remote confirmation not enabled";
        }
    } else {
        resulttekst = "Unknown order";
    } // end geldige opdrachtkey

    Response.Write(resulttekst);
%>
