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

    File:         kpn_show_mandate.asp
    Description:  displays the selected mandate (for a kostenplaats).
                  This screen (might) allow entry to the edit screen and allows deleting
    Parameters:
        keys      String van prs_perslidkostenplaats keys

    Context:
    Note:

*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/audithistory.inc" -->

<%
FCLTHeader.Requires({plugins:["jQuery"], js: []})

var kpnman_key  = getQParamInt("keys", -1);

sql = "SELECT pkp.prs_perslidkostenplaats_key"
    + "     , pkp.prs_perslid_key"
    + "     , pkp.prs_kostenplaats_key"
    + "     , pkp.prs_perslidkostenplaats_boeken"
    + "     , pkp.prs_perslidkostenplaats_inzage"
    + "     , pfa.prs_perslid_naam_full"
    + "     , k.prs_kostenplaats_omschrijving"
    + "  FROM prs_perslidkostenplaats pkp"
    + "     , prs_v_perslid_fullnames_all pfa"
    + "     , prs_kostenplaats k"
    + " WHERE pkp.prs_perslid_key = pfa.prs_perslid_key"
    + "   AND pkp.prs_kostenplaats_key = k.prs_kostenplaats_key(+)" // Kostenplaats kan ook alles (null) zijn, daarom (+).
    + "   AND pkp.prs_perslidkostenplaats_key = " + kpnman_key

var oRs = Oracle.Execute(sql);
if (oRs.Eof)
    shared.record_not_found("<!--" + kpnman_key + "-->");

var kpn_prskpkey  = oRs("prs_perslidkostenplaats_key").Value;
var kpn_prskey  = oRs("prs_perslid_key").Value;
var kpn_kpnkey  = oRs("prs_kostenplaats_key").Value;
var kpn_kpnbk   = oRs("prs_perslidkostenplaats_boeken").Value;
var kpn_kpninz  = oRs("prs_perslidkostenplaats_inzage").Value;
var kpn_prsoms  = oRs("prs_perslid_naam_full").Value;
var kpn_kpnoms  = oRs("prs_kostenplaats_omschrijving").Value;

var authparams = user.checkAutorisation("WEB_FINMSU", true);
if (authparams)
{
  var filtercode = "A"; // alles, mandateren
  // Voor WEB_FINMSU kijken naar prs en alg write rechten, fac_functie_min_level = 3, lees en schrijfrechten [ja/nee] (prs en alg altijd hetzelfde)
  var canWrite = (authparams.ALGwritelevel < 9 || authparams.PRSwritelevel < 9);
}
else
{
  var filtercode = "B"; // kostenplaatsverantwoordelijke, ondermandateren
  authparams = user.checkAutorisation(["WEB_FACMAN"]); // Autorisatie is afhankelijk van beide fac functies
  // Voor WEB_FACMAN kijken naar prs write rechten, fac_functie_min_level = 7, lezen en schrijven organisatie (Let op dat alg write rechten dan altijd -1 zijn, ook bij geen write rechten)
  // Dus alleen kijken naar prs write rechten
  // WEB_FACMAN mag alleen ondermantering aanpassen voor specifieke kostenplaatsen (prs_kostenplaats_key > 0).
  var canWrite = (authparams.PRSwritelevel < 9) && kpn_kpnkey;
}

if (filtercode == "A" && !canWrite && kpn_kpnkey == user.prs_kostenplaats_key())
{ // Geen FINMSU schrijfrechten? Misschien FACMAN voor ondermandateren
  // WEB_FACMAN mag alleen ondermantering aanpassen voor specifieke kostenplaatsen (prs_kostenplaats_key > 0).
  // Daarnaast mag je bij alleen WEB_FACMAN schrijfrechten, alleen de mandatering van je eigen kostenplaatsen aanpassen/verwijderen.
  authparams = user.checkAutorisation("WEB_FACMAN", true);
  var canWrite = (authparams && authparams.PRSwritelevel < 9);
}
oRs.Close();
%>

<html>
  <head>
<%
    FCLTHeader.Generate();
%>
    <script  type="text/javascript" >

      function man_change()
      {
          if (FcltMgr.startEdit(window))
              window.location.href = "kpn_edit_mandate.asp?keys=<%=kpnman_key%>"
      }
      function man_delete()
      {
          FcltMgr.confirm(L("lcl_kpn_del_txt_mandate"), function() {
              var kpnman_key = <%=kpnman_key%>;
              var data = {
                  key: <%=kpnman_key%>,
                  level: "K"
              };
              <% protectRequest.dataToken("data"); %>
              $.post("prs_delete.asp",
                  data,
                  FcltCallbackClose,
                  "json");
          });
      }
    </script>
  </head>

  <body class="showmode">
<%
    SUBFRAME_START();
    var buttons = [];
    if (canWrite)
    {
        var buttons =  [ {title: L("lcl_change"), action:"man_change()", icon: "fa-fclt-edit" },
                           {title: L("lcl_delete"), action:"man_delete()", icon: "fa-trash-alt" } ];
    };
    if (kpnman_key > 0)
    {
      var historytitle = "" + kpn_prskpkey;
      // Als er audit history is, dan voegt de functie een extra button aan het meegegeven object buttons toe.
      AUDIT_HISTORY_BUTTON(buttons,
                           { tablekeyarray: [kpnman_key],
                             tablename: "prs_perslidkostenplaats",
                             oms_veldnaam: "prs_perslid_key",
                             oms: "" + kpn_prskey,
                             historytitle: historytitle });
    }

    IFRAMER_HEADER(L("lcl_kpn_mandate_frame"), buttons);
%>
      <form name=u2 onSubmit="return false;">
<%      BLOCK_START("kpnMan", L("lcl_kpn_mandate_frame"), { "icon": "fa-users-between-lines" });
        FCLTpersoonselector("kpn_prskey", // requestor
                             "kpn_prskey",
                             { perslidKey: kpn_prskey,
                               label: L("lcl_prs_name"),
                               readonly: true });

        FCLTkostenplaatsselector( "kpn_kpnkey",
                                  "kpn_kpnkey",
                                  user_key,
                                  {label: L("lcl_prs_dept_kosten"),
                                   kostenplaatsKey: kpn_kpnkey,
                                   whenEmpty: L("lcl_all"),
                                   readonly: true });

        ROCHECKBOXTR("fldalgbez", L("lcl_prs_book"), kpn_kpnbk==1);
        ROCHECKBOXTR("fldalgbez", L("lcl_prs_inspection"), kpn_kpninz==1);

        BLOCK_END(); %>
      </form>
      <% SUBFRAME_END(); %>
  </body>
</html>
<% ASPPAGE_END(); %>
