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

svn path=/Website/trunk/; revision=33809
This commit is contained in:
Maykel Geerdink
2017-05-11 12:49:40 +00:00
parent a534a19451
commit efe7988d67
6 changed files with 79 additions and 34 deletions

View File

@@ -23,11 +23,7 @@ function model_fac_profiel()
"childtable": "fac_profielwaarde",
"childaudit": {"sql": "SELECT fac_profielwaarde_key"
+ " FROM fac_profielwaarde"
+ " WHERE fac_profiel_key IN ({0})",
"key": "fac_profielwaarde_key",
"sqlget": "SELECT x.fac_profiel_key"
+ " FROM fac_profielwaarde x"
+ " WHERE x.fac_profielwaarde_key = {0}"
+ " WHERE fac_profiel_key IN ({0})"
}
};
this.primary = "fac_profiel_key";

View File

@@ -18,6 +18,18 @@ function model_prs_kostensoort()
this.records_name = "costtypes";
this.record_name = "costtype";
this.table = "prs_kostensoort";
this.audit = { // Parameters voor fac_audit.
"childtable": "prs_kostencombinatie",
"childaudit": {"sql": "SELECT prs_kostencombinatie_key" // Huidige kosten combinaties.
+ " FROM prs_kostencombinatie"
+ " WHERE prs_kostensoort_key IN ({0})"
+ " UNION "
+ "SELECT fac_audit_tabelkey" // Verwijderde kosten combinaties.
+ " FROM fac_audit"
+ " WHERE fac_audit_tabelnaam = 'prs_kostencombinatie'"
+ " AND fac_audit_waarde_oud IN ({0})"
}
};
this.primary = "prs_kostensoort_key";
this.autfunction = "WEB_FINMSU";
this.record_title = L("prs_kostensoort");

View File

@@ -48,13 +48,7 @@ function model_prs_perslid(params)
"childaudit": {"sql": "SELECT fac_audit_tabelkey"
+ " FROM fac_audit"
+ " WHERE fac_audit_tabelnaam = 'fac_gebruikersgroep'"
+ " AND fac_audit_waarde_oud IN ({0})",
"key": "fac_audit_tabelkey",
"sqlget": "SELECT TO_NUMBER (x.fac_audit_waarde_oud)"
+ " FROM fac_audit x"
+ " WHERE x.fac_audit_veldnaam = 'prs_perslid_key'"
+ " AND fac_audit_tabelnaam = 'fac_gebruikersgroep'"
+ " AND x.fac_audit_tabelkey = {0}"
+ " AND fac_audit_waarde_oud IN ({0})"
}
};
this.softdelete = true;

View File

@@ -23,7 +23,7 @@ if (getQParam("hmac", ""))
else
user.checkAutorisation("WEB_PRSSYS");
function gettablesql(ptable, pchildtable, pchildrecord, pmtable)
function gettablesql(ptable, pchildtable, pchildrecord, precord, pmtable)
{ // Parentkey's van de childwaarden.
var pwhere_veldnaam = "";
if (ptable == "prs_perslid")
@@ -37,9 +37,9 @@ function gettablesql(ptable, pchildtable, pchildrecord, pmtable)
}
else
{
var pfac_audit_tabelkey = " (SELECT x.{0}_key".format(pmtable? pmtable : ptable)
+ " FROM " + pchildtable + " x"
+ " WHERE x.{0}_key = a.fac_audit_tabelkey) fac_audit_tabelkey".format(pchildtable);
var pfac_audit_tabelkey = " COALESCE((SELECT x.{0}_key".format(pmtable? pmtable : ptable)
+ " FROM " + pchildtable + " x"
+ " WHERE x.{0}_key = a.fac_audit_tabelkey)".format(pchildtable) + ", " + precord + ") fac_audit_tabelkey"; // Als waarde null is dan is het record verwijderd. Dan gewoon key invullen (o.a. voor prs_kostensoort).
}
@@ -110,9 +110,9 @@ else
+ " FROM fac_audit "
+ " WHERE fac_audit_tabelnaam = " + safe.quoted_sql(table) + ") fac_audit";
var childrecord = getQParamIntArray("childrecord", []);
var record = getQParamIntArray("record");
if (table == "ins_tab_discipline") // dan disc_params er bij halen.
{
var record = getQParamIntArray("record");
var sql = "SELECT ins_discipline_module"
+ " FROM ins_tab_discipline"
+ " WHERE ins_discipline_key = " + record[0]; // Eerste keys zijn de ins_tab_discipline keys, daarna de disc_params keys. Eerste key is dan voldoende.
@@ -121,12 +121,12 @@ else
oRs.Close;
if (module != "mrk")
{
this_model.tablesql = gettablesql(table, childtable, childrecord, (module != "ins"? module + "_" : "") + "ins_discipline");
this_model.tablesql = gettablesql(table, childtable, childrecord, record, (module != "ins"? module + "_" : "") + "ins_discipline");
}
}
else if (childtable != "") // dan fac_profielwaarde er bij halen.
{
this_model.tablesql = gettablesql(table, childtable, childrecord);
this_model.tablesql = gettablesql(table, childtable, childrecord, record);
}
}

