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

     File:         kpn_edit_kpngroep.asp
     Description:  SUBMIT-form
*/ %>

<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="./prs.inc" -->
<% FCLTHeader.Requires({ plugins:["jQuery"] }) %>
<%
var kpngroep_key = getQParamInt("kpngroep_key", -1);
// Bepaling oude budgethouder.
var budgethouder_old_key = -1;
if (kpngroep_key > 0)
{
  var sql = "SELECT prs_perslid_key"
          + "  FROM prs_kostenplaatsgrp"
          + " WHERE prs_kostenplaatsgrp_key = " + kpngroep_key
  var oRs = Oracle.Execute(sql);
  budgethouder_old_key = oRs("prs_perslid_key").Value || -1;
  oRs.Close();
}

// Wijzigen van de kostenplaats(groep)? Setting prs_restrict_kpedit {0=volgens autorisatie (default) | 1=alleen eigen kp/kpg wijzigen}.
// WEB_FINMSU rechten of budgethouder.
var authparams = user.checkAutorisation("WEB_FINMSU", true);
var canChange = ((authparams && authparams.ALGwritelevel < 9) ||
                 (S("prs_restrict_kpedit") == 1 && (budgethouder_old_key == user_key))) // Alleen eigen kp/kpg wijzigen
user.auth_required_or_abort(canChange);

var kpngrp_limiet = getFParamInt("kpngrp_limiet", 0);
if (kpngroep_key > 0 && prs.exceeds_budgetkps(kpngroep_key, kpngrp_limiet))
{ // Is de som van de kostenplaatslimieten(budgetten) lager dan de limiet(budget) van hun kostenplaatsgroep.
  abort_with_warning(L("lcl_prs_exceed_limitkpg"));
}

var fields =  [ { dbs: "prs_kostenplaatsgrp_oms",        typ: "varchar",  frm: "kpngrp_oms" },
                { dbs: "prs_kostenplaatsgrp_nr",         typ: "varchar",  frm: "kpngrp_nr" },
                { dbs: "prs_kostenplaatsgrp_limiet",     typ: "float",    frm: "kpngrp_limiet" },
                { dbs: "prs_kostenplaatsgrp_limperiode", typ: "key",      frm: "kpngrp_limperiode" },
                { dbs: "prs_perslid_key",                typ: "key",      frm: "prs_key" }];

var warning = "";
if (kpngroep_key > 0)
  {
    sql = buildUpdate("prs_kostenplaatsgrp", fields)
        + "     prs_kostenplaatsgrp_key = " + kpngroep_key;

    var err = Oracle.Execute(sql, true);
    if (err.friendlyMsg)
        warning = err.friendlyMsg;
  }
else
  {
    fields.push({  dbs: "prs_kostenplaatsgrp_key",         typ: "key",      seq: "prs_s_prs_kostenplaatsgrp_key" });
    var regIns = buildInsert("prs_kostenplaatsgrp", fields);
    var kpngroep_key = regIns.sequences["prs_kostenplaatsgrp_key"];
    sql = regIns.sql;
    var err = Oracle.Execute(sql, true);
    if (err.friendlyMsg)
        warning = err.friendlyMsg;
  }
%>
<html>
  <head>
    <%  FCLTHeader.Generate() %>
    <script>
        $(document).ready(function () {
            FcltMgr.closeDetail(window, { kpngroep_key: <%=kpngroep_key%>,
                                          warning: "<%=safe.jsstring(warning)%>",
                                          keepForm: <%=warning?"true":"false"%>
                                         });
         } );
    </script>
  </head>
  <body>
  </body>
</html>
