FCLT#82645 Alleen lezen kenmerken niet tonen in multi-edit kenmerk
svn path=/Website/trunk/; revision=63899
This commit is contained in:
@@ -47,22 +47,31 @@ var transitParam = buildTransitParam(["mld_key", "multi", "urole"]);
|
||||
function allStdmKenmerk(stdm_key)
|
||||
{
|
||||
var flexkm = getFlexKenmerkBlockSql( {stdm_arr: [stdm_key], mld_key: -1} );
|
||||
var srtkenmerk_list = [];
|
||||
var kenmerk_list = [];
|
||||
var lvlkenmerk_list = [];
|
||||
var oRs = Oracle.Execute(flexkm.sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
srtkenmerk_list.push(oRs("srtkenmerk_key").Value);
|
||||
kenmerk_list.push(oRs("kenmerk_key").Value);
|
||||
lvlkenmerk_list.push( { km_key: oRs("kenmerk_key").Value
|
||||
, srt_key: oRs("srtkenmerk_key").Value
|
||||
, km_name: oRs("kenmerk_omschrijving").Value
|
||||
} );
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
return { srt_key: stdm_key
|
||||
, srtkenmerk_list: srtkenmerk_list
|
||||
, kenmerk_list: kenmerk_list
|
||||
, lvlkenmerk_list: lvlkenmerk_list
|
||||
};
|
||||
}
|
||||
|
||||
function getCommonPropertiesList(obj, list, elm)
|
||||
{
|
||||
var elm_list = [];
|
||||
for (var i=0; i<obj[list].length; i++)
|
||||
{
|
||||
elm_list.push(obj[list][i][elm]);
|
||||
}
|
||||
return elm_list;
|
||||
}
|
||||
|
||||
// Van elke standaardmelding die bij de geselecteerde meldingen hoort de kenmerken ophalen.
|
||||
var ingesloten_stdm = [];
|
||||
@@ -136,7 +145,7 @@ ingesloten_stdm = getObjectsCommonProperties(ingesloten_stdm);
|
||||
var buttons = [];
|
||||
MODAL_BLOCK_START("multikenmerk", L("lcl_multiedit_kenmerk_common"), { icon: "fa-tag"});
|
||||
|
||||
if (ingesloten_stdm[0].kenmerk_list.length == 0)
|
||||
if (ingesloten_stdm[0].lvlkenmerk_list.length == 0)
|
||||
{
|
||||
ROFIELD("fldoms", "", L("lcl_multiedit_kenmerk_warning"));
|
||||
|
||||
@@ -146,7 +155,7 @@ ingesloten_stdm = getObjectsCommonProperties(ingesloten_stdm);
|
||||
buttons.push({title: L("lcl_submit"), icon: "fa-fclt-save", action: "mld_submit()", singlepress: true, id: "btn_kenmerk_submit", importance: 1});
|
||||
var flexParams = { stdm_arr: [ingesloten_stdm[0].srt_key]
|
||||
, mld_key: -1
|
||||
, kenmerk_keys: ingesloten_stdm[0].kenmerk_list
|
||||
, kenmerk_keys: getCommonPropertiesList(ingesloten_stdm[0], "lvlkenmerk_list", "km_key")
|
||||
, multiEdit: true
|
||||
};
|
||||
generateFlexKenmerkBlock (flexParams);
|
||||
|
||||
@@ -58,7 +58,8 @@ if (ingesloten.length > 0)
|
||||
// In _saveFlexKenmerken() zijn de kenmerk keys nodig die bij de betreffende (std)melding horen.
|
||||
// De functie flexkenmerken2jsondata() leest echter de referentie kenmerken. Met onderstaande query
|
||||
// worden de kenmerken bepaald die horen bij de (std)melding.
|
||||
var sql = "SELECT rk.mld_kenmerk_key ref_kenmerk_key"
|
||||
var sql = "SELECT COALESCE(rk.mld_kenmerk_omschrijving, s.mld_srtkenmerk_omschrijving) ref_naam"
|
||||
+ " , rk.mld_kenmerk_key ref_kenmerk_key"
|
||||
+ " , k.mld_srtkenmerk_key"
|
||||
+ " , k.mld_kenmerk_key"
|
||||
+ " , k.mld_stdmelding_key"
|
||||
@@ -74,6 +75,7 @@ if (ingesloten.length > 0)
|
||||
+ " , mld_kenmerkmelding w"
|
||||
+ " , mld_kenmerk rk"
|
||||
+ " WHERE k.mld_srtkenmerk_key = s.mld_srtkenmerk_key"
|
||||
+ " AND COALESCE(k.mld_kenmerk_omschrijving, s.mld_srtkenmerk_omschrijving) = COALESCE(rk.mld_kenmerk_omschrijving, s.mld_srtkenmerk_omschrijving)"
|
||||
+ " AND k.mld_kenmerk_verwijder IS NULL"
|
||||
+ " AND s.mld_srtkenmerk_verwijder IS NULL"
|
||||
+ " AND m.mld_stdmelding_key = t.mld_stdmelding_key"
|
||||
|
||||
@@ -3980,21 +3980,21 @@ function getObjectsCommonProperties(disc_arr)
|
||||
{
|
||||
var v_ref = disc_arr[0];
|
||||
var v_std = disc_arr[m];
|
||||
for (r=v_ref.srtkenmerk_list.length-1; r>=0; r--) // Ja, klopt: reverse loop. Elementen uit array moet je achteraan verwijderen ivm index.
|
||||
for (r=v_ref.lvlkenmerk_list.length-1; r>=0; r--) // Ja, klopt: reverse loop. Elementen uit array moet je achteraan verwijderen ivm index.
|
||||
{
|
||||
var v_refknm = v_ref.lvlkenmerk_list[r];
|
||||
var found = false;
|
||||
for (var k=0; k<v_std.srtkenmerk_list.length; k++)
|
||||
for (var k=0; k<v_std.lvlkenmerk_list.length; k++)
|
||||
{
|
||||
var v_knm = v_std.srtkenmerk_list[k];
|
||||
if (v_knm == v_ref.srtkenmerk_list[r])
|
||||
var v_stdknm = v_std.lvlkenmerk_list[k];
|
||||
if (v_stdknm.srt_key == v_refknm.srt_key && v_stdknm.km_name == v_refknm.km_name)
|
||||
{
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
v_ref.srtkenmerk_list.splice(r,1);
|
||||
v_ref.kenmerk_list.splice(r,1);
|
||||
v_ref.lvlkenmerk_list.splice(r,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user