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

     File:           cnt_search_list.asp
     Description:    Vangt de parameters van cnt_search op en verwerkt die in een aanroep van cnt_list
     Parameters:     urole
                     Alle zoek-criteria van cnt_search.asp
     Context:        Vanuit cnt_search.asp en ins_show_deel.asp
     Note:
*/ %>

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

<%
// Vanuit subframes zoals bij ins_show_deel komen ze deze via QParam
var urole = getQParamSafe("urole", "");
var ins_key = getQParamInt("ins_key", -1);
var uitvoerder_key = getQParamInt("uitv_key", -1);
var versions_of_cnt_key = getQParamInt("versions_of_cnt_key", -1);

var loc_key_arr = getQParamKeyArray("loc_key", []);
var bld_key_arr = getQParamKeyArray("bld_key", []);
var flr_key_arr = getQParamKeyArray("flr_key", []);
var room_key_arr = getQParamKeyArray("room_key", []);
var cntFFutu = getQParamInt("ffutu", 0);  // Fase Toekomstig binnen status actief
var cntFAct = getQParamInt("fact", 0);  // Fase Actueel binnen status actief
var cntFRap = getQParamInt("frap", 0);  // Fase Rappel binnen status actief
var cntFOpz = getQParamInt("fopz", 0); // Fase In opzegtermijn binnen status actief
var cntAct =  getQParamInt("sact", 0);
var cntInact = getQParamInt("sinact", 0);

var rstFilters = getQParamInt("rst_filters", 0);

var outputmode = getQParamInt("outputmode", 0); //  0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0);
var tiny = getQParamInt("tiny", 0) == 1; // voor framed lijsten bij objecten etc.
var notclosed = getQParamInt("cnt_full", ((ins_key>-1 || bld_key_arr.length || loc_key_arr.length || flr_key_arr.length || room_key_arr.length) ? 1 : 0)) == 1; // alle niet-gesloten contracten tonen.

var urole = getFParamSafe("urole", urole);   // Indien niet meegegeven, veronderstel dan frontend gebruik
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi");
var frontend = (urole == "fe" || (!fronto && !backo && !minfo));

// FORM parameters: de waarde indien aanwezig, anders null
// Vaak is een lege selectie ook een -1, dus dan is-ie wel aanwezig, maar hoeft niet
// als filter te worden toegepast. Dan is null dus gelijk aan -1, qua betekenis,
// Vandaar dat een default van -1 ipv null ook mag
// In eerste instantie identificeren we elk veld gewoon 1-op-1.
var outputmode = getFParamInt("outputmode", outputmode);
var showall = getFParamInt("showall", showall) == 1;

var params = { urole : urole,
               outputmode: outputmode,
               showall: showall,
               tiny: tiny
             };

var cntnum = getFParam("cntnum", null); // Contractnummer

// een eventuele versions_of_cnt_key is de key van een contract, bedoeld om de alle versies te filteren
// dat moet via cntnum xxx.*, met xxx is de nummer van het gegeven contract
if (versions_of_cnt_key > 0 && cntnum == null)
{
    var sql = "SELECT cnt_contract_nummer_intern FROM cnt_contract WHERE cnt_contract_key = " +  versions_of_cnt_key;
    var oRs = Oracle.Execute(sql);
    if (!oRs.eof)
    {
          cntnum = oRs("cnt_contract_nummer_intern").value+".%";
    }
    oRs.close();
}

