AAIT#33956: Tracking uitbreiden op grondbeginselen financiele & rechten inrichting.

svn path=/Website/trunk/; revision=32969
This commit is contained in:
Maykel Geerdink
2017-02-27 14:03:16 +00:00
parent 4ec963e2d2
commit 1f0d204e98
4 changed files with 157 additions and 54 deletions

View File

@@ -13,13 +13,13 @@
*/ %>
<!--#include file="../Shared/common.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!--#include file="../Shared/disciplineselector.inc" -->
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/disciplineselector.inc" -->
<!-- #include file="../Shared/audithistory.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest", "jQuery"],
js: ["num2curr.js"]})
FCLTHeader.Requires({plugins:["suggest", "jQuery"] })
var kpn_key = getQParamInt("kpn_key");
var kpndisc_key = getQParamInt("kpndisc_key");
@@ -32,8 +32,8 @@ sql = "SELECT K.prs_kostenplaats_nr"
+ " FROM prs_kostenplaats K"
+ " WHERE prs_kostenplaats_key = " + kpn_key;
oRs = Oracle.Execute(sql);
var kpn_nr = oRs("prs_kostenplaats_nr").value;
var kpn_oms = oRs("prs_kostenplaats_omschrijving").value;
var kpn_nr = oRs("prs_kostenplaats_nr").Value;
var kpn_oms = oRs("prs_kostenplaats_omschrijving").Value;
var kpn_disc;
var kpn_limiet;
oRs.Close();
@@ -44,12 +44,22 @@ if (kpndisc_key > -1)
+ " , D.prs_kostenplaats_key"
+ " , D.ins_discipline_key"
+ " , D.prs_kostenplaatsdisc_limiet"
+ ", CASE "
+ " WHEN sd.ins_srtdiscipline_prefix IS NULL"
+ " THEN ''"
+ " ELSE sd.ins_srtdiscipline_prefix || '-'"
+ " END || " + lcl.xsql('td.ins_discipline_omschrijving', 'td.ins_discipline_key') + " discipline"
+ " FROM prs_kostenplaatsdisc D"
+ " WHERE D.prs_kostenplaatsdisc_key = " + kpndisc_key;
+ " , ins_tab_discipline td"
+ " , ins_srtdiscipline sd"
+ " WHERE d.ins_discipline_key = td.ins_discipline_key"
+ " AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)"
+ " AND D.prs_kostenplaatsdisc_key = " + kpndisc_key;
oRs = Oracle.Execute(sql);
kpn_disc = oRs("ins_discipline_key").value;
kpn_limiet = oRs("prs_kostenplaatsdisc_limiet").value;
kpn_disc = oRs("ins_discipline_key").Value;
kpn_limiet = oRs("prs_kostenplaatsdisc_limiet").Value;
kpn_discoms = oRs("discipline").Value;
oRs.Close();
}
@@ -91,6 +101,17 @@ if (kpndisc_key > -1)
<body id="editbody">
<% var buttons = [ {title: L("lcl_submit"), action:"kpncat_submit()", icon: "opslaan.png" },
{title: L("lcl_cancel"), action:"kpncat_cancel()", icon: "undo.png" }];
if (kpndisc_key > 0)
{
var historytitle = kpn_discoms;
// Als er audit history is, dan voegt de functie een extra button aan het meegegeven object buttons toe.
AUDIT_HISTORY_BUTTON(buttons,
{ tablekeyarray: [kpndisc_key],
tablename: "prs_kostenplaatsdisc",
oms_veldnaam: "ins_discipline_key",
oms: "" + kpn_disc,
historytitle: historytitle });
}
IFRAMER_HEADER(L("lcl_kpn_kpncat_frame"), buttons);
%>

View File

