Skip to content
Snippets Groups Projects
Commit e3a770b3 authored by S.Listl's avatar S.Listl Committed by Sebastian Listl
Browse files

1054665 AttributeRelation correct uids

(cherry picked from commit 7af9d26f)
parent 29486765
No related branches found
No related tags found
No related merge requests found
......@@ -341,7 +341,6 @@
</entityProvider>
<entityField>
<name>AB_ATTRIBUTERELATIONID</name>
<valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js</valueProcess>
</entityField>
</entityFields>
<recordContainers>
......
import("system.util");
import("system.neon");
import("system.vars");
import("system.result");
if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
result.string(util.getNewUUID());
\ No newline at end of file
......@@ -6,7 +6,7 @@ import("system.util");
if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
{
if (vars.getString("$param.ShowEmpty_param") == "true")
result.string(JSON.stringify([vars.get("$field.AB_ATTRIBUTERELATIONID"), vars.get("$field.AB_ATTRIBUTE_ID")]));
result.string(JSON.stringify([util.getNewUUID(), vars.get("$field.AB_ATTRIBUTE_ID")]));
else
result.string(vars.get("$field.AB_ATTRIBUTERELATIONID"));
result.string(util.getNewUUID());
}
\ No newline at end of file
......@@ -8,8 +8,10 @@ import("Attribute_lib");
import("Sql_lib");
var idvalues = vars.exists("$local.idvalues") ? vars.get("$local.idvalues") : null;
var getTree = !idvalues && vars.getString("$param.GetTree_param") == "true";
var loadFullAttributeName = vars.getString("$param.DisplaySimpleName_param") != "true";
var getTree = vars.getString("$param.GetTree_param") == "true";
var loadFullAttributeName = !getTree && vars.getString("$param.DisplaySimpleName_param") != "true";
if (idvalues)
getTree = false;
var typeWhitelist, typeBlacklist;
if (vars.getString("$param.GetTheme_param") == "true")
......@@ -91,21 +93,22 @@ var attributeQueryMaker = {
{
var attributeQuery = newSelect(this.defaultQueryFields.concat(this.valueQueryFields))
.from("AB_ATTRIBUTE")
.orderBy("AB_ATTRIBUTE.SORTING asc");
.orderBy("AB_ATTRIBUTE.SORTING asc")
.where();
if (pIdValues)
attributeQuery.where(this.getConditionForIdValues(pIdValues, pLoadEmptyAttributes));
else if (pObjectRowId)
attributeQuery.and(this.getConditionForIdValues(pIdValues, pLoadEmptyAttributes));
if (pObjectRowId)
{
let condition = this.getConditionForLinkedObject(pObjectType, pLoadEmptyAttributes, pAttributeIds, pTypeBlacklist, pTypeWhitelist);
if (condition === null)
return null;
attributeQuery.where(condition);
attributeQuery.and(condition);
}
var attributeRelationCond = newWhere("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID"); //condition for the joined values (for AttributeRelation)
if (!pIdValues && pObjectRowId)
if (pObjectRowId)
{
attributeRelationCond.and("AB_ATTRIBUTERELATION.OBJECT_ROWID", pObjectRowId);
attributeRelationCond.andIfSet("AB_ATTRIBUTERELATION.OBJECT_TYPE", pObjectType);
......@@ -164,7 +167,7 @@ attributeRelations = attributeRelations.map(function (row)
var [attrRelId, attrId, attrParentId, attrType, attrName, dropDownDef, comboViewVal, dateNew, userNew, dateEdit, userEdit, dropDownFilter] = row;
attrName = translate.text(attrName);
attrType = attrType.trim();
if (!getTree && loadFullAttributeName && attrParentId)
if (loadFullAttributeName && attrParentId)
{
let parentName = AttributeUtil.getFullAttributeName(attrParentId);
attrName = (parentName ? parentName + " / " : "") + attrName;
......@@ -182,7 +185,7 @@ attributeRelations = attributeRelations.map(function (row)
//in case there is no attributeRelation, a random id is used
return [
loadEmptyAttributes ? JSON.stringify([attrRelId || util.getNewUUID(), attrId]) : attrRelId,
attrRelId,
attrRelId || " ", //mark rows where no actual attributeRelation exists with a space
attrParentId,
value,
viewValue,
......
......@@ -4,6 +4,9 @@ import("Sql_lib");
var rowData = vars.get("$local.rowdata");
if (rowData["AB_ATTRIBUTE_ID.value"])
{
newWhere("AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID", vars.get("$local.uid"))
var attributeRelationId = vars.getString("$param.ShowEmpty_param") == "true"
? JSON.parse(vars.get("$local.uid"))[0]
: vars.get("$local.uid");
newWhereIfSet("AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID", attributeRelationId)
.deleteData();
}
\ No newline at end of file
......@@ -15,9 +15,11 @@ var columns = [
];
var rowdata = vars.get("$local.rowdata");
var uid = rowdata["UID.value"];
var attributeRelationId = vars.getString("$param.ShowEmpty_param") == "true"
? JSON.parse(vars.get("$local.uid"))[0]
: vars.get("$local.uid");
var values = [
rowdata["AB_ATTRIBUTERELATIONID.value"],
attributeRelationId,
rowdata["AB_ATTRIBUTE_ID.value"],
vars.get("$param.ObjectRowId_param"),
vars.get("$param.ObjectType_param"),
......
......@@ -8,11 +8,12 @@ import("Attribute_lib");
var rowdata = vars.get("$local.rowdata");
var attributeId = rowdata["AB_ATTRIBUTE_ID.value"]
var type = AttributeUtil.getAttributeType(attributeId);
var attributeRelationId = vars.getString("$param.ShowEmpty_param") == "true"
var showEmpty = vars.getString("$param.ShowEmpty_param") == "true";
var attributeRelationId = showEmpty
? JSON.parse(vars.get("$local.uid"))[0]
: vars.get("$local.uid");
if (vars.getString("$param.ShowEmpty_param") == "true" && !rowdata["AB_ATTRIBUTERELATIONID.value"])
if (showEmpty && !rowdata["AB_ATTRIBUTERELATIONID.value"].trim())
{
var columns = [
"AB_ATTRIBUTERELATIONID",
......@@ -32,15 +33,17 @@ if (vars.getString("$param.ShowEmpty_param") == "true" && !rowdata["AB_ATTRIBUTE
vars.get("$sys.user")
];
var valueField = AttributeTypeUtil.getDatabaseField(type);
var value;
if (valueField)
{
columns.push(valueField);
if (AttributeTypeUtil.useLookup(type))
values.push(rowdata["VALUE_LOOKUP.value"])
else
values.push(rowdata["VALUE.value"]);
value = AttributeTypeUtil.useLookup(type)
? rowdata["VALUE_LOOKUP.value"]
: rowdata["VALUE.value"];
values.push(value);
}
db.insertData("AB_ATTRIBUTERELATION", columns, null, values);
if (value)
db.insertData("AB_ATTRIBUTERELATION", columns, null, values);
}
else
{
......@@ -56,12 +59,13 @@ else
fieldValues[row] = ""; //set every field but the correct value field to null
});
fieldValues[AttributeTypeUtil.getDatabaseField(type)] = AttributeTypeUtil.useLookup(type)
var attributeValue = AttributeTypeUtil.useLookup(type)
? rowdata["VALUE_LOOKUP.value"]
: rowdata["VALUE.value"];
fieldValues[AttributeTypeUtil.getDatabaseField(type)] = attributeValue;
var attributeCondition = newWhere("AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID", attributeRelationId);
newWhere("AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID", attributeRelationId)
.updateFields(fieldValues);
attributeCondition.updateFields(fieldValues);
}
if (vars.get("$param.ObjectType_param") == "Person")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment