FSN#46968 BGT: Deelproject aanmaken lukt niet (TWYN.BGT_PROJECT wordt gemuteerd)
svn path=/Website/branches/v2017.2/; revision=35747
This commit is contained in:
@@ -94,6 +94,67 @@ function model_bgt_project()
|
||||
|
||||
//this.print = { xmlnode: "budget", where: "project"};
|
||||
|
||||
this.hook_pre_edit = function (obj, fld)
|
||||
{
|
||||
if (mode != "save")
|
||||
{
|
||||
var sql = "SELECT count(*)"
|
||||
+ " FROM bgt_kostenrubriek"
|
||||
+ " WHERE bgt_project_key = " + obj.id;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs(0) == 0) // Een nieuw project, of een project waaraan nog geen rubrieken zijn gekoppeld.
|
||||
{ // Voeg de selectie voor het standaardproject toe.
|
||||
fld["import"] = {
|
||||
"dbs": "fac_usrtab.fac_usrtab_key",
|
||||
"label": "Standaard projectdata",
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "(SELECT d.fac_usrdata_key"
|
||||
+ " , d.fac_usrdata_code"
|
||||
+ " FROM fac_usrtab t"
|
||||
+ " , fac_usrdata d"
|
||||
+ " WHERE d.fac_usrtab_key = t.fac_usrtab_key"
|
||||
+ " AND t.fac_usrtab_naam = 'project_import')",
|
||||
"key": "fac_usrdata_key",
|
||||
"desc": "fac_usrdata_code"
|
||||
}
|
||||
};
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
if (obj.id > 0)
|
||||
{
|
||||
fld["account"].foreign.tbl = bgt_account_foreign_tbl(obj.id);
|
||||
}
|
||||
else
|
||||
{
|
||||
fld["account"].hidden_fld = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.hook_pre_post = function(params, obj)
|
||||
{
|
||||
// Controle op, en wijzigingen aan data voordat het record wordt toegevoegd.
|
||||
}
|
||||
|
||||
this.hook_post_post = function(params, obj, key)
|
||||
{
|
||||
// Nadat het project-record is toegevoegd is de key hiervan bekend.
|
||||
create_default_kostenplaatsgrp(key);
|
||||
var data_key = getFParamInt("import", -1);
|
||||
create_default_projectdata(key, data_key);
|
||||
}
|
||||
|
||||
this.hook_pre_put = function(params, obj, key)
|
||||
{
|
||||
// Wordt alleen gebruikt bij wijzigen.
|
||||
create_default_kostenplaatsgrp(key);
|
||||
var data_key = getFParamInt("import", -1);
|
||||
create_default_projectdata(key, data_key);
|
||||
}
|
||||
|
||||
|
||||
// if (!S("bgt_enabled"))
|
||||
// {
|
||||
// this.fields.budgetdiscipline.hidden_fld = true
|
||||
@@ -104,5 +165,37 @@ function model_bgt_project()
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_DELETE = generic_REST_DELETE(this);
|
||||
|
||||
|
||||
function create_default_kostenplaatsgrp(key)
|
||||
{
|
||||
var sql_u = "SELECT count(*) aantal"
|
||||
+ " FROM prs_kostenplaatsgrp"
|
||||
+ " WHERE bgt_project_key = " + key;
|
||||
var oRs_u = Oracle.Execute(sql_u);
|
||||
if (oRs_u("aantal").Value == 0)
|
||||
{
|
||||
var sql = "SELECT d.bgt_disc_params_code"
|
||||
+ " , p.bgt_project_code"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
||||
+ " AND p.bgt_project_key = " + key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var sql_i = "INSERT INTO prs_kostenplaatsgrp"
|
||||
+ " (prs_kostenplaatsgrp_nr, prs_kostenplaatsgrp_oms, bgt_project_key)"
|
||||
+ " VALUES"
|
||||
+ " (" + safe.quoted_sql(oRs("bgt_disc_params_code").Value)
|
||||
+ " ," + safe.quoted_sql(oRs("bgt_project_code").Value)
|
||||
+ " ," + key
|
||||
+ " )";
|
||||
Oracle.Execute(sql_i);
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
oRs_u.Close();
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -200,6 +200,8 @@ function model_prs_kostenplaats()
|
||||
}
|
||||
else
|
||||
{
|
||||
delete this.fields.budgetdiscipline;
|
||||
delete this.fields.budgetproject;
|
||||
this.REST_GET = generic_REST_GET(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,63 +18,6 @@
|
||||
<%
|
||||
var this_model = new model_bgt_project();
|
||||
|
||||
this_model.hook_pre_edit = function (obj, fld)
|
||||
{
|
||||
if (mode != "save")
|
||||
{
|
||||
var sql = "SELECT count(*)"
|
||||
+ " FROM bgt_kostenrubriek"
|
||||
+ " WHERE bgt_project_key = " + obj.id;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs(0) == 0) // Een nieuw project, of een project waaraan nog geen rubrieken zijn gekoppeld.
|
||||
{ // Voeg de selectie voor het standaardproject toe.
|
||||
fld["import"] = {
|
||||
"dbs": "fac_usrtab.fac_usrtab_key",
|
||||
"label": "Standaard projectdata",
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "(SELECT d.fac_usrdata_key"
|
||||
+ " , d.fac_usrdata_code"
|
||||
+ " FROM fac_usrtab t"
|
||||
+ " , fac_usrdata d"
|
||||
+ " WHERE d.fac_usrtab_key = t.fac_usrtab_key"
|
||||
+ " AND t.fac_usrtab_naam = 'project_import')",
|
||||
"key": "fac_usrdata_key",
|
||||
"desc": "fac_usrdata_code"
|
||||
}
|
||||
};
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
if (obj.id > 0)
|
||||
{
|
||||
fld["account"].foreign.tbl = bgt_account_foreign_tbl(obj.id);
|
||||
}
|
||||
else
|
||||
{
|
||||
fld["account"].hidden_fld = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this_model.hook_pre_post = function(params, obj)
|
||||
{
|
||||
// Controle op, en wijzigingen aan data voordat het record wordt toegevoegd.
|
||||
}
|
||||
|
||||
this_model.hook_post_post = function(params, obj, key)
|
||||
{
|
||||
// Nadat het project-record is toegevoegd is de key hiervan bekend.
|
||||
var data_key = getFParamInt("import", -1);
|
||||
create_default_projectdata(key, data_key);
|
||||
}
|
||||
|
||||
this_model.hook_pre_put = function(params, obj, key)
|
||||
{
|
||||
// Wordt alleen gebruikt bij wijzigen.
|
||||
var data_key = getFParamInt("import", -1);
|
||||
create_default_projectdata(key, data_key);
|
||||
}
|
||||
|
||||
|
||||
scaffolding(this_model,
|
||||
@@ -103,6 +46,7 @@ scaffolding(this_model,
|
||||
|
||||
function create_default_projectdata(p_project_key, default_key)
|
||||
{
|
||||
// Deze functie gebruikt het java-scriptbestand "../imp/imp_shared.js" die bij de includes toegevoegd wordt.
|
||||
// Importeer het genoemde csv-bestand met de default projectindeling
|
||||
var res = { success: false, warning: "?" };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user