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

    File:               prs_bedrijf.asp
    Description:        Muteerscherm voor bedrijven (intern en extern)
                        dit is de grote 'wrapper' voor de diverse andere schermen
    Parameters:
                        bedrijf_key
    Context:
    Note:

*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="prs.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest", "jQuery"],
                     js: ["jquery-ui.js"],
                     css: ["../shared/suggest/suggest.css"]}); // css for childframes})

// AUTORISATIEPARAMETERS
var bedrijf_key = getQParamInt("bedrijf_key", -1);

// Deze is alleen voor nieuwe bedrijven/systemen, bij bestaande wordt het opgezocht en is dat leidend.
var intern = getQParamInt("intern", 0);

var bnaam = "";
var canHaveAddresses = false;
var isUitvoerende = false;
var isContractant = false;

if (bedrijf_key > 0)
{
  // controleer PRSMAN/RELMAN lees/schrijf autorisaties
  var sql = "SELECT COALESCE(prs_bedrijf_intern, 0) prs_bedrijf_intern"
          + "     , prs_bedrijf_naam"
          + "     , prs_bedrijf_leverancier"
          + "     , prs_bedrijf_uitvoerende"
          + "     , prs_bedrijf_contract"
          + "  FROM prs_bedrijf WHERE prs_bedrijf_key=" + bedrijf_key;
  var oRs = Oracle.Execute(sql);
  intern = oRs("prs_bedrijf_intern").value;
  canHaveAddresses = (intern && user.has("WEB_PRSSYS")) || (oRs("prs_bedrijf_contract").value == 1 || oRs("prs_bedrijf_uitvoerende").value ==1 || oRs("prs_bedrijf_leverancier").value ==1);
  bnaam = oRs("prs_bedrijf_naam").value;
  isUitvoerende = oRs("prs_bedrijf_uitvoerende").value == 1;
  isContractant = oRs("prs_bedrijf_contract").value == 1;
  oRs.Close();
}
var isExtern = (intern == 0);
var isIntern = (intern == 1);
var isSysteem = (intern == 2);

if (isIntern)
  var autfunction = ["WEB_PRSMAN", "WEB_PRSMSU"]; // MSU voor de diensten denk ik
else if (isSysteem)
  var autfunction = ["WEB_PRSSYS"];
else
  var autfunction = ["WEB_RELMAN", "WEB_RELUSE"];

var iamBedrijfContact = bedrijf_key > 0 && isExtern && isUitvoerende && user.iamContact(bedrijf_key); // Ben ik contactpersoon van het externe uitvoerende bedrijf?
if (iamBedrijfContact)
  autfunction.push("WEB_EXTREL");
if (S("bgt_enabled") == 1)
  autfunction.push("WEB_BGTUSE");

var authparams = user.checkAutorisation(autfunction, true);

user.auth_required_or_abort(authparams);

var dienstauthparams = user.checkAutorisation("WEB_PRSMSU", true);

if (!user.has('WEB_FACFAC'))
{
    var sql = "SELECT 1 FROM aut_client WHERE prs_bedrijf_key = " + bedrijf_key;
    var oRs = Oracle.Execute(sql);
    if (!oRs.EOF)
    {
        dienstauthparams = null; // helemaal geen rechten
        canHaveAddresses = false;
    }
    oRs.Close();
}
%>
<html>
  <head>
<%  FCLTHeader.Generate(); %>
    <script  type="text/javascript" >
      FcltMgr.setTitle("<%=safe.jsstring(bnaam)%>");
<%    if (bedrijf_key == -1) { %>FcltMgr.startEdit(window);<% } %>

      function bedrijfClose(params)
      {
        if (params.redirect)
        {
            window.location.href = params.redirect;
            return true;
        }
<%      if (bedrijf_key == -1)
        { %>
          if (params.cancel || params.close)
          {
            FcltMgr.closeDetail(window, params );
            return true;
          }
          FcltMgr.setTitle("<%=safe.jsstring(bnaam)%>", {hot: false});

          // Altijd complete reload, we hebben nu een bedrijf_key namelijk
          if (!params.keepForm)
            window.location.href = "prs_bedrijf.asp?bedrijf_key=" + params.bedrijf_key;
<%      }
        else
        { /* Bestaand bedrijf bewerkt, switch naar show-mode */ %>
          if (params.close)
          {
            FcltMgr.closeDetail(window, { close: true})
          }
          if (!params.keepForm)
            $("#prsbedrijfframe")[0].src = "prs_show_bedrijf.asp?bedrijf_key=<%=bedrijf_key%>";
<%      } %>
      }

    </script>
  </head>

  <body>
<%
    PAGE_START();

    // 1. Het hoofdframe
    if (bedrijf_key == -1)
    {
        var page = "prs_edit_bedrijf.asp?intern=" + intern; // Maak een nieuwe van dit type
    }
    else
    {
        var page = "prs_show_bedrijf.asp?bedrijf_key=" + bedrijf_key;
    }
    IFRAMER("prsbedrijfframe", page, { FcltClose: "bedrijfClose"  } );

    if (isExtern && bedrijf_key > -1 && user.checkAutorisation("WEB_RELUSE", true))
    { // 2. De contactpersonen
        page = "prs_contactpersoon_search_list.asp?embedded=1&intern="+(isIntern?1:0)+"&bedrijf_key=" + bedrijf_key;
        IFRAMER("prscontactlistframe", page, { refreshOnClose: true, refreshOnActivate: true, icon: "fa-list" } );
    }
    if (isExtern && bedrijf_key > -1 && dienstauthparams)
    {
        // 3. De dienstenxlocatie
        page = "../mgt/prs_dienst.asp?mode=list&company=" + bedrijf_key;
        IFRAMER("prsdienstlistframe", page, { refreshOnClose: true, icon: "fa-list" } );
    }
    if ( bedrijf_key > -1 && canHaveAddresses && user.has(["WEB_PRSMGT", "WEB_PRSSYS"]))  // PRSSYS voor isSysteem
    {
        // 4. De technische adressen
        page = "../mgt/prs_bedrijfadres.asp?mode=list&company=" + bedrijf_key;
        IFRAMER("prsadreslistframe", page, { refreshOnClose: true, icon: "fa-list" } );
    }

    if (isExtern && bedrijf_key > -1 && isContractant)
    {
      var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
      var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
      var curole = "bo";

      if (!authparamsCNTMAN && authparamsCNTUSE)
        curole = "fe";

      if (authparamsCNTMAN || authparamsCNTUSE)
      {
          var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&uitv_key="+ bedrijf_key
          IFRAMER("cntlistframe", page1, { icon: "fa-list" } );
      }
    }

    // tracking in subframe
    if ( bedrijf_key > -1)
    {
      page = protectQS.create("../shared/status_info.asp?bedr_key=" + bedrijf_key + "&urole=bo");
      IFRAMER("prshistoryframe", page, { icon: "fa-list", title: L("lcl_tracking")} );
    }
    PAGE_END();
%>

  </body>
</html>
<% ASPPAGE_END(); %>