@@ -16,6 +16,7 @@
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
<!-- #include file="../Shared/audithistory.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest", "jQuery"]})
@@ -95,6 +96,7 @@ user.auth_required_or_abort(canShow);
if (FcltMgr.startEdit(window))
window.location.href = "kpn_edit_kpn.asp?kpn_key=<%=kpn_key%>"
}
function kpn_delete()
{
FcltMgr.confirm(L("lcl_kpn_del_txt_kostenplaats"), function() {
@@ -118,11 +120,22 @@ user.auth_required_or_abort(canShow);
var buttons = [];
if (kpn_verwijder == null)
{
// Wijzigen van de kostenplaats(groep)? Setting prs_restrict_kpedit {0=volgens autorisatie (default) | 1=alleen eigen kp/kpg wijzigen}
if (canChange)
buttons.push({title: L("lcl_change"), action:"kpn_change()", icon: "wijzigen.png" });
if (canDelete)
buttons.push({title: L("lcl_delete"), action:"kpn_delete()", icon: "delete.png" });
// Wijzigen van de kostenplaats(groep)? Setting prs_restrict_kpedit {0=volgens autorisatie (default) | 1=alleen eigen kp/kpg wijzigen}
if (canChange)
buttons.push({title: L("lcl_change"), action:"kpn_change()", icon: "wijzigen.png" });
if (canDelete)
buttons.push({title: L("lcl_delete"), action:"kpn_delete()", icon: "delete.png" });
}
if (kpn_key > 0)
{
var historytitle = kpn_nr;
// Als er audit history is, dan voegt de functie een extra button aan het meegegeven object buttons toe.
AUDIT_HISTORY_BUTTON(buttons,
{ tablekeyarray: [kpn_key],
tablename: "prs_kostenplaats",
id_veld: "prs_kostenplaats_nr",
id_oms: kpn_nr,
historytitle: historytitle });
}
IFRAMER_HEADER(L("lcl_kpn_kpn_frame"), buttons);

View File

@@ -15,6 +15,7 @@
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/persoonselector.inc" -->
<!-- #include file="../Shared/audithistory.inc" -->
<%
FCLTHeader.Requires({plugins:["suggest","jQuery"]})
@@ -80,8 +81,19 @@ user.auth_required_or_abort(canShow);
// Wijzigen van de kostenplaats(groep)? Setting prs_restrict_kpedit {0=volgens autorisatie (default) | 1=alleen eigen kp/kpg wijzigen}
if (canChange)
{
var buttons = [ {title: L("lcl_change"), action:"kpngrp_change()", icon: "wijzigen.png" },
{title: L("lcl_delete"), action:"kpngrp_delete()", icon: "delete.png" } ];
var buttons = [ {title: L("lcl_change"), action:"kpngrp_change()", icon: "wijzigen.png" },
{title: L("lcl_delete"), action:"kpngrp_delete()", icon: "delete.png" } ];
}
if (kpngroep_key > 0)
{
var historytitle = kpngrp_oms;
// Als er audit history is, dan voegt de functie een extra button aan het meegegeven object buttons toe.
AUDIT_HISTORY_BUTTON(buttons,
{ tablekeyarray: [kpngroep_key],
tablename: "prs_kostenplaatsgrp",
oms_veldnaam: "prs_kostenplaatsgrp_oms",
oms: kpngrp_oms,
historytitle: historytitle });
}
IFRAMER_HEADER(L("lcl_kpn_groep_frame"), buttons);

View File

@@ -33,7 +33,7 @@ function scaffolding_show(model, scf_params)
for (var fld in model.fields)
{
var field = model.fields[fld];
var field = model.fields[fld];
// Met friendlyname kun je het ook expliciet sturen (factuurschema bijvoorbeeld)
if (field.friendlyname && !xxx_data.name)
{
@@ -43,6 +43,93 @@ function scaffolding_show(model, scf_params)
}
}
if (key > 0)
{
var tablekey_array = [key];
var sql = "";
//if (model.oms_veldnaam && model.oms)
if (model.table == "ins_tab_discipline")
{
sql = "SELECT ins_discipline_key"
+ " FROM ins_tab_discipline"
+ " WHERE ins_discipline_omschrijving = " + safe.quoted_sql(xxx_data.name)
+ " AND ins_discipline_key != " + key;
}
else if (model.fields.name && model.fields.name.dbs && xxx_data.name)
{
sql = "SELECT fac_audit_tabelkey"
+ " FROM fac_audit"
+ " WHERE fac_audit_tabelnaam = " + safe.quoted_sql(model.table)
+ " AND fac_audit_veldnaam = " + safe.quoted_sql(model.fields.name.dbs)
+ " AND fac_audit_waarde_oud = " + safe.quoted_sql(xxx_data.name);
}
if (sql != "")
{
var oRs = Oracle.Execute(sql);
while(!oRs.eof)
{
tablekey_array.push(oRs(0).Value);
oRs.Movenext();
}
}
var wheres = ["(fac_audit_tabelnaam = " + safe.quoted_sql(model.table)
+ " AND fac_audit_tabelkey IN (" + tablekey_array.join(",") + "))"];
if (model.table == "ins_tab_discipline") // disc_params ook meetellen
{
var sql = "SELECT ins_discipline_module"
+ " FROM ins_tab_discipline"
+ " WHERE ins_discipline_key = " + key;
var oRs = Oracle.Execute(sql);
var module = oRs("ins_discipline_module").Value.toLowerCase();
oRs.Close;
if (module != "mrk")
{
var key_field = "ins_discipline_key";
if (module != "ins")
key_field = "{0}_ins_discipline_key".format(module);
var sql = "SELECT {0}_disc_params_key disc_params_key".format(module)
+ " FROM {0}_disc_params".format(module)
+ " WHERE {0} IN ({1})".format(key_field, tablekey_array.join(","));
var oRs = Oracle.Execute(sql);
var child_key_array = [];
while(!oRs.eof)
{
child_key_array.push(oRs("disc_params_key").Value);
oRs.Movenext();
}
oRs.Close;
wheres.push("(fac_audit_tabelnaam = " + safe.quoted_sql("{0}_disc_params".format(module))
+ " AND fac_audit_tabelkey" + " IN (" + child_key_array.join(",") + "))");
}
}
else if (model.table == "fac_profiel")
{
var sql = "SELECT fac_profielwaarde_key"
+ " FROM fac_profielwaarde"
+ " WHERE fac_profiel_key IN (" + tablekey_array.join(",") + ")";
var oRs = Oracle.Execute(sql);
var child_key_array = [];
while(!oRs.eof)
{
child_key_array.push(oRs("fac_profielwaarde_key").Value);
oRs.Movenext();
}
oRs.Close;
wheres.push("(fac_audit_tabelnaam = 'fac_profielwaarde'"
+ " AND fac_audit_tabelkey" + " IN (" + child_key_array.join(",") + "))");
}
var sql = "SELECT COUNT(*)"
+ " FROM fac_audit"
+ " WHERE (" + wheres.join(" OR ") + ")";
var oRs = Oracle.Execute(sql);
var cnt = oRs(0).Value;
oRs.Close();
}
%>
<html>
@@ -79,7 +166,10 @@ function scaffolding_show(model, scf_params)
function scf_history()
{
<%
var url = "appl/mgt/fac_audit.asp?mode=list&table={0}&record={1}".format(model.table, key)
var url = "appl/mgt/fac_audit.asp?mode=list&table={0}&record={1}".format(model.table, tablekey_array.join(","))
+ (child_key_array && child_key_array.length > 0
? "&childtable={0}&childrecord={1}".format(model.childtable, child_key_array.join(","))
: "");
var proturl = protectQS.create(url);
%>
FcltMgr.openDetail("<%= proturl %>", "<%= L("lcl_history") + " " + safe.jsstring(model.record_title) %>");
@@ -114,42 +204,9 @@ function scaffolding_show(model, scf_params)
if (user.has("WEB_FACFAC") && model["REST_POST"])
buttons.push({ title: L("lcl_scf_export"), action: "scf_export()", icon: "fa-download" });
if (key > 0)
if (key > 0 && cnt > 0)
{
var wheres = ["fac_audit_tabelnaam = " + safe.quoted_sql(model.table)
+ " AND fac_audit_tabelkey = " + key];
if (model.table == "ins_tab_discipline") // disc_params ook meetellen
{
var sql = "SELECT ins_discipline_module"
+ " FROM ins_tab_discipline"
+ " WHERE ins_discipline_key = " + key;
var oRs = Oracle.Execute(sql);
var module = oRs("ins_discipline_module").Value.toLowerCase();
oRs.Close;
if (module != "mrk")
{
var key_field = "ins_discipline_key";
if (module != "ins")
key_field = "{0}_ins_discipline_key".format(module);
var sql = "SELECT {0}_disc_params_key disc_params_key".format(module)
+ " FROM {0}_disc_params".format(module)
+ " WHERE {0} = {1}".format(key_field, key);
var oRs = Oracle.Execute(sql);
var dp_key = oRs("disc_params_key").Value;
oRs.Close;
wheres.push("fac_audit_tabelnaam = " + safe.quoted_sql("{0}_disc_params".format(module))
+ " AND fac_audit_tabelkey" + " = " + dp_key);
}
}
var sql = "SELECT COUNT(*)"
+ " FROM fac_audit"
+ " WHERE " + wheres.join(" OR ");
var oRs = Oracle.Execute(sql);
var cnt = oRs(0).Value;
oRs.Close();
if (cnt > 0)
buttons.push({title: L("lcl_history") + " ({0})".format(cnt), action:"scf_history()", icon: "fa-history", id: "btn_scf_history" });
buttons.push({title: L("lcl_history") + " ({0})".format(cnt), action:"scf_history()", icon: "fa-history", id: "btn_scf_history" });
}
if (scf_params.show.buttons)