FCLT#55657 Api2: niet meegeven Suggest-flexkenmerken worden leeggemaakt

svn path=/Website/trunk/; revision=41481
This commit is contained in:
Alex Tiehuis
2019-03-11 16:18:49 +00:00
parent b0182956f6
commit cdbb2857b1

View File

@@ -175,7 +175,6 @@ function model_custom_fields(formodel, flexModel, flexParams)
{ // Let op: parameter the_key is de kenmerk_key, niet een een kenmerkwaarde_key
// Merk op dat flexProps ook wel het type oplevert. Ik wil echter migreren naar modellen
var kenmerkdata = api2.GET(flexModel, jsondata.propertyid);
// Als je op de volgende regel een 'Object expected' krijgt is er
// gesubmit met een kenmerk_key welke niet bestaat
// Ik weet nog niet of daar een 'Unautorized', 'Bad request' of 'Stil negeren' van toepassing is
@@ -220,42 +219,15 @@ function model_custom_fields(formodel, flexModel, flexParams)
}
}
}
if (typ != "M" && parent_key > 0)
{
if ((typ == "S" || typ == "R") && jsondata.value != "")
{ // convert reference and select text-value to key value
var ksql = "SELECT k.mld_kenmerk_key, sk.mld_srtkenmerk_kenmerktype, sk.mld_srtkenmerk_lengte, sk.fac_kenmerkdomein_key "
+ " FROM mld_kenmerk k"
+ " , mld_srtkenmerk sk"
+ " , mld_stdmelding s"
+ " , mld_discipline d"
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key "
+ " AND k.mld_kenmerk_verwijder IS NULL "
+ " AND sk.mld_srtkenmerk_upper = UPPER(" + safe.quoted_sql(kenmerkdata.issuepropertytype.name) + ")"
+ " AND s.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND s.mld_stdmelding_key = " + (parseInt(kenmerkdata.mld_issuetype.id, 10) || -1)
+ " AND ((k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')"
+ " OR (k.mld_stdmelding_key = s.mld_ins_discipline_key AND k.mld_kenmerk_niveau = 'D')"
+ " OR (k.mld_stdmelding_key = d.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T'))";
var koRs = Oracle.Execute(ksql);
if (!koRs.eof)
{
jsondata.value = getKenmerkKeyByRef(koRs("fac_kenmerkdomein_key").Value, "value", jsondata.value) || jsondata.value;
}
koRs.Close();
}
var sql = "BEGIN flx.setflex({0}".format(this.module == "MLD" && flexParams.pNiveau == "O" ? "'OPD'" : safe.quoted_sql(this.module))
+ " , {0}".format(the_key) // == jsondata.propertyid
+ " , {0}".format(parent_key)
+ " , {0}".format(this.module == "MLD" ? "NULL" : safe.quoted_sql(flexParams.pNiveau))
+ " , {0});".format(safe.quoted_sql(jsondata.value))
+ "END;"
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
api2.error(400, err.friendlyMsg);
}
var sql = "BEGIN flx.setflex({0}".format(this.module == "MLD" && flexParams.pNiveau == "O" ? "'OPD'" : safe.quoted_sql(this.module))
+ " , {0}".format(the_key) // == jsondata.propertyid
+ " , {0}".format(parent_key)
+ " , {0}".format(this.module == "MLD" ? "NULL" : safe.quoted_sql(flexParams.pNiveau))
+ " , {0});".format(safe.quoted_sql(jsondata.value))
+ "END;"
var err = Oracle.Execute(sql, true);
if (err.friendlyMsg)
api2.error(400, err.friendlyMsg);
return tmpfolder;
}