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

    File:               order_mail.asp
    Description:        Markeer een opdracht 'te verzenden'.
    Parameters:         opdr_key: opdrachtkey
    Context:            Ajax vanuit mld_opdr.asp
    Note:

*/ %>

<%
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="mld.inc" -->
<%
protectRequest.validateToken();
var opdr_key_arr = getFParamIntArray("opdr_key");
var send = getFParamInt("send", 0) == 1;
var result = { success: false };
var tobesend = 0;
var ingesloten = [];

// Bepaal de bestellingen in de selectie die
// ook echt geaccepteerd kunnen of mogen worden.
for (var i = 0; i < opdr_key_arr.length; i++)
{
  var this_opdr = mld.func_enabled_opdracht(opdr_key_arr[i]);
  if (send ? this_opdr.canSend : this_opdr.canWriteORDBOF)
  {
    ingesloten.push({ opdr_key: opdr_key_arr[i], mld_opdr: this_opdr.mld_opdr });
    tobesend++;
  }
}
user.anything_todo_or_abort(tobesend > 0); // We klagen niet over enkele wel en enkele niet

for (var i = 0; i < ingesloten.length; i++)
{ // Blijkbaar mogen we de opdracht elektronisch versturen.
  var mld_opdr = ingesloten[i].mld_opdr;

  // Opdracht elektronisch versturen.
  // Oppikken door achtergrond putorders.
  var sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + ingesloten[i].opdr_key;
  Oracle.Execute(sql);

  if (mld_opdr.opdr_status == 5)
  { // Bij ORDNEW tracking wordt er niet genotificeerd. Dat moet als je mld_opdr_teverzenden op 1 zet nog gebeuren.
    Oracle.Execute("BEGIN fac.notifytrackingbedrijven ('ORDNEW', " + ingesloten[i].opdr_key + "); END;");
  }
}

result.key = ingesloten[0].opdr_key; // Eerste opdracht als teruggeven. Bij nieuwe opdracht is er ook maar 1 opdracht key.
result.success = true;

Response.Write(JSON.stringify(result));
%>

<% ASPPAGE_END(); %>
