svn path=/Website/trunk/; revision=39131
This commit is contained in:
Erik Groener
2018-09-13 09:11:00 +00:00
parent c206d16b2a
commit bd151dc6d1
4 changed files with 14 additions and 62 deletions

View File

@@ -37,22 +37,13 @@ function model_prs_kostenplaats()
"seq": "prs_s_prs_kostenplaats_key"
},
"budgetdiscipline": {
"dbs": "bgt_project.ins_discipline_key",
"dbs": "ins_discipline_key",
"label": L("bgt_discipline_omschrijving"),
"typ": "key",
"required": true,
"foreign": bgt_budgetdiscipline_foreign(),
"showtransit": true
},
"budgetproject": {
"dbs": "bgt_project.bgt_project_key",
"label": L("bgt_project_omschrijving"),
"typ": "key",
"required": true,
"foreign": bgt_budgetproject_foreign(),
"delayload": true,
"showtransit": true
},
"costgroup": {
"dbs": "prs_kostenplaatsgrp_key",
"label": L("lcl_prs_kostenpl_group"),
@@ -142,65 +133,25 @@ 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 budgetdiscipline_key = <%=(obj.budgetdiscipline ? obj.budgetdiscipline.id : -1)%>;
var budgetproject_key = <%=(obj.budgetproject ? obj.budgetproject.id : -1)%>;
</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"
, "bgt_project.bgt_project_verwijder IS NULL"
"wheres": [ "prs_kostenplaatsgrp.prs_kostenplaatsgrp_key(+) = prs_kostenplaats.prs_kostenplaatsgrp_key"
]
}
});
@@ -211,7 +162,6 @@ function model_prs_kostenplaats()
else
{
delete this.fields.budgetdiscipline;
delete this.fields.budgetproject;
delete this.fields.begin;
delete this.fields.module.hidden_fld;
delete this.fields.module.defaultvalue;

View File

@@ -114,23 +114,21 @@ if (0) {
if (S("bgt_enabled"))
{
this.fields["budgetdiscipline"] = {
"dbs": "ins_tab_discipline.ins_discipline_key",
"dbs": "prs_kpdisc.ins_discipline_key",
"label": L("bgt_discipline_omschrijving"),
"typ": "key",
"foreign": bgt_budgetdiscipline_foreign(),
"hidden_fld": true
};
var get_tbl = "(SELECT DISTINCT"
+ " prs_kostenplaatsgrp_key"
+ " , ins_discipline_key"
+ " FROM prs_kostenplaats) prs_kpdisc";
gparams = {
GET: {
tables: [
"prs_kostenplaats",
"ins_tab_discipline"
],
wheres: [
"prs_kostenplaats.ins_discipline_key = ins_tab_discipline.ins_discipline_key",
"prs_kostenplaats.prs_kostenplaatsgrp_key = prs_kostenplaatsgrp.prs_kostenplaatsgrp_key"
]
tables: [get_tbl],
wheres: ["prs_kostenplaatsgrp.prs_kostenplaatsgrp_key = prs_kpdisc.prs_kostenplaatsgrp_key(+)"]
}
};
}

View File

@@ -25,7 +25,7 @@ function init_budget()
// budgetdiscipline en budgetproject kunnen ook als gekozen filter worden meegegeven
// en worden dan als readonly velden getoond.
// LET OP: bij delayload = true wordt een select nooit default gevuld voordat het hier komt.
var v_budgetdiscipline = (typeof $("#budgetdiscipline").val() == "undefined" ? (typeof budgetdiscipline_key == "undefined" ? -1 : budgetdiscipline_key) : $("#budgetdiscipline").val() );
var v_budgetdiscipline = typeof budgetdiscipline_key == "undefined" ? -1 : budgetdiscipline_key;
var v_budgetproject = typeof budgetproject_key == "undefined" ? -1 : budgetproject_key;
var v_budgetcostcategory = typeof budgetcostcategory_key == "undefined" ? -1 : budgetcostcategory_key;
var v_costtypegroup = typeof costtypegroup_key == "undefined" ? -1 : costtypegroup_key;
@@ -143,6 +143,7 @@ function change_groep()
}
function change_soort()
{
var bdiscipline_key = typeof budgetdiscipline_key == "undefined" ? -1 : budgetdiscipline_key;
var bproject_key = typeof budgetproject_key == "undefined" ? -1 : budgetproject_key;
var kplaats_key = -1;
var btw_perc = 0;

View File

@@ -58,6 +58,9 @@ scaffolding(this_model,
},
"modal": true
},
"filter": {
"nolimit": true
},
"transit": {
"budgetcommon": p_budget_key
}