View File

@@ -17,28 +17,38 @@
<!-- #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 prs_perslidkostenplaats_key, "
+ " prs_perslid_key, "
+ " prs_kostenplaats_key, "
+ " prs_perslidkostenplaats_boeken, "
+ " prs_perslidkostenplaats_inzage "
+ " FROM prs_perslidkostenplaats "
+ " WHERE prs_perslidkostenplaats_key = " + kpnman_key
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"
+ " AND pkp.prs_perslidkostenplaats_key = " + kpnman_key
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
shared.record_not_found("<!--" + kpnman_key + "-->");
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_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)
@@ -105,6 +115,17 @@ oRs.Close();
var buttons = [ {title: L("lcl_change"), action:"man_change()", icon: "wijzigen.png" },
{title: L("lcl_delete"), action:"man_delete()", icon: "delete.png" } ];
};
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",
veldnamen: ["prs_perslid_key", "prs_kostenplaats_key"],
keys: [kpn_prskey, kpn_kpnkey],
historytitle: historytitle });
}
IFRAMER_HEADER(L("lcl_kpn_mandate_frame"), buttons);
%>

View File

@@ -15,6 +15,8 @@ function AUDIT_HISTORY_BUTTON(pbuttons, params)
var tablekey_array = params.tablekeyarray;
var table_ref = params.tableref;
var table_name = params.tablename;
var keys = params.keys;
var veldnamen = params.veldnamen;
var oms = params.oms;
var oms_veldnaam = params.oms_veldnaam;
var id_veld = params.id_veld;
@@ -35,13 +37,33 @@ function AUDIT_HISTORY_BUTTON(pbuttons, params)
+ " FROM fac_audit fa"
+ " WHERE " + where.join(" AND ");
}
else if (oms_veldnaam && oms)
else if (veldnamen && keys)
{
sql = "SELECT fac_audit_tabelkey"
sql_and = [];
for (var i = 0; i < veldnamen.length; i++)
{
var lsql = "(fac_audit_veldnaam = " + safe.quoted_sql(veldnamen[i])
+ " AND fac_audit_waarde_oud = " + parseInt(keys[i], 10) + ")";
sql_and.push(lsql);
}
sql = "SELECT DISTINCT fac_audit_tabelkey"
+ " , fac_audit_tabelnaam"
+ " , fac_audit_actie"
+ " , prs_perslid_key"
+ " , fac_audit_datum"
+ " FROM fac_audit"
+ " WHERE fac_audit_tabelnaam = " + safe.quoted_sql(table_name)
+ " AND fac_audit_veldnaam = " + safe.quoted_sql(oms_veldnaam)
+ " AND fac_audit_waarde_oud = " + safe.quoted_sql(oms);
+ " AND ("
+ sql_and.join(" OR ")
+ " )"
}
else if (oms_veldnaam && oms)
{
sql = "SELECT fac_audit_tabelkey"
+ " FROM fac_audit"
+ " WHERE fac_audit_tabelnaam = " + safe.quoted_sql(table_name)
+ " AND fac_audit_veldnaam = " + safe.quoted_sql(oms_veldnaam)
+ " AND fac_audit_waarde_oud = " + safe.quoted_sql(oms);
}
else if (id_veld && id_oms)
{