<% /*
     $Revision$
     $Id$

    File:               autorisatieFilter.inc
    Description:        functies voor autorisatie suggest velden
    Globals:
    Context:
    Note:
*/ %>


<%

function getFiltClauseAutorisatie(pfiltcode, params)
{
  var lfiltClause = "";
  if (pfiltcode && pfiltcode != "")
  {
    switch(pfiltcode)
    {
      case "MOD":   lfiltClause = " AND f.fac_functie_module = '" + params.module + "'";
                    break;
      case "SELF":  lfiltClause = " AND f.fac_functie_key IN (SELECT DISTINCT w.fac_functie_key"
                                + "                             FROM fac_v_webgebruiker W"
                                + "                            WHERE w.prs_perslid_key = " + user_key + ")";
                    break;
      default:      lfiltClause = " AND f.fac_functie_module = '" + params.module + "'";
                    break;
    }
  }
  return lfiltClause;
}

// Merk op dat in het algemeen een onChange call naar get_prs_info_ajax.asp
// veel praktischer is, zie bijv. mld_edit_melding.js
function getExtraInfAutorisatie(pextracode)
{
  var lExtraInf = { selectstr: ", f.fac_functie_module extra", fromstr: "", wherestr: "" };
  if (pextracode && pextracode != "")
  {
    switch(pextracode)
    {
      case "DISC": lExtraInf.selectstr = ", MAX(mi.fac_menuitems_disc) disc"
                                       + ", MAX(mi.fac_menuitems_srtdisc) srtdisc"
                                       + ", (SELECT COUNT(*)"
                                       + "     FROM ins_srtdiscipline"
                                       + "    WHERE ins_srtdiscipline_verwijder IS NULL"
                                       + "      AND ins_srtdiscipline_module = f.fac_functie_module) cnt_srtdisc"
                                       + ", f.fac_functie_module module"
                                       + ", f.fac_functie_module extra";
                   lExtraInf.fromstr   = ", fac_menuitems mi";
                   lExtraInf.wherestr  = " AND f.fac_functie_key = mi.fac_functie_key(+)"
                                       + " GROUP BY f.fac_functie_key"
                                       + "        , f.fac_functie_code"
                                       + "        , f.fac_functie_module"
                                       + "        , f.fac_functie_omschrijving";

                   break;
    }
  }
  return lExtraInf;
}
%>
