diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_SalesprojectState.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_SalesprojectState.xml index 89f21df74c3819160a9939c1ee5db66dba382a5d..e8705ad413b54602f48a5926cdd39c4d41693664 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_SalesprojectState.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_SalesprojectState.xml @@ -4,7 +4,7 @@ <insert tableName="AB_KEYWORD_ENTRY"> <column name="AB_KEYWORD_ENTRYID" value="115495eb-dff4-436d-8114-b9a7644586bf"/> - <column name="KEYID" value="23d38486-4cce-41ce-a8df-164ad44df706"/> + <column name="KEYID" value="SALPROJSTATPOSTPONED"/> <column name="TITLE" value="Postponed"/> <column name="CONTAINER" value="SalesprojectState"/> <column name="SORTING" valueNumeric="2"/> @@ -34,7 +34,7 @@ <insert tableName="AB_KEYWORD_ENTRY"> <column name="AB_KEYWORD_ENTRYID" value="19997ffa-bfe3-4f6a-82f8-e862acb24655"/> - <column name="KEYID" value="SALPROJSTATLOST"/> + <column name="KEYID" value="SALPROJSTATORDER"/> <column name="TITLE" value="Order"/> <column name="CONTAINER" value="SalesprojectState"/> <column name="SORTING" valueNumeric="5"/> @@ -44,50 +44,12 @@ <insert tableName="AB_KEYWORD_ENTRY"> <column name="AB_KEYWORD_ENTRYID" value="d8e2cc64-cc61-440e-b0fc-3d5b45d75ba0"/> - <column name="KEYID" value="d8a60f60-a4e6-46ee-88ec-bac53e1afedd"/> + <column name="KEYID" value="SALPROJSTATLOST"/> <column name="TITLE" value="Lost"/> <column name="CONTAINER" value="SalesprojectState"/> <column name="SORTING" valueNumeric="6"/> <column name="ISACTIVE" valueNumeric="1"/> <column name="ISESSENTIAL" valueNumeric="0"/> </insert> - <rollback> - <delete tableName="AB_KEYWORD_ENTRY"> - <where>AB_KEYWORD_ENTRYID = ?</where> - <whereParams> - <param value="c6eeab06-cec9-42c3-8f11-468c7e602de4" /> - </whereParams> - </delete> - <delete tableName="AB_KEYWORD_ENTRY"> - <where>AB_KEYWORD_ENTRYID = ?</where> - <whereParams> - <param value="115495eb-dff4-436d-8114-b9a7644586bf" /> - </whereParams> - </delete> - <delete tableName="AB_KEYWORD_ENTRY"> - <where>AB_KEYWORD_ENTRYID = ?</where> - <whereParams> - <param value="9212a797-4470-4170-b4d1-330a5d991625" /> - </whereParams> - </delete> - <delete tableName="AB_KEYWORD_ENTRY"> - <where>AB_KEYWORD_ENTRYID = ?</where> - <whereParams> - <param value="1f857be1-7de0-479f-bac8-59b22d48fe39" /> - </whereParams> - </delete> - <delete tableName="AB_KEYWORD_ENTRY"> - <where>AB_KEYWORD_ENTRYID = ?</where> - <whereParams> - <param value="19997ffa-bfe3-4f6a-82f8-e862acb24655" /> - </whereParams> - </delete> - <delete tableName="AB_KEYWORD_ENTRY"> - <where>AB_KEYWORD_ENTRYID = ?</where> - <whereParams> - <param value="d8e2cc64-cc61-440e-b0fc-3d5b45d75ba0" /> - </whereParams> - </delete> - </rollback> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml b/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml index 931bd328935f7899110b370fb8c0bdcd454f8ea8..2f63980104102d820e5ab1b1caa9f23167dde818 100644 --- a/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml +++ b/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml @@ -10,7 +10,7 @@ <where>STATE_OLD = 1</where> </update> <update tableName="SALESPROJECT"> - <column name="STATE" value="23d38486-4cce-41ce-a8df-164ad44df706"/> + <column name="STATE" value="SALPROJSTATPOSTPONED"/> <where>STATE_OLD = 2</where> </update> <update tableName="SALESPROJECT"> @@ -22,45 +22,13 @@ <where>STATE_OLD = 4</where> </update> <update tableName="SALESPROJECT"> - <column name="STATE" value="SALPROJSTATLOST"/> + <column name="STATE" value="SALPROJSTATORDER"/> <where>STATE_OLD = 5</where> </update> <update tableName="SALESPROJECT"> - <column name="STATE" value="d8a60f60-a4e6-46ee-88ec-bac53e1afedd"/> + <column name="STATE" value="SALPROJSTATLOST"/> <where>STATE_OLD = 6</where> </update> <dropColumn tableName="SALESPROJECT" columnName="STATE_OLD"/> - - <rollback> - <renameColumn newColumnName="STATE_OLD" oldColumnName="STATE" columnDataType="CHAR(36)" tableName="SALESPROJECT"/> - <addColumn tableName="SALESPROJECT"> - <column name="STATE" type="INTEGER"/> - </addColumn> - <update tableName="SALESPROJECT"> - <column name="STATE" valueNumeric="1"/> - <where>STATE_OLD = 'SALPROJSTATOPEN'</where> - </update> - <update tableName="SALESPROJECT"> - <column name="STATE" valueNumeric="2"/> - <where>STATE_OLD = '23d38486-4cce-41ce-a8df-164ad44df706'</where> - </update> - <update tableName="SALESPROJECT"> - <column name="STATE" valueNumeric="3"/> - <where>STATE_OLD = 'SALPROJSTATABORT'</where> - </update> - <update tableName="SALESPROJECT"> - <column name="STATE" valueNumeric="4"/> - <where>STATE_OLD = 'SALPROJSTATPARTIAL'</where> - </update> - <update tableName="SALESPROJECT"> - <column name="STATE" valueNumeric="5"/> - <where>STATE_OLD = 'SALPROJSTATLOST'</where> - </update> - <update tableName="SALESPROJECT"> - <column name="STATE" valueNumeric="6"/> - <where>STATE_OLD = 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd'</where> - </update> - <dropColumn tableName="SALESPROJECT" columnName="STATE_OLD"/> - </rollback> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js index 086a5d36d49678a0e352341b792f65b46d756025..e04fe64bb9f9475704a97e61647eef1cda571d94 100644 --- a/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js +++ b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js @@ -1,6 +1,7 @@ import("system.result"); import("system.vars"); +import("KeywordRegistry_basic"); // IDs: SalesprojectState Order and Lost -var res = vars.get("$field.STATE") && (vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' || vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474'); +var res = vars.get("$field.STATE") && (vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$order() || vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$lost()); result.string(res); \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/reasons/stateProcess.js b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js index 5e5536334c4ff87b845fff9f55a37d1e1dc06281..666b25be556fdf618dc8fc730751b30d5b1ce085 100644 --- a/entity/Salesproject_entity/entityfields/reasons/stateProcess.js +++ b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js @@ -1,8 +1,9 @@ import("system.result"); import("system.vars"); +import("KeywordRegistry_basic"); // IDs: SalesprojectState Order and Lost -if(vars.get("$field.STATE") && (vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' || vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474')) +if(vars.get("$field.STATE") && (vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$order() || vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$lost())) result.string("EDITABLE"); else result.string("INVISIBLE"); diff --git a/entity/Salesproject_entity/entityfields/state/onValueChange.js b/entity/Salesproject_entity/entityfields/state/onValueChange.js index fd8dae9d669334bc145bbc55b693b70a55e63726..515f51620ca73b2e70eb7da43ae31c18825586a1 100644 --- a/entity/Salesproject_entity/entityfields/state/onValueChange.js +++ b/entity/Salesproject_entity/entityfields/state/onValueChange.js @@ -12,7 +12,7 @@ if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW) var state = vars.get("$field.STATE"); // Postponed - if (state == '23d38486-4cce-41ce-a8df-164ad44df706') + if (state == $KeywordRegistry.salesprojectState$postponed()) { var stateName = KeywordUtils.getViewValue($KeywordRegistry.salesprojectState(), state); var clearForecast = question.askYesNo(translate.withArguments("Clear forecast and set state to '%0'?", [stateName]), translate.withArguments("Would you really like to clear the forecast and set the state to '%0'?" + "\n" + translate.text("This cannot be undone!"), [stateName]), false); diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js index 67dfadce51729efc98e31f67a5a9892eb264710e..775a8af9d388163a8d1208e001d41893eaa4447d 100644 --- a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js @@ -30,7 +30,7 @@ vars.get("$local.changed").forEach(function(fieldName) { // set COMPETITION / OFFER to Lost // Lost - if (state == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd') + if (state == $KeywordRegistry.salesprojectState$lost()) { // set all offers of the salesproject to lost db.updateData("OFFER", ["STATUS"], null, ["a5682630-01ae-4769-8f03-47dc1db44da4"], SqlCondition.equals("OFFER.OBJECT_ROWID", vars.getString("$field.SALESPROJECTID"), "1=2")); @@ -38,7 +38,7 @@ vars.get("$local.changed").forEach(function(fieldName) { clearReason = false; } // Order - else if (state == '130bb53a-a97e-455e-8f34-8d445e985474') + else if (state == $KeywordRegistry.salesprojectState$order()) { // set all competitions of the salesproject to lost db.updateData("COMPETITION", ["STATUS"], null, ["ff73172c-8517-4b6e-98cb-43aebacd9af1"], SqlCondition.equals("COMPETITION.OBJECT_ROWID", vars.getString("$field.SALESPROJECTID"), "1=2")); @@ -46,7 +46,7 @@ vars.get("$local.changed").forEach(function(fieldName) { clearReason = false; } // Postponed - else if (state == '23d38486-4cce-41ce-a8df-164ad44df706') + else if (state == $KeywordRegistry.salesprojectState$postponed()) { // do not notify as the user just got a question, if he really would like to clear the forecast needToUpdateForecast = false; diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js index af182d86ab01f75543a9cb21ba7a69e81f56050d..04e5cd8b2c71d90a7ef81d3f923f792e3a588995 100644 --- a/process/Context_lib/process.js +++ b/process/Context_lib/process.js @@ -396,7 +396,7 @@ ContextUtils.getSelectMap = function() .setContactIdField("CONTACT_ID") .setCreationDateField("STARTDATE") .setStateField("STATE") - .setActiveStates(["483bcaeb-1e5b-4772-b54e-7d7d8aa65712", "23d38486-4cce-41ce-a8df-164ad44df706"]) + .setActiveStates([$KeywordRegistry.salesprojectState$open(), $KeywordRegistry.salesprojectState$postponed()]) ,"Contract": ContextSelector.create("CONTRACT", "CONTRACTID") .setTitleExpression(maskingUtils.concat([ KeywordUtils.getResolvedTitleSqlPart("ContractType", "CONTRACTTYPE"), diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index 43e114f5ecb0b32cb9fe237ae84ddf6cf2d7ef8b..0de7e18283759d5840cebabdf51bf6df63134f22 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -64,6 +64,12 @@ $KeywordRegistry.quantityUnit$pieces = function(){return "QUANTITYPIECES";}; $KeywordRegistry.MemberRole = function(){return "MemberRole";}; $KeywordRegistry.salesprojectSource = function(){return "SalesprojectSource";}; $KeywordRegistry.salesorderState = function(){return "SalesorderState";}; +$KeywordRegistry.salesorderState$open = function(){return "SALPROJSTATOPEN ";}; +$KeywordRegistry.salesorderState$postponed = function(){return "SALPROJSTATPOSTPONED ";}; +$KeywordRegistry.salesorderState$aborted = function(){return "SALPROJSTATABORT ";}; +$KeywordRegistry.salesorderState$partialOrder = function(){return "SALPROJSTATPARTIAL ";}; +$KeywordRegistry.salesorderState$order = function(){return "SALPROJSTATORDER ";}; +$KeywordRegistry.salesorderState$lost = function(){return "SALPROJSTATLOST ";}; $KeywordRegistry.salesprojectWonLost = function(){return "SalesprojectWonLost";}; $KeywordRegistry.stockWarehouse = function(){return "StockWarehouse";}; $KeywordRegistry.salesprojectProbability = function(){return "SalesprojectProbability";};