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

    File:               SuggestKostenplaats.asp
    Description:        Suggereer kostenplaatsen
    Parameters:         k             De eerste paar letters
                        checkExist    ??
                        prs_key      ??
                        filtcode:    "M"==>Default, waarvoor ik gemandateerd ben om op te boeken
                                     "A"==>Alles
                                     "AA" ==>
                                     "B"==>Waar ik kostenplaatsverantwoordelijke ben
                                     "C"==>Alle kostenplaatsen die bij een aanwezigcontract voorkomen
                                     // G Waar ik kostenplaatsGroepverantwoordelijke ben, niet geimplementeerd

    Globals:
    Context:
    Note:
*/ %>

<%
JSON_Result = true;
%>

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

<%
// Geen autorisatie bij kostenplaatsen (prs_kostenplaats)
// Niet persoon of plaats afhankelijk
var chars = getQParam("k", "");
var bAll = getQParamInt("SuggestAll", 0) == 1;
var prs_key = getQParamInt("prs_key", user_key);
var checkExist = getQParamInt("checkExist", 0) == 1;
var extracode = getQParam("extraCode", "");
var filtcode = getQParam("filtcode", "M"); // default waarvoor ik gemandateerd ben
var showeigenkp = getQParamInt("showeigenkp", 0) == 1;
var inzage = getQParamInt("inzage", 0) == 1;
var mine = getQParamInt("mine", 0) == 1;

chars = chars.replace(/\*/g,"%");

var extraInf = getExtraInfKostenplaats(extracode);
var filt_params = { prs_key: prs_key,
                    showeigenkp: showeigenkp,
                    inzage: inzage,
                    chars: chars,
                    extraInf: extraInf
                  };
var filtClause = getFiltClauseKostenplaats(filtcode, filt_params);

var sql = "SELECT k.prs_kostenplaats_key kpkey"
        + "     , " + S("prs_kpn_string") + " kpstring"
        + "     , (SELECT kg.prs_kostenplaatsgrp_oms FROM prs_kostenplaatsgrp kg WHERE kg.prs_kostenplaatsgrp_key = k.prs_kostenplaatsgrp_key) descr"
        + "     , UPPER(" + S("prs_kpn_string") + ") upperkpstring"
        + extraInf
        + " FROM prs_v_aanwezigkostenplaats k"
        + filtClause.from
        + " WHERE UPPER(" + S("prs_kpn_string") + ") LIKE " + safe.quoted_sql_wild(chars + "%")
        + filtClause.where
        // Kostenplaatsen waarvan ik de budgethouder van de kostenplaatsgroep ben, ook tonen.
        + (mine
          ? " UNION "
            + "SELECT k.prs_kostenplaats_key kpkey"
            + "     , " + S("prs_kpn_string") + " kpstring"
            + "     , kg.prs_kostenplaatsgrp_oms descr"
            + "     , UPPER(" + S("prs_kpn_string") + ") upperkpstring"
            + extraInf
            + " FROM prs_v_aanwezigkostenplaats k"
            + "    , prs_kostenplaatsgrp kg"
            + " WHERE UPPER(" + S("prs_kpn_string") + ") LIKE " + safe.quoted_sql_wild(chars + "%")
            + "   AND k.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key(+)"
            + "   AND (k.prs_perslid_key = " + prs_key + " OR kg.prs_perslid_key = " + prs_key + ")"
          : "")
        + " ORDER BY 4";

WriteResult(sql, bAll, "kpstring", "kpkey", "descr", "extra", false, false, checkExist);
%>
