diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index e5d9fb31d428db53eb1d1d1ae4133057ec876525..85d9ea59971bd0383629b76354284efa73603500 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -3171,7 +3171,7 @@ <name>TYPE</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="12" /> + <columnType v="4" /> <size v="10" /> <scale v="0" /> <notNull v="false" /> diff --git a/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod b/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod index 9befac9617426bb9818265e19b258bda0daf9b73..5d159a99080bce773cc60e49f6b0115570ca76e9 100644 --- a/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod +++ b/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod @@ -43,6 +43,8 @@ <name>TYPE</name> <tableName>SALESPROJECT_CYCLE</tableName> <columnName>TYPE</columnName> + <contentType>NUMBER</contentType> + <valueProcess>%aditoprj%/entity/SalesprojectCycle_entity/entityfields/type/valueProcess.js</valueProcess> </entityField> <entityField> <name>VALUE</name> diff --git a/entity/SalesprojectCycle_entity/entityfields/type/valueProcess.js b/entity/SalesprojectCycle_entity/entityfields/type/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js b/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js index 5f5dd7b9b259a350afca9a07870eea8a8a7a77af..b5cc5a9e296867680409249faca03c472c6cf529 100644 --- a/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js +++ b/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js @@ -1,21 +1,22 @@ import("system.result"); import("system.vars"); +import("system.logging"); import("Keyword_lib"); var kwdUtils, items, keyword; kwdUtils = new KeywordUtils(); - -switch (vars.get("$field.TYPE")) +logging.log(vars.get("$field.TYPE").toSource()) +switch (parseInt(vars.get("$field.TYPE"))) { - case "Phase": + case 1: keyword = "SALESPROJECT.PHASE"; break; - case "State": + case 2: keyword = "SALESPROJECT.STATE"; break; } - +logging.log(keyword) if (keyword) { items = kwdUtils.getStandardArray(keyword); } diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 91fa179c02f31386c04e75c8c5fbb2d44f319364..e24e99ec2aaa8f0a0cfe9132eb401348a23ab6b5 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -8,6 +8,7 @@ <iconId>VAADIN:FILTER</iconId> <alias>Data_alias</alias> <onDBInsert>%aditoprj%/entity/Salesproject_entity/onDBInsert.js</onDBInsert> + <onDBUpdate>%aditoprj%/entity/Salesproject_entity/onDBUpdate.js</onDBUpdate> <entityFields> <entityIncomingField> <name>#INCOMING</name> diff --git a/entity/Salesproject_entity/onDBInsert.js b/entity/Salesproject_entity/onDBInsert.js index 677dab41bf3237f5954d0e635b70896cbd8f3649..24f917cdcd8ce993c006fb9db673be7d7216283b 100644 --- a/entity/Salesproject_entity/onDBInsert.js +++ b/entity/Salesproject_entity/onDBInsert.js @@ -1,5 +1,5 @@ import("system.vars"); import("Salesproject_lib"); -Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), Salesproject_TYPES.PHASE, vars.get("$field.PHASE")); -Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), Salesproject_TYPES.STATE, vars.get("$field.STATE")); \ No newline at end of file +Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE")); +Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE")); \ No newline at end of file diff --git a/entity/Salesproject_entity/onDBUpdate.js b/entity/Salesproject_entity/onDBUpdate.js new file mode 100644 index 0000000000000000000000000000000000000000..14b1627655d951e921dd41c9dbd93aac526a8e91 --- /dev/null +++ b/entity/Salesproject_entity/onDBUpdate.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.logging"); +import("Salesproject_lib"); + +logging.log(vars.get("$local.changed").toSource()) \ No newline at end of file diff --git a/others/db_changes/data/example_salesproject/SALESPROJECT_gfk.xml b/others/db_changes/data/example_salesproject/SALESPROJECT_gfk.xml index f806e073779854b827ca680df9693772357dbf57..db97bcf7d48a1d21d17a69cd578520faf8670d04 100644 --- a/others/db_changes/data/example_salesproject/SALESPROJECT_gfk.xml +++ b/others/db_changes/data/example_salesproject/SALESPROJECT_gfk.xml @@ -35,7 +35,7 @@ <column name="USER_NEW" value="admin"/> <column name="DATE_NEW" valueDate="2018-06-13T09:03:43"/> <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/> - <column name="TYPE" value="Phase"/> + <column name="TYPE" valueNumeric="1"/> <column name="VALUE" valueNumeric="1"/> <column name="DATE_START" valueDate="2018-06-13T09:03:43"/> <column name="DATE_END" valueDate="2018-06-13T09:03:43"/> diff --git a/others/db_changes/struct/create_salesproject_cycle.xml b/others/db_changes/struct/create_salesproject_cycle.xml index 49d8701706d3ff7c875e3f7b0910f930eab799d1..73db00ee2500b9baaf9adeb34284235b303610d6 100644 --- a/others/db_changes/struct/create_salesproject_cycle.xml +++ b/others/db_changes/struct/create_salesproject_cycle.xml @@ -9,7 +9,7 @@ <constraints nullable="false"/> </column> - <column name="TYPE" type="VARCHAR(10)"/> + <column name="TYPE" type="INTEGER"/> <column name="VALUE" type="INTEGER"/> <column name="DATE_START" type="TIMESTAMP"/> diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js index fd778f65a004d4005f42345df26352c60d17ebfd..9faa3d7467ee1267071c4dcab5aa23e7fc3c629f 100644 --- a/process/Keyword_lib/process.js +++ b/process/Keyword_lib/process.js @@ -44,6 +44,7 @@ function KeywordUtils(){ * @param {String} keywordType specifies the type of the keyword and therefore the list elements; e.g. "COUNTRY" * @return {Object} object with the following methods: * <br/>- toArray + * <br/>- get * <br/>- getPropForKey * <br/>- getPropsForKey * <br/>- filter @@ -262,6 +263,12 @@ function KeywordUtils(){ ,createKeywordEntry("6", translate.text("Sales ID")) ]); break; + case "SALESPROJECT.CYCLE.TYPE": + valueContainer = createKeywordEntriesContainer([ + createKeywordEntry("1", translate.text("Phase"), null, {keyword: "SALESPROJECT.PHASE"}) + ,createKeywordEntry("2", translate.text("State"), null, {category: "SALESPROJECT.STATE"}) + ]); + break; case "OFFER.PROBABILITY": valueContainer = createKeywordEntriesContainer([ createKeywordEntry("1", translate.text("0 %"), null, {percentValue: 0}) @@ -338,6 +345,10 @@ function KeywordUtils(){ } return res; }; + + _existsFn = function(key){ + return (valueContainer[key] != undefined); + }; return { /** @@ -355,6 +366,7 @@ function KeywordUtils(){ } return this; } + ,exists: _existsFn }; }; diff --git a/process/Salesproject_lib/process.js b/process/Salesproject_lib/process.js index e3f10b6a49e5053b051b02a90dadc40c94dcf995..506500b8f9c21d31fa5abf39a7e1f01ddccf7242 100644 --- a/process/Salesproject_lib/process.js +++ b/process/Salesproject_lib/process.js @@ -2,6 +2,7 @@ import("system.translate"); import("system.db"); import("system.eMath"); import("Util_lib"); +import("Keyword_lib"); /** * Types for the milestone. @@ -44,13 +45,17 @@ Salesproject = { * Insert a new milestone. * * @param {String} ID of the salesproject - * @param {TYPES} type type can either be Salesproject_TYPES.PHASE or Salesproject_TYPES.STATE + * @param {Integer} type can be any value of the keyword SALESPROJECT.CYCLE.TYPE * @param {Integer} value value of the phase or state * * @result {boolean} true if inserted, else false */ insertMilestone: function(salesprojectId, type, value) { - if (type == Salesproject_TYPES.PHASE || type == Salesproject_TYPES.STATE) { + var kwdUtils, items; + + kwdUtils = new KeywordUtils(); + + if (kwdUtils.createKeyword("SALESPROJECT.CYCLE.TYPE").exists(type)) { db.insertData( "SALESPROJECT_CYCLE", ["SALESPROJECT_CYCLEID", "SALESPROJECT_ID", "TYPE", "VALUE", "DATE_START", "USER_NEW", "DATE_NEW"],