FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization

svn path=/Website/trunk/; revision=34791
This commit is contained in:
Erik Groener
2017-08-01 14:33:29 +00:00
parent c14cd01161
commit ad10ba2d30
6 changed files with 108 additions and 35 deletions

View File

@@ -144,11 +144,7 @@ function model_bgt_budget()
"dbs": "prs_kostenplaats_key",
"label": L("bgt_budget_account"),
"typ": "key",
"foreign": {
"tbl": "prs_kostenplaats",
"key": "prs_kostenplaats_key",
"desc": "prs_kostenplaats_nr"
}
"foreign": bgt_account_foreign()
}
};
@@ -166,6 +162,7 @@ function model_bgt_budget()
]
};
this.hook_pre_edit = function (obj, fld)
{
if (obj.id > -1)
@@ -173,6 +170,13 @@ function model_bgt_budget()
fld.amount.readonly = true;
fld.vat.readonly = true;
}
%>
<script>
var cur_mode = "<%=mode%>"; // = "edit"
<% if (obj.budgetdiscipline) { %> var budgetdiscipline = "<%=obj.budgetdiscipline.id%>"; <% } %>
<% if (obj.budgetproject) { %> var budgetproject = "<%=obj.budgetproject.id%>"; <% } %>
</script>
<%
}
this.hook_pre_post = function(params, obj)

View File

@@ -82,7 +82,7 @@ function _model_bgt_discipline()
}
};
this.print = { xmlnode: "budget", where: "discipline"};
// this.print = { xmlnode: "budget", where: "discipline"};
/* Velden van BGT_DISC_PARAMS komen er dynamisch bij */
this.disc_params = {

View File

@@ -12,6 +12,7 @@
*/
%>
<!-- #include file="../api2/model_bgt_kostenrubriek.inc" -->
<!-- #include file="../bgt/bgt_tools.inc" -->
<%
function model_bgt_project()
@@ -71,11 +72,7 @@ function model_bgt_project()
"dbs": "prs_kostenplaats_key",
"label": L("bgt_budget_account"),
"typ": "key",
"foreign": {
"tbl": "prs_kostenplaats",
"key": "prs_kostenplaats_key",
"desc": "prs_kostenplaats_nr"
}
"foreign": bgt_account_foreign()
},
"pricedate": {
"dbs": "bgt_project_prijspeildatum",
@@ -94,7 +91,7 @@ function model_bgt_project()
}
};
this.print = { xmlnode: "budget", where: "project"};
//this.print = { xmlnode: "budget", where: "project"};
// if (!S("bgt_enabled"))
// {

View File

