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

     File:        cnt_reject.asp
*/
var JSON_Result = true;
 %>

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

<%
protectRequest.validateToken();

var cnt_key_arr = getFParamIntArray("cnt_key");
var opmerk = getFParam("opmerk", "");

var result = {};
var toberejected = 0;
var ingesloten = [];
// Bepaal de contracten in de selectie die
// ook echt afgekeurd 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.canReject)
  {
    ingesloten.push(cnt_key_arr[i]);
    toberejected++;
  }
}
user.anything_todo_or_abort(toberejected > 0); // We klagen niet over enkele wel en enkele niet

for (var i = 0; i < ingesloten.length; i++)
{ // Blijkbaar mogen we Rejecten.

  sql = "SELECT c.cnt_contract_opmerking"
      + "  FROM cnt_contract c"
      + " WHERE c.cnt_contract_key = " + ingesloten[i];
  oRs = Oracle.Execute(sql);
  var new_opm = (oRs("cnt_contract_opmerking").value || "");
  new_opm = new_opm + (new_opm && opmerk ? "\n" : "") + opmerk; // alleen een CR als er al iets staat EN er iets wordt toegevoegd.
  oRs.Close();

  var fields =  [ { dbs: "cnt_contract_opmerking",  typ: "varchar", val: new_opm, track: L("lcl_remark"), len: 4000 } ];

  var cntUpd = buildTrackingUpdate("cnt_contract", " cnt_contract_key = " + ingesloten[i], fields);
  oRs = Oracle.Execute(cntUpd.sql);
  if (cntUpd.trackarray.length)
      cnt.trackcontractupdate(ingesloten[i], L("lcl_cnt_is_cntupd") + "\n" + cntUpd.trackarray.join("\n"));

  sql = "UPDATE cnt_contract"
      + " SET cnt_contract_approved = NULL" // Weer beginnen bij het begin.
      + " WHERE cnt_contract_key = " + ingesloten[i];
  oRs = Oracle.Execute(sql);

  cnt.setcontractstatus(ingesloten[i], 2); // Status weer naar nieuw en zorg voor tracking en daarmee notificatie.
}

result = { close: true, success: true};

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

ASPPAGE_END();
%> 
