diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js index 169c88c898085262157c370ee06c9d55a132086c..885fb8ab82bca701fc0b530d615b0e389246cad6 100644 --- a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js +++ b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js @@ -9,45 +9,35 @@ var currentId = vars.getString("$field.SALESPROJECTID"); if (currentId) { - var toDelete = [ - "SALESPROJECT_MILESTONE", - "SALESPROJECT_TOUCHPOINT", - "CLASSIFICATIONSTORAGE" + var directRefTables = [ + "SALESPROJECT_MILESTONE", + "SALESPROJECT_TOUCHPOINT" + ]; + var objectTypeRefTables = [ + "CLASSIFICATION", + "CLASSIFICATIONSTORAGE", + "COMPETITION", + "OBJECTMEMBER", + "FORECAST", + "CHECKLISTENTRYVALUE" ]; - toDelete = toDelete.map(function(pTable) + var deleteStatements = []; + directRefTables.forEach(function(pTable) { - var cond; - if(pTable != "CLASSIFICATIONSTORAGE") - cond = newWhere(pTable + ".SALESPROJECT_ID", currentId) - else - cond = newWhere(pTable + ".OBJECT_ROWID", currentId) - - return [pTable, cond.build()]; + var cond = newWhere(pTable + ".SALESPROJECT_ID", currentId); + deleteStatements.push([pTable, cond.build()]); }); - - - - var modulesToDelete = [ - "CLASSIFICATION", - "COMPETITION", - "OBJECTMEMBER", - "FORECAST" - ]; - - toDelete = toDelete.concat(modulesToDelete.map(function(pTableComp) + objectTypeRefTables.forEach(function(pTable) { - var cond = newWhere(pTableComp + ".OBJECT_TYPE", ContextUtils.getCurrentContextId()) - .and(pTableComp + ".OBJECT_ROWID", currentId) - - return [pTableComp, cond.build()]; - })); - - - db.deletes(toDelete); + var cond = newWhere(pTable + ".OBJECT_TYPE", ContextUtils.getCurrentContextId()) + .and(pTable + ".OBJECT_ROWID", currentId) + deleteStatements.push([pTable, cond.build()]); + }); + db.deletes(deleteStatements); } new AttributeRelationQuery(currentId, null, ContextUtils.getCurrentContextId()) .deleteAllAttributes(); -WorkflowSignalSender.deleted(); \ No newline at end of file +WorkflowSignalSender.deleted();