@@ -11,6 +11,7 @@
Notes:
*/
%>
<!-- #include file="../bgt/bgt_tools.inc" -->
<!-- #include file="../api2/model_prs_kostensoort.inc" -->
<%
@@ -21,8 +22,8 @@ function model_prs_kostenplaats()
this.table = "prs_kostenplaats";
this.primary = "prs_kostenplaats_key";
this.autfunction = (S("bgt_enabled")==1 ? ["WEB_FINMSU", "WEB_BGTMGT"] : ["WEB_FINMSU"]);
this.record_title = L("lcl_account");
this.records_title = L("lcl_menu_fin_kostenplaatsen");
this.record_title = (S("bgt_enabled")==1 ? L("bgt_kostenplaats") : L("lcl_account"));
this.records_title = (S("bgt_enabled")==1 ? L("bgt_kostenplaats_m") : L("lcl_menu_fin_kostenplaatsen"));
this.soft_delete = "prs_kostenplaats_verwijder";
this.fields = {
@@ -60,16 +61,27 @@ function model_prs_kostenplaats()
"dbs": "prs_kostenplaats_eind",
"label": L("lcl_end_date"),
"typ": "date"
},
},
"budgetdiscipline": {
"dbs": "bgt_project.ins_discipline_key",
"label": L("bgt_discipline_omschrijving"),
"typ": "key",
"required": true,
"foreign": bgt_budgetdiscipline_foreign()
},
"budgetproject": {
"dbs": "bgt_project.bgt_project_key",
"label": L("bgt_project_omschrijving"),
"typ": "key",
"required": true,
"foreign": bgt_budgetproject_foreign()
},
"costgroup": {
"dbs": "prs_kostenplaatsgrp_key",
"label": L("lcl_prs_kostenpl_group"),
"typ": "key",
"foreign": {
"tbl": "prs_kostenplaatsgrp",
"key": "prs_kostenplaatsgrp_key",
"desc": "prs_kostenplaatsgrp_oms"
}
"required": true,
"foreign": bgt_accountgroup_foreign()
},
"person": {
"dbs": "prs_perslid_key",
@@ -109,10 +121,9 @@ function model_prs_kostenplaats()
}
};
this.REST_GET = generic_REST_GET(this);
if (S("bgt_enabled")) // alleen voor budgetcontrole, de rest nog even readonly
{
// Deze hoeven ze niet te zien:
// Deze hoeven ze niet voor BGT te zien:
delete this.fields.begin;
delete this.fields.end;
delete this.fields.person;
@@ -120,10 +131,75 @@ function model_prs_kostenplaats()
delete this.fields.limitperiod;
delete this.fields.external;
delete this.fields.approval;
this.fields.costgroup.hidden_fld = true; // Deze wordt bepaald uit de gekozen project/deelproject.
this.hook_pre_edit = function (obj, fld)
{
%>
<script>
var cur_mode = "<%=mode%>"; // = "edit"
<% if (obj.budgetdiscipline) { %> var budgetdiscipline = "<%=obj.budgetdiscipline.id%>"; <% } %>
<% if (obj.budgetproject) { %> var budgetproject = "<%=obj.budgetproject.id%>"; <% } %>
</script>
<%
}
this.hook_pre_post = function (params, jsondata)
{
var v_discipline_key = jsondata.budgetdiscipline || getQParamInt("budgetdiscipline", -1);
var v_project_key = jsondata.budgetproject || getQParamInt("budgetproject", -1);
if (v_discipline_key > 0 && v_project_key > 0)
{
var sql_e = "SELECT prs_kostenplaatsgrp_key"
+ " FROM prs_kostenplaatsgrp kpg"
+ " WHERE kpg.bgt_project_key = " + v_project_key;
var oRs_e = Oracle.Execute(sql_e);
var v_kostenplaatsgrp_key = (!oRs_e.eof ? oRs_e("prs_kostenplaatsgrp_key").Value : -1);
oRs_e.Close();
//
if (v_kostenplaatsgrp_key == -1 && v_project_key > 0)
{
// Ontbrekende verwijzing tussen kostenplaats en project toevoegen.
var sql = "INSERT INTO prs_kostenplaatsgrp"
+ " (bgt_project_key, prs_kostenplaatsgrp_nr, prs_kostenplaatsgrp_oms)"
+ " SELECT " + v_project_key
+ " , d.bgt_disc_params_code"
+ " , p.bgt_project_code"
+ " FROM bgt_project p"
+ " , bgt_disc_params d"
+ " WHERE p.ins_discipline_key = d.bgt_ins_discipline_key"
+ " AND p.bgt_project_key = " + v_project_key;
Oracle.Execute(sql);
//
oRs_e = Oracle.Execute(sql_e);
v_kostenplaatsgrp_key = (!oRs_e.eof ? oRs_e("prs_kostenplaatsgrp_key").Value : -1);
oRs_e.Close();
//
if (v_kostenplaatsgrp_key == -1)
abort_with_warning("Er is een fout opgetreden bij het aanmaken van de kostenplaatsgroep");
}
//
jsondata.costgroup = v_kostenplaatsgrp_key;
}
}
this.REST_GET = generic_REST_GET(this, {
"GET": {
"tables": [ "prs_kostenplaatsgrp"
, "bgt_project"
],
"wheres": [ "prs_kostenplaatsgrp.bgt_project_key = bgt_project.bgt_project_key"
, "prs_kostenplaatsgrp.prs_kostenplaatsgrp_key = prs_kostenplaats.prs_kostenplaatsgrp_key"
]
}
});
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_DELETE = generic_REST_DELETE(this);
}
else
{
this.REST_GET = generic_REST_GET(this);
}
}
%>

View File

@@ -82,7 +82,6 @@ function model_prs_kostensoort()
"label": L("prs_kostensoort_altcode"),
"typ": "varchar"
},
"refcode": {
"dbs": "prs_kostensoort_refcode",
"label": L("prs_kostensoort_refcode"),
@@ -116,11 +115,7 @@ function model_prs_kostensoort()
"dbs": "prs_kostenplaats_key",
"label": L("prs_kostenplaats_key"),
"typ": "key",
"foreign": {
"tbl": "prs_kostenplaats",
"key": "prs_kostenplaats_key",
"desc": "prs_kostenplaats_nr"
},
"foreign": bgt_account_foreign(),
"multiedit": true
}
};
@@ -130,6 +125,7 @@ function model_prs_kostensoort()
{
delete this.fields.charge;
delete this.fields.refcode;
this.fields.inclvat.hidden_fld = true;
this.fields.costcentre.label = L("bgt_budget_account");
this.includes = {
"budgets": {
@@ -138,7 +134,7 @@ function model_prs_kostensoort()
"enable_update": true
}
};
this.print = { xmlnode: "budget", where: "kostensoort"};
// this.print = { xmlnode: "budget", where: "kostensoort"};
}
else
{

View File

@@ -38,8 +38,8 @@ function model_prs_kostensoortgrp()
"dbs" : "bgt_kostenrubriek_key",
"label": L("bgt_kostenrubriek"),
"typ": "key",
//"required": true, /* TODO alleen als BGT */
"insertonly" : true,
"required": true, /* TODO alleen als BGT */
"insertonly": true,
"foreign": {
"tbl": "bgt_kostenrubriek",
"key": "bgt_kostenrubriek_key",
@@ -62,10 +62,10 @@ function model_prs_kostensoortgrp()
}
};
if (S("bgt_enabled")) // alleen voor budgetcontrole
{
this.print = { xmlnode: "budget", where: "kostengroep"};
}
// if (S("bgt_enabled")) // alleen voor budgetcontrole
// {
// this.print = { xmlnode: "budget", where: "kostengroep"};
// }
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);