Skip to content
Snippets Groups Projects
Commit 67c65f0c authored by Johannes Hörmann's avatar Johannes Hörmann
Browse files

Bugfixes Product tree

parent 0a66a277
No related branches found
No related tags found
No related merge requests found
......@@ -128,6 +128,7 @@
<jDitoRecordContainer>
<name>jdito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isRequireContainerFiltering v="true" />
<contentProcess>%aditoprj%/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/Prod2prod_entity/recordcontainers/jdito/onInsert.js</onInsert>
<onUpdate>%aditoprj%/entity/Prod2prod_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
......
......@@ -15,6 +15,4 @@ if (vars.exists("$local.rows") && vars.get("$local.rows"))
neon.openContext("Prod2prod", "Prod2ProdEdit_view", null, neon.OPERATINGSTATE_NEW, params);
}
}
\ No newline at end of file
......@@ -4,4 +4,4 @@ import("system.result");
import("system.neon");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
result.string(util.getNewUUID());
\ No newline at end of file
result.object([util.getNewUUID(), vars.get("$field.PROD2PRODID")]); // 1. is some random uid for uniqueness 2. is the prod2ProdID
\ No newline at end of file
import("Sql_lib");
import("system.logging");
import("system.neon");
import("system.result");
import("system.vars");
......@@ -81,7 +83,7 @@ function buildGraph (elementID, parentElementID, mappingStructure, prod2prodIdMa
var virtualProd2ProdId = util.getNewUUID();
// Override actual PROD2PROD_ID with new ID.
elementData[0] = virtualProd2ProdId;
elementData[0] = JSON.stringify([virtualProd2ProdId, elementData[0]]);
// Override parent id to match overriden prod2prodId of parent
if (parentElementID === null || parentElementID === undefined)
......@@ -119,25 +121,47 @@ function buildGraph (elementID, parentElementID, mappingStructure, prod2prodIdMa
* So *IF* you need that check for the state, you should check if this error is thrown
* + add a comment why the check is needed here instead of this current comment
*/
var prodid = vars.exists("$param.ProductId_param")
&& vars.get("$param.ProductId_param") != null ? vars.get("$param.ProductId_param") : "";
if(prodid != "")
if (vars.get("$local.idvalues") && vars.get("$local.idvalues").length > 0)
{
var prod2prodId = JSON.parse(vars.get("$local.idvalues")[0])[1];
if (prod2prodId)
{
logging.log(JSON.stringify([vars.get("$local.idvalues")], null, "\t"))
var prodData = newSelect("PROD2PRODID, SOURCE_ID, DEST_ID, QUANTITY, PRODUCTCODE, PRODUCTID, PROD2PRODID, OPTIONAL, TAKEPRICE, PRODUCTNAME")
.from("PROD2PROD")
.join("PRODUCT", "PROD2PROD.SOURCE_ID = PRODUCTID")
.where("PROD2PROD.PROD2PRODID", prod2prodId)
.arrayRow();
prodData[0] = vars.get("$local.idvalues")[0];
result.object([prodData]);
}
}
else
{
// First 3 columns are crucial, the rest is optional.
var data = db.table("select PROD2PRODID, SOURCE_ID, DEST_ID, QUANTITY, PRODUCTCODE, PRODUCTID, PROD2PRODID, OPTIONAL, TAKEPRICE, PRODUCTNAME "
+ "from PROD2PROD join PRODUCT on PROD2PROD.SOURCE_ID = PRODUCTID "
+ "order by PRODUCTCODE");
var prodid = vars.exists("$param.ProductId_param")
&& vars.get("$param.ProductId_param") != null ? vars.get("$param.ProductId_param") : "";
if(prodid != "")
{
// First 3 columns are crucial, the rest is optional.
var data = db.table("select PROD2PRODID, SOURCE_ID, DEST_ID, QUANTITY, PRODUCTCODE, PRODUCTID, PROD2PRODID, OPTIONAL, TAKEPRICE, PRODUCTNAME "
+ "from PROD2PROD join PRODUCT on PROD2PROD.SOURCE_ID = PRODUCTID "
+ "order by PRODUCTCODE");
var prod2prodIdMapping = buildProd2ProdIDMapping(data);
var childrenMapping = buildChildrenMapping(data);
var rootElements = calculateRootElements(prodid, data);
var prod2prodIdMapping = buildProd2ProdIDMapping(data);
var childrenMapping = buildChildrenMapping(data);
var rootElements = calculateRootElements(prodid, data);
var allData = []
var allData = []
rootElements.forEach(function(rg) {
var graphData = buildGraph(rg, null, childrenMapping, prod2prodIdMapping)
graphData.forEach(function (gd) { allData.push(gd); })
})
rootElements.forEach(function(rg) {
var graphData = buildGraph(rg, null, childrenMapping, prod2prodIdMapping)
graphData.forEach(function (gd) { allData.push(gd); })
})
result.object(allData);
result.object(allData);
}
}
\ No newline at end of file
......@@ -7,4 +7,5 @@ newWhereIfSet("PROD2PROD.PROD2PRODID", "$field.PROD2PRODID")
.deleteData(true, "PROD2PROD");
// Refresh otherwise the children of the deleted node would be moved to the root.
neon.refresh();
\ No newline at end of file
//TODO: refresh throwss error
//neon.refresh();
\ No newline at end of file
import("system.neon");
import("system.datetime");
import("system.vars");
import("system.db");
......@@ -16,4 +17,5 @@ var vals = [ vars.get("$field.PROD2PRODID")
, vars.get("$field.OPTIONAL")
, vars.get("$field.TAKEPRICE") ];
db.insertData("PROD2PROD", cols, null, vals);
\ No newline at end of file
db.insertData("PROD2PROD", cols, null, vals);
neon.refreshAll()
\ No newline at end of file
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