<%@ LANGUAGE = JavaScript %>
<% /*
     $Revision$
     $Id$

     File:        cnt_forapproval.asp
*/ %>

<%
var JSON_Result = true;
%>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="cnt.inc" -->

<%
protectRequest.validateToken();
/***** Get webform parameters *****/
/***** End get webform parameters *****/

var cnt_key_arr = getFParamIntArray("cnt_key");

var result = {};
var tobeforapproval = 0;
var ingesloten = [];
// Bepaal de contracten in de selectie die
// ook echt goedgekeurd kunnen of mogen worden.
for (var i = 0; i < cnt_key_arr.length; i++)
{
  var cnt_info = cnt.cnt_contract_info(cnt_key_arr[i]); // Globale variabele met alle cnt_contract informatie
  var this_cnt = cnt.func_enabled_contract(cnt_key_arr[i], cnt_info); // Wat heb ik zoal aan rechten op dit contract?
  if (this_cnt.forApproval)
  {
    ingesloten.push(cnt_key_arr[i]);
    tobeforapproval++;
  }
}
user.anything_todo_or_abort(tobeforapproval > 0); // We klagen niet over enkele wel en enkele niet

var multi = ingesloten.length > 1;
var aantalfiateurs = 0;
for (var i = 0; i < ingesloten.length; i++)
{
  // Alle fiatteurs een notificatie sturen.
  var approver_arr = cnt.getCntApprovers(ingesloten[i]); // Je krijgt een array met fiatteurs terug.
  aantalfiateurs += approver_arr.length;
  if (approver_arr.length > 0)
  { // Er zijn fiatteurs gevonden, dan naar status Ter goedkeuring(3).
    cnt.setcontractstatus(ingesloten[i], 3); // Zorgt ook voor tracking en daarmee notificatie.
    result.message = cnt.sendNeedApprovalNotifications(ingesloten[i], approver_arr);
  }
  else // Geen fiatteur, dan direct goedkeuren en naar status Actief(0).
  {
    sql = "UPDATE cnt_contract"
        + "   SET cnt_contract_teverzenden = 1"
        + " WHERE cnt_contract_key = " + ingesloten[i];
    oRs = Oracle.Execute(sql);

    cnt.setcontractstatus(ingesloten[i], 0); // Zorgt ook voor tracking en daarmee notificatie.
  }
  result.success = true;
}
if (multi) // Dan een algemener bericht geven.
  result.message = L("lcl_cnt_nr_approvers").format(aantalfiateurs);
result.success = true;

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