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

    File:               prs_contactpersoon.asp
    Description:        Wrapper for prs_show_contactpersoon.asp/prs_edit_contactpersoon.asp

    Parameters:         key (or cps_key), optional

    Context:
    Note:               Contactpersonen zijn alleen zinvol voor externe bedrijven

*/ %>
<!--#include file="../Shared/common.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!-- #include file="../prs/prs.inc" -->
<%
  FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
  // jQuery-ui.js is nodig in het child formulier prs_perslidwerkplek_search_list

  var autfunction = ["WEB_RELUSE"];
  if (user.iamContact())
    autfunction.push("WEB_EXTREL");

  var authparams = user.checkAutorisation(autfunction);
  var cps_key = getQParamInt("key", -1);
  if (cps_key == -1)
    cps_key = getQParamInt("cps_key", -1);

  var cpnaam = "";
  var prs_key;
  sql = "SELECT "+ S("prs_contactpers_string") + " cpnaam, cp.prs_perslid_key FROM prs_contactpersoon cp WHERE prs_contactpersoon_key = " + cps_key;
  oRs = Oracle.Execute(sql);
  if (!oRs.eof)
  {
    cpnaam = oRs("cpnaam").value;
    prs_key = oRs("prs_perslid_key").value; // Interne contactpersoon heeft een prs_perslid_key.
  }
  oRs.close();

  var transitParam = buildTransitParam(["bedrijf_key"]);

%>
<html>
<head>
<%
   FCLTHeader.Generate();
%>
  <script  type="text/javascript" >
      FcltMgr.setTitle("<%=safe.jsstring(cpnaam)%>");
<%    if (cps_key == -1) { %>FcltMgr.startEdit(window);<% } %>

      function cpsClose(params)
      {
          <% if (cps_key == -1)
             { %>
              if (params.cancel)
              {
                  FcltMgr.closeDetail(window, params );
                  return true;
              }
              if (!params.keepForm)
                  window.location.href = "prs_contactpersoon.asp?verynew=1&key=" + params.cps_key;
          <% } else { %>
              if (!params.keepForm)
                  $("#cpsFrame")[0].src = "prs_show_contactpersoon.asp?cps_key=<%=cps_key%>";
          <% } %>
      }
    </script>
</head>

<body>
<%
PAGE_START();
    if (cps_key == -1)
        var page="prs_edit_contactpersoon.asp?x=x" + transitParam; // Maak een nieuw
    else
        var page="prs_show_contactpersoon.asp?cps_key="+cps_key;

    IFRAMER("cpsFrame", page, { FcltClose: "cpsClose", title: L("lcl_prs_contactpersoon_frame") } );

    // Als de contactpersoon ook een user is (prs_perslid) [en een uitvoerende?]
    // dan kunnen er uitvoeringsgerelateerde gegevens worden gedefineerd
    // door de beheerder van het bijbehorende bedrijf (WEB_EXTREL) of een algemene beheerder (WEB_PRSMAN??)
    // Dit hoort in feite in prs_perslid, maar dupliceren we hier precies zo, want zo een beheerder kan niet bij perslid.asp
    // Setting S("use_capacity_planning") moet wel gezet zijn (..)
    if (S("use_capacity_planning") == 1 && prs_key > 0 && prs.checkAutorisation(prs_key).writecontact)
    {
        // 2. De inzetbaarheid
        page = "prs_inzetbaar_list.asp?embedded=1&prs_key=" + prs_key;
        IFRAMER("prsinzetframe", page, { refreshOnClose: true, icon: "fa-list", title: L("lcl_prs_inzetbaar_title") } );

        // 3. de skills (diensten)
        // UNDER CONSTRUCTION TODO: autorisatie
        // Om Diensten (bij een persoon) te kunnen beheren had je PRSMSU nodig. Dat is hiervoor te zwaar.
        var thisPrs = new Perslid(prs_key);
        if (prs.checkAutorisation(prs_key).writecontact && (thisPrs.has("WEB_MLDORD") || thisPrs.has("WEB_EXTORD")))
        {
              // 3. De dienstenxpersoon
              page = "../mgt/prs_bedrijfdienstlocatie.asp?mode=list&person=" + prs_key;
              IFRAMER("prsdienstlistframe", page, { refreshOnClose: true, icon: "fa-list" } );
        }
        // 4. de planning&blokkades..
        // Is deze resource al reserveerbaar?
        var sql = "SELECT res_deel_key"
                + "  FROM res_deel"
                + " WHERE res_deel_verwijder IS NULL"
                + "   AND res_prs_perslid_key = " + prs_key;
        var oRs = Oracle.Execute(sql);
        if (!oRs.eof)
        {
          page = "prs_res_list.asp?mode=list&scope=fo&equipment=" + oRs("res_deel_key").Value;
          IFRAMER("prsresframe", page, { refreshOnClose: true, icon: "fa-list", title: L("lcl_reservation_title") } );
        }
        oRs.Close();
    }


    var authparamsINSFOF = user.checkAutorisation("WEB_INSFOF", true);
    var insfof_read = authparamsINSFOF;
    if (insfof_read && cps_key > 0) // Bij interne contactpersonen met INSFOF leesrechten nu ook het objecten frame tonen (UWVA#51402).
    { // 5. Het optionele objectenschem met objecten die aan contactpersoon zijn uitgeleend
        page="../ins/ins_list.asp?urole=fo&embedded=1&inacObjIncl=1&cps_key=" + cps_key;
        IFRAMER("insdeel", page, { refreshOnClose: true, title: L("lcl_ins_objects") } );
    }
PAGE_END();
%>
</body>
</html>
<% ASPPAGE_END(); %>