if (cntnum)
{
    params.cntnum = cntnum;
}
else
{ // Alleen als cntnum (contract key) niet opgegeven is, zijn de resterende parameters van belang!

  // Voor velden die de user in kan typen valideren we zodanig dat we er tegen kunnen
  var dienst_key = getFParamInt("dienst", -1); // Dienst
  var uitvoerder_key = getFParamInt("sComp_key", uitvoerder_key); // Uitvoerder
  var cnt_persoon_key = getFParamInt("sName_key", -1); // Persoon (Contractpartij)
  var eigenaar_key = getFParamInt("sDept_key", -1); // Eigenaar (Afdeling)
  var manager_key = getFParamInt("sCnt_owner_key", -1); // Verantwoordelijk manager
  var beheerder_key = getFParamInt("sBeh_key", -1); // Beheerder
  var reg_key_arr = getFParamKeyArray("regiokey", []); // Regio
  var dist_key_arr = getFParamKeyArray("districtkey", []);
  var loc_key_arr = getFParamKeyArray("locatiekey", loc_key_arr); // Locatie
  var bld_key_arr = getFParamKeyArray("gebouwkey", bld_key_arr); // Gebouw
  var flr_key_arr = getFParamKeyArray("verdiepingkey", flr_key_arr);
  var room_key_arr = getFParamKeyArray("ruimtekey", room_key_arr);
  var objectsrt_key = getFParamInt("srtdeel", -1); // Objectsoort
  var cntsrt_key_arr = getFParamIntArray("disc", []); // Contractsoort / discipline
  var mantel_key = getFParamInt("mantel", -1); // Mantel
  var descript = getFParam("descript", ""); // Beschrijving
  var ins_key = getFParamInt("ins_key", ins_key);
  var kpgrp_key = getFParamInt("kpgrp_key", -1);
  var kp_key = getFParamInt("kp_key", -1);
  var ksgrp_key = getFParamInt("ksgrp_key", -1);
  var ks_key = getFParamInt("ks_key", -1);
  var refDate = getFParamDate("refdate", null); // Peildatum
  var cntAct = getFParamInt("cntAct", cntAct) == 1; // Status Actief(0)
  var cntInact = getFParamInt("cntInact", cntInact) == 1; // Status Inactief(1)
  var cntNew = getFParamInt("cntNew", 0) == 1; // Status Nieuw(2)
  var cntTgoe = getFParamInt("cntTgoe", 0) == 1; // Status Ter goedkeuring(3)
  var rstFilters = getFParamInt("rst_filters", rstFilters);

  var cntFFutu = getFParamInt("cntFFutu", cntFFutu) == 1; // Fase Toekomstig binnen status actief
  var cntFAct = getFParamInt("cntFAct", cntFAct) == 1; // Fase Actueel binnen status actief
  var cntFRap = getFParamInt("cntFRap", cntFRap) == 1; // Fase Rappel binnen status actief
  var cntFOpz = getFParamInt("cntFOpz", cntFOpz) == 1; // Fase In opzegtermijn binnen status actief
  var cntFVerl = getFParamInt("cntFVerl", 0) == 1; // Fase Verlopen binnen status actief
  var cntOldVers = getFParamInt("cntOldVers", 0) == 1; // Ook oudere versies tonen als status "Gesloten" is geselecteerd.

if (!cntAct && !cntInact && !cntNew && !cntTgoe)
{
  // geen parameters voor status, dan defaults zetten (voor gebruikt vanuit ins_show_deel).
  cntAct = true;
  cntInact = false;
  cntNew = true;
  cntTgoe = true;
}

  params.cntsrt_key_arr = cntsrt_key_arr;
  params.dienst_key = (dienst_key != -1? dienst_key : null);
  params.uitvoerder_key = (uitvoerder_key != -1? uitvoerder_key : null);
  params.cnt_persoon_key = (cnt_persoon_key != -1? cnt_persoon_key : null);
  params.eigenaar_key = (eigenaar_key != -1? eigenaar_key : null);
  params.manager_key = (manager_key != -1? manager_key : null);
  params.beheerder_key = (beheerder_key != -1? beheerder_key : null);
  params.reg_key_arr = reg_key_arr;
  params.dist_key_arr = dist_key_arr;
  params.loc_key_arr = loc_key_arr;
  params.bld_key_arr = bld_key_arr;
  params.flr_key_arr = flr_key_arr;
  params.room_key_arr = room_key_arr;
  params.objectsrt_key = (objectsrt_key != -1? objectsrt_key : null);
  params.ins_key = (ins_key != -1 ? ins_key : null);
  params.kpgrp_key = (kpgrp_key != -1 ? kpgrp_key : null);
  params.kp_key = (kp_key != -1 ? kp_key : null);
  params.ksgrp_key = (ksgrp_key != -1 ? ksgrp_key : null);
  params.ks_key = (ks_key != -1 ? ks_key : null);
  params.mantel_key = (mantel_key != -1? mantel_key : null);
  params.descript = (descript != ""? descript : null);
  params.refDate = refDate;
  params.cntNotclosed = notclosed;
  params.cntAct = cntAct;
  params.cntNew = cntNew;
  params.cntTgoe = cntTgoe;
  params.cntInact = cntInact;
  params.cntFFutu = cntFFutu;
  params.cntFAct = cntFAct;
  params.cntFRap = cntFRap;
  params.cntFOpz = cntFOpz
  params.cntFVerl = cntFVerl;
  params.cntOldVers = cntOldVers;
  params.rst_filters = rstFilters;
}
/***** End get webform parameters *****/

var autfunction = "";
switch(urole)
{
  case "fe": autfunction = "WEB_CNTUSE";
             break;
  case "bo": autfunction = "WEB_CNTMAN";
             break;
}

cnt_list (autfunction, params);
%><% ASPPAGE_END(); %>
