From 313ed0883db8e1f8d0da9ae570f60497518d8214 Mon Sep 17 00:00:00 2001 From: Maykel Geerdink Date: Thu, 4 Apr 2019 09:40:49 +0000 Subject: [PATCH] NYBU#55434: Flexkenmerken per artikelregel. svn path=/Website/branches/v2019.1/; revision=41940 --- APPL/API2/model_res_kenmerk.inc | 27 +++++++++++++++++++++------ APPL/MGT/res_kenmerk.asp | 20 +++++--------------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/APPL/API2/model_res_kenmerk.inc b/APPL/API2/model_res_kenmerk.inc index 2a59469e67..56c161c8fc 100644 --- a/APPL/API2/model_res_kenmerk.inc +++ b/APPL/API2/model_res_kenmerk.inc @@ -87,12 +87,12 @@ function model_res_kenmerk(niveau, params) "dbs": "res_artikel_key", "label": L("res_artikel"), "typ": "key", - "hidden_fld": true, "required": true, "foreign": { "tbl": "(SELECT res_artikel_key, res_artikel_omschrijving" + " FROM res_artikel" + " WHERE res_artikel_verwijder IS NULL" + + " AND (res_artikel_vervaldatum IS NULL OR res_artikel_vervaldatum > SYSDATE)" + " ORDER BY UPPER(res_artikel_omschrijving) ASC)", "key": "res_artikel_key", "desc": "res_artikel_omschrijving" @@ -152,29 +152,44 @@ function model_res_kenmerk(niveau, params) ] }; + this.search = { + "autosearch": true, + "filters": ["level", + "bookingpropertytype", + "bookingactivity" + ] + }; + this.edit = { modal: true}; var gparams = { GET: { } }; if (niveau == "D") { // Kenmerk niveau: "D"=Discipline/Catalogus artikel. + // Toevoegen extra kolom voor artikel kenmerken. + // Deze kolom wordt trouwens niet getoond in het include frame onder in het artikel scherm, omdat het joinfield van de include de "articlekey" is. + // De details van het artikel staan dan in de gegevens erboven. De extra kolom met het artikel is dan overtollige informatie. + this.list.columns.splice(4, 0, "articlekey"); this.fields.level.defaultvalue = "D"; delete this.fields.bookingactivity; this.record_title = L("res_article_kenmerk"); this.records_title = L("res_article_kenmerk_m"); - gparams.GET = {wheres: [ "res_kenmerk.res_kenmerk_niveau = " + safe.quoted_sql(niveau) + gparams.GET = {wheres: [ "res_kenmerk.res_kenmerk_niveau = 'D'" , "res_kenmerk.res_kenmerk_verwijder IS NULL" ] - }; + }; } else { // Kenmerk_niveau: "A"=Activiteit. + // Toevoegen extra kolom voor activiteit kenmerken. + this.list.columns.splice(4, 0, "bookingactivity"); this.fields.level.defaultvalue = "A"; + delete this.fields.articlekey; this.record_title = L("res_kenmerk"); this.records_title = L("res_kenmerk_m"); - gparams.GET = {wheres: [ "res_kenmerk.res_kenmerk_niveau = " + safe.quoted_sql(niveau) + gparams.GET = {wheres: [ "res_kenmerk.res_kenmerk_niveau = 'A'" , "res_kenmerk.res_kenmerk_verwijder IS NULL" ] - }; + }; } this.getPropertyType = function (kenmerkdata) @@ -202,7 +217,7 @@ function model_res_kenmerk(niveau, params) } - this.REST_GET = generic_REST_GET(this); + this.REST_GET = generic_REST_GET(this, gparams); this.REST_POST = generic_REST_POST(this); this.REST_PUT = generic_REST_PUT(this); this.REST_DELETE = generic_REST_DELETE(this); diff --git a/APPL/MGT/res_kenmerk.asp b/APPL/MGT/res_kenmerk.asp index 6206c36cb3..0be74a239f 100644 --- a/APPL/MGT/res_kenmerk.asp +++ b/APPL/MGT/res_kenmerk.asp @@ -4,24 +4,14 @@ <% -var this_model = new model_res_kenmerk(); +var niveau = getQParam("niveau", "A"); + +var this_model = new model_res_kenmerk(niveau); scaffolding(this_model, { - "search": { - "autosearch": true, - "filters": [ - "bookingpropertytype", - "bookingactivity" - ] - }, - "list": { - "columns": [ - "id", - "bookingpropertytype", - "sequence", - "bookingactivity" - ] + "transit": { + "niveau": niveau } }); %> \ No newline at end of file