From 3dbc5a72e010337aca6fd26a786eaab87403c0f8 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Thu, 11 Apr 2019 12:03:09 +0200 Subject: [PATCH] Meilensteine auf neue Keyword-logik umbauen --- ...ne_datatype_to_new_Keyword_logic_Derby.xml | 16 ++ ...datatype_to_new_Keyword_logic_notDerby.xml | 7 + .../Data_alias/basic/2019.2/changelog.xml | 6 + .../basic/2019.2/renameCycle_to_Milestone.xml | 9 + .../update_Milestone_to_new_Keyword.xml | 135 ++++++++++++ aliasDefinition/Data_alias/Data_alias.aod | 207 +++++++++--------- .../SalesprojectMilestone_entity.aod} | 38 ++-- .../conditionProcess.js | 2 +- .../entityfields/date_edit/valueProcess.js | 0 .../entityfields/date_new/valueProcess.js | 0 .../salesproject_id/valueProcess.js | 0 .../salesproject_milestoneid}/valueProcess.js | 0 .../entityfields/type/possibleItemsProcess.js | 2 +- .../entityfields/user_edit/valueProcess.js | 0 .../entityfields/user_new/valueProcess.js | 0 .../value/possibleItemsProcess.js | 2 +- .../recordcontainers/db}/conditionProcess.js | 2 +- .../recordcontainers/db/onDBUpdate.js | 0 .../Salesproject_entity.aod | 8 +- entity/Salesproject_entity/onDBInsert.js | 5 - entity/Salesproject_entity/onDBUpdate.js | 24 -- .../recordcontainers/db/onDBDelete.js | 2 +- .../recordcontainers/db/onDBInsert.js | 5 +- .../recordcontainers/db/onDBUpdate.js | 7 +- neonContext/Salesproject/Salesproject.aod | 2 +- .../SalesprojectMilestone.aod} | 20 +- .../SalesprojectCycleChart_view.aod | 17 ++ .../SalesprojectCycleEdit_view.aod | 2 +- .../SalesprojectCycleFilter_view.aod | 4 +- .../SalesprojectCyclePreview_view.aod | 2 +- .../SalesprojectCycle_view.aod | 6 +- process/Data_lib/process.js | 2 +- process/Keyword_lib/process.js | 21 +- process/Salesproject_lib/process.js | 10 +- 34 files changed, 374 insertions(+), 189 deletions(-) create mode 100644 .liquibase/Data_alias/basic/2019.2/change_Milestone_datatype_to_new_Keyword_logic_Derby.xml create mode 100644 .liquibase/Data_alias/basic/2019.2/change_Milestone_datatype_to_new_Keyword_logic_notDerby.xml create mode 100644 .liquibase/Data_alias/basic/2019.2/renameCycle_to_Milestone.xml create mode 100644 .liquibase/Data_alias/basic/2019.2/update_Milestone_to_new_Keyword.xml rename entity/{SalesprojectCycle_entity/SalesprojectCycle_entity.aod => SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod} (66%) rename entity/{SalesprojectCycle_entity/recordcontainers/db => SalesprojectMilestone_entity}/conditionProcess.js (72%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity}/entityfields/date_edit/valueProcess.js (100%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity}/entityfields/date_new/valueProcess.js (100%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity}/entityfields/salesproject_id/valueProcess.js (100%) rename entity/{SalesprojectCycle_entity/entityfields/salesproject_cycleid => SalesprojectMilestone_entity/entityfields/salesproject_milestoneid}/valueProcess.js (100%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity}/entityfields/type/possibleItemsProcess.js (53%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity}/entityfields/user_edit/valueProcess.js (100%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity}/entityfields/user_new/valueProcess.js (100%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity}/entityfields/value/possibleItemsProcess.js (79%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity/recordcontainers/db}/conditionProcess.js (72%) rename entity/{SalesprojectCycle_entity => SalesprojectMilestone_entity}/recordcontainers/db/onDBUpdate.js (100%) delete mode 100644 entity/Salesproject_entity/onDBInsert.js delete mode 100644 entity/Salesproject_entity/onDBUpdate.js rename neonContext/{SalesprojectCycle/SalesprojectCycle.aod => SalesprojectMilestone/SalesprojectMilestone.aod} (56%) create mode 100644 neonView/SalesprojectCycleChart_view/SalesprojectCycleChart_view.aod diff --git a/.liquibase/Data_alias/basic/2019.2/change_Milestone_datatype_to_new_Keyword_logic_Derby.xml b/.liquibase/Data_alias/basic/2019.2/change_Milestone_datatype_to_new_Keyword_logic_Derby.xml new file mode 100644 index 00000000000..fa2c3652ee1 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/change_Milestone_datatype_to_new_Keyword_logic_Derby.xml @@ -0,0 +1,16 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet dbms="derby" author="j.hoermann" id="be098ba0-30ed-4e01-893e-928b1ac86923"> + <sql> + ALTER TABLE SALESPROJECT_MILESTONE ADD COLUMN TYPE_NEW VARCHAR(80); + UPDATE SALESPROJECT_MILESTONE SET TYPE_NEW=CHAR(TYPE); + ALTER TABLE SALESPROJECT_MILESTONE DROP COLUMN TYPE; + RENAME COLUMN SALESPROJECT_MILESTONE.TYPE_NEW TO TYPE; + + ALTER TABLE SALESPROJECT_MILESTONE ADD COLUMN VALUE_NEW CHAR(36); + UPDATE SALESPROJECT_MILESTONE SET VALUE_NEW=CHAR(VALUE); + ALTER TABLE SALESPROJECT_MILESTONE DROP COLUMN VALUE; + RENAME COLUMN SALESPROJECT_MILESTONE.VALUE_NEW TO VALUE; + </sql> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.2/change_Milestone_datatype_to_new_Keyword_logic_notDerby.xml b/.liquibase/Data_alias/basic/2019.2/change_Milestone_datatype_to_new_Keyword_logic_notDerby.xml new file mode 100644 index 00000000000..41fdab8d766 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/change_Milestone_datatype_to_new_Keyword_logic_notDerby.xml @@ -0,0 +1,7 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet dbms="!derby" author="j.hoermann" id="f5074961-4aa0-4cd8-8541-7381ddfb0b71"> + <modifyDataType tableName="SALESPROJECT_MILESTONE" columnName="TYPE" newDataType="NVARCHAR(80)"/> + <modifyDataType tableName="SALESPROJECT_MILESTONE" columnName="VALUE" newDataType="CHAR(36)"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.2/changelog.xml b/.liquibase/Data_alias/basic/2019.2/changelog.xml index 02937d76436..3d05482a243 100644 --- a/.liquibase/Data_alias/basic/2019.2/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.2/changelog.xml @@ -136,4 +136,10 @@ <!-- Derby needs special handling --> <include relativeToChangelogFile="true" file="alter_activityLink_notDerby.xml" /> <include relativeToChangelogFile="true" file="alter_activityLink_Derby.xml" /> + + <include relativeToChangelogFile="true" file="renameCycle_to_Milestone.xml" /> + <!-- Derby needs special handling --> + <include relativeToChangelogFile="true" file="change_Milestone_datatype_to_new_Keyword_logic_notDerby.xml" /> + <include relativeToChangelogFile="true" file="change_Milestone_datatype_to_new_Keyword_logic_Derby.xml" /> + <include relativeToChangelogFile="true" file="update_Milestone_to_new_Keyword.xml" /> </databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2019.2/renameCycle_to_Milestone.xml b/.liquibase/Data_alias/basic/2019.2/renameCycle_to_Milestone.xml new file mode 100644 index 00000000000..94183e1d8dc --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/renameCycle_to_Milestone.xml @@ -0,0 +1,9 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="j.hoermann" id="da0982c9-8541-43a2-ae3f-cfb179a6b8c3"> + <renameTable oldTableName="SALESPROJECT_CYCLE" newTableName="SALESPROJECT_MILESTONE"/> + <renameColumn tableName="SALESPROJECT_MILESTONE" columnDataType="CHAR(36)" newColumnName="SALESPROJECT_MILESTONEID" oldColumnName="SALESPROJECT_CYCLEID"/> + <dropPrimaryKey tableName="SALESPROJECT_MILESTONE" constraintName="PK_SALESPROJECT_CYCLE_SALESPROJECT_CYCLEID"/> + <addPrimaryKey tableName="SALESPROJECT_MILESTONE" constraintName="PK_SALESPROJECT_MILESTONE_SALESPROJECT_MILESTONEID" columnNames="SALESPROJECT_MILESTONEID"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.2/update_Milestone_to_new_Keyword.xml b/.liquibase/Data_alias/basic/2019.2/update_Milestone_to_new_Keyword.xml new file mode 100644 index 00000000000..78058cb3754 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/update_Milestone_to_new_Keyword.xml @@ -0,0 +1,135 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="j.hoermann" id="ec9bae68-ca27-4597-9808-fc333246b3a0"> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="TYPE" value="SalesprojectPhase"/> + <where>TYPE = ?</where> + <whereParams> + <param value="1" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="9f7d1fa9-7c09-4037-8f7c-8458def14d89"/> + <where>TYPE = ? and VALUE in (?,?,?,?,?,?,?,?,?,?,?)</where> + <whereParams> + <param value="SalesprojectPhase" /> + <param value="1" /> + <param value="7" /> + <param value="8" /> + <param value="9" /> + <param value="10" /> + <param value="11" /> + <param value="12" /> + <param value="13" /> + <param value="14" /> + <param value="15" /> + <param value="16" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="292628f1-d9a5-432d-8130-f6690c14a5d4"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectPhase" /> + <param value="2" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="4467b33c-3a68-4c8b-ba4a-1eb666a6c774"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectPhase" /> + <param value="3" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="1e42f183-fb97-415f-9917-b43ca159fde4"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectPhase" /> + <param value="4" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="972a41dc-a8ae-43cd-a03b-522ea84efbfb"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectPhase" /> + <param value="5" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="60d09bb1-7e02-4003-99bf-18b739a577ad"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectPhase" /> + <param value="6" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="213c8184-f930-457e-8605-703baaf21d4a"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectPhase" /> + <param value="7" /> + </whereParams> + </update> + + + <update tableName="SALESPROJECT_MILESTONE"> + <column name="TYPE" value="SalesprojectState"/> + <where>TYPE = ?</where> + <whereParams> + <param value="2" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="483bcaeb-1e5b-4772-b54e-7d7d8aa65712"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectState" /> + <param value="1" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="23d38486-4cce-41ce-a8df-164ad44df706"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectState" /> + <param value="2" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="8916e241-9452-4541-a323-d479ad5f2e4d"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectState" /> + <param value="3" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="1606cf46-a87b-4797-830e-55ebdd70a001"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectState" /> + <param value="4" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="130bb53a-a97e-455e-8f34-8d445e985474"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectState" /> + <param value="5" /> + </whereParams> + </update> + <update tableName="SALESPROJECT_MILESTONE"> + <column name="VALUE" value="d8a60f60-a4e6-46ee-88ec-bac53e1afedd"/> + <where>TYPE = ? and VALUE = ?</where> + <whereParams> + <param value="SalesprojectState" /> + <param value="6" /> + </whereParams> + </update> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index c50f192679f..a1158862b25 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -2702,109 +2702,6 @@ </entityFieldDb> </entityFields> </entityDb> - <entityDb> - <name>SALESPROJECT_CYCLE</name> - <dbName></dbName> - <idColumn>SALESPROJECT_CYCLEID</idColumn> - <idGeneratorType v="0" /> - <idGeneratorInterval v="1" /> - <title></title> - <description></description> - <auditSyncConfig> - <name>auditSyncConfig</name> - <auditMode v="0" /> - <syncActive v="false" /> - <syncComplete v="true" /> - <syncDirection v="1" /> - <syncIds></syncIds> - </auditSyncConfig> - <entityFields> - <entityFieldDb> - <name>SALESPROJECT_CYCLEID</name> - <dbName></dbName> - <primaryKey v="true" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="true" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>DATE_START</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="93" /> - <size v="29" /> - <scale v="9" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>VALUE</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="4" /> - <size v="10" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>SALESPROJECT_ID</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>TYPE</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="4" /> - <size v="10" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>DATE_END</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="93" /> - <size v="29" /> - <scale v="9" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - </entityFields> - </entityDb> <entityDb> <name>SALESPROJECT_FORECAST</name> <dbName></dbName> @@ -5982,6 +5879,110 @@ </entityFieldDb> </entityFields> </entityDb> + <entityDb> + <name>SALESPROJECT_MILESTONE</name> + <dbName></dbName> + <idColumn>SALESPROJECT_MILESTONEID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <documentation></documentation> + <title></title> + <description></description> + <auditSyncConfig> + <name>auditSyncConfig</name> + <auditMode v="0" /> + <syncActive v="false" /> + <syncComplete v="true" /> + <syncDirection v="1" /> + <syncIds></syncIds> + </auditSyncConfig> + <entityFields> + <entityFieldDb> + <name>DATE_START</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>VALUE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>SALESPROJECT_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="80" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_END</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>SALESPROJECT_MILESTONEID</name> + <dbName></dbName> + <primaryKey v="true" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="true" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> </entities> </entityGroup> </aliasDefDb> diff --git a/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod b/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod similarity index 66% rename from entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod rename to entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod index fbf0ff3b285..37c61c5ea46 100644 --- a/entity/SalesprojectCycle_entity/SalesprojectCycle_entity.aod +++ b/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.1"> - <name>SalesprojectCycle_entity</name> + <name>SalesprojectMilestone_entity</name> <title>Milestones</title> <majorModelMode>DISTRIBUTED</majorModelMode> <recordContainer>db</recordContainer> @@ -24,24 +24,24 @@ <outputFormat>dd.MM.yyyy</outputFormat> </entityField> <entityField> - <name>SALESPROJECT_CYCLEID</name> - <valueProcess>%aditoprj%/entity/SalesprojectCycle_entity/entityfields/salesproject_cycleid/valueProcess.js</valueProcess> + <name>SALESPROJECT_MILESTONEID</name> + <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/salesproject_milestoneid/valueProcess.js</valueProcess> </entityField> <entityField> <name>SALESPROJECT_ID</name> - <valueProcess>%aditoprj%/entity/SalesprojectCycle_entity/entityfields/salesproject_id/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/salesproject_id/valueProcess.js</valueProcess> </entityField> <entityField> <name>TYPE</name> <title>Type</title> <mandatory v="true" /> - <possibleItemsProcess>%aditoprj%/entity/SalesprojectCycle_entity/entityfields/type/possibleItemsProcess.js</possibleItemsProcess> + <possibleItemsProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/type/possibleItemsProcess.js</possibleItemsProcess> </entityField> <entityField> <name>VALUE</name> <title>Milestone</title> <mandatory v="true" /> - <possibleItemsProcess>%aditoprj%/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js</possibleItemsProcess> + <possibleItemsProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/value/possibleItemsProcess.js</possibleItemsProcess> </entityField> <entityParameter> <name>SalesprojectId_param</name> @@ -51,14 +51,14 @@ <description>PARAMETER</description> </entityParameter> <entityProvider> - <name>SalesprojectCycles</name> + <name>SalesprojectMilestones</name> <fieldType>DEPENDENCY_IN</fieldType> <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>b05e2bdf-5d8b-4ba2-8dba-a8560c255470</name> <entityName>Salesproject_entity</entityName> - <fieldName>SalesprojectCycles</fieldName> + <fieldName>SalesprojectMilestones</fieldName> <isConsumer v="false" /> </entityDependency> </dependencies> @@ -75,13 +75,13 @@ <name>db</name> <title></title> <alias>Data_alias</alias> - <conditionProcess>%aditoprj%/entity/SalesprojectCycle_entity/recordcontainers/db/conditionProcess.js</conditionProcess> - <onDBUpdate>%aditoprj%/entity/SalesprojectCycle_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate> + <conditionProcess>%aditoprj%/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <onDBUpdate>%aditoprj%/entity/SalesprojectMilestone_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate> <linkInformation> <linkInformation> <name>464f1fd7-e5b6-4cfc-92f8-4873d4e10ce3</name> - <tableName>SALESPROJECT_CYCLE</tableName> - <primaryKey>SALESPROJECT_CYCLEID</primaryKey> + <tableName>SALESPROJECT_MILESTONE</tableName> + <primaryKey>SALESPROJECT_MILESTONEID</primaryKey> <isUIDTable v="true" /> <readonly v="false" /> </linkInformation> @@ -89,27 +89,27 @@ <recordFieldMappings> <dbRecordFieldMapping> <name>DATE_END.value</name> - <recordfield>SALESPROJECT_CYCLE.DATE_END</recordfield> + <recordfield>SALESPROJECT_MILESTONE.DATE_END</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>DATE_START.value</name> - <recordfield>SALESPROJECT_CYCLE.DATE_START</recordfield> + <recordfield>SALESPROJECT_MILESTONE.DATE_START</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> - <name>SALESPROJECT_CYCLEID.value</name> - <recordfield>SALESPROJECT_CYCLE.SALESPROJECT_CYCLEID</recordfield> + <name>SALESPROJECT_MILESTONEID.value</name> + <recordfield>SALESPROJECT_MILESTONE.SALESPROJECT_MILESTONEID</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>TYPE.value</name> - <recordfield>SALESPROJECT_CYCLE.TYPE</recordfield> + <recordfield>SALESPROJECT_MILESTONE.TYPE</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>VALUE.value</name> - <recordfield>SALESPROJECT_CYCLE.VALUE</recordfield> + <recordfield>SALESPROJECT_MILESTONE.VALUE</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>SALESPROJECT_ID.value</name> - <recordfield>SALESPROJECT_CYCLE.SALESPROJECT_ID</recordfield> + <recordfield>SALESPROJECT_MILESTONE.SALESPROJECT_ID</recordfield> </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> diff --git a/entity/SalesprojectCycle_entity/recordcontainers/db/conditionProcess.js b/entity/SalesprojectMilestone_entity/conditionProcess.js similarity index 72% rename from entity/SalesprojectCycle_entity/recordcontainers/db/conditionProcess.js rename to entity/SalesprojectMilestone_entity/conditionProcess.js index 01636c9c6c0..7711ad471a8 100644 --- a/entity/SalesprojectCycle_entity/recordcontainers/db/conditionProcess.js +++ b/entity/SalesprojectMilestone_entity/conditionProcess.js @@ -4,7 +4,7 @@ import("system.vars"); import("Sql_lib"); var cond = new SqlCondition(); -cond.andPrepareVars("SALESPROJECT_CYCLE.SALESPROJECT_ID", "$param.SalesprojectId_param"); +cond.andPrepareVars("SALESPROJECT_MILESTONE.SALESPROJECT_ID", "$param.SalesprojectId_param"); //TODO: use a preparedCondition when available #1030812 #1034026 result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file diff --git a/entity/SalesprojectCycle_entity/entityfields/date_edit/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/date_edit/valueProcess.js similarity index 100% rename from entity/SalesprojectCycle_entity/entityfields/date_edit/valueProcess.js rename to entity/SalesprojectMilestone_entity/entityfields/date_edit/valueProcess.js diff --git a/entity/SalesprojectCycle_entity/entityfields/date_new/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/date_new/valueProcess.js similarity index 100% rename from entity/SalesprojectCycle_entity/entityfields/date_new/valueProcess.js rename to entity/SalesprojectMilestone_entity/entityfields/date_new/valueProcess.js diff --git a/entity/SalesprojectCycle_entity/entityfields/salesproject_id/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/salesproject_id/valueProcess.js similarity index 100% rename from entity/SalesprojectCycle_entity/entityfields/salesproject_id/valueProcess.js rename to entity/SalesprojectMilestone_entity/entityfields/salesproject_id/valueProcess.js diff --git a/entity/SalesprojectCycle_entity/entityfields/salesproject_cycleid/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/salesproject_milestoneid/valueProcess.js similarity index 100% rename from entity/SalesprojectCycle_entity/entityfields/salesproject_cycleid/valueProcess.js rename to entity/SalesprojectMilestone_entity/entityfields/salesproject_milestoneid/valueProcess.js diff --git a/entity/SalesprojectCycle_entity/entityfields/type/possibleItemsProcess.js b/entity/SalesprojectMilestone_entity/entityfields/type/possibleItemsProcess.js similarity index 53% rename from entity/SalesprojectCycle_entity/entityfields/type/possibleItemsProcess.js rename to entity/SalesprojectMilestone_entity/entityfields/type/possibleItemsProcess.js index effac991d66..2adb4c496b7 100644 --- a/entity/SalesprojectCycle_entity/entityfields/type/possibleItemsProcess.js +++ b/entity/SalesprojectMilestone_entity/entityfields/type/possibleItemsProcess.js @@ -2,5 +2,5 @@ import("system.result"); import("system.vars"); import("Keyword_lib"); -var items = LegacyKeywordUtils.getStandardArray("SALESPROJECT.CYCLE.TYPE"); +var items = LegacyKeywordUtils.getStandardArray("SALESPROJECT.MILESTONE.TYPE"); result.object(items); \ No newline at end of file diff --git a/entity/SalesprojectCycle_entity/entityfields/user_edit/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/user_edit/valueProcess.js similarity index 100% rename from entity/SalesprojectCycle_entity/entityfields/user_edit/valueProcess.js rename to entity/SalesprojectMilestone_entity/entityfields/user_edit/valueProcess.js diff --git a/entity/SalesprojectCycle_entity/entityfields/user_new/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/user_new/valueProcess.js similarity index 100% rename from entity/SalesprojectCycle_entity/entityfields/user_new/valueProcess.js rename to entity/SalesprojectMilestone_entity/entityfields/user_new/valueProcess.js diff --git a/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js b/entity/SalesprojectMilestone_entity/entityfields/value/possibleItemsProcess.js similarity index 79% rename from entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js rename to entity/SalesprojectMilestone_entity/entityfields/value/possibleItemsProcess.js index 512b10f2cc7..e4b7b91a7c8 100644 --- a/entity/SalesprojectCycle_entity/entityfields/value/possibleItemsProcess.js +++ b/entity/SalesprojectMilestone_entity/entityfields/value/possibleItemsProcess.js @@ -10,7 +10,7 @@ type = vars.getString("$field.TYPE"); // load the possible values based on the type. if (type) { - keyword = LegacyKeywordUtils.get("SALESPROJECT.CYCLE.TYPE", type)[2].keyword; + keyword = LegacyKeywordUtils.get("SALESPROJECT.MILESTONE.TYPE", type)[2].keyword; if (keyword) { items = LegacyKeywordUtils.getStandardArray(keyword); diff --git a/entity/SalesprojectCycle_entity/conditionProcess.js b/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js similarity index 72% rename from entity/SalesprojectCycle_entity/conditionProcess.js rename to entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js index 01636c9c6c0..7711ad471a8 100644 --- a/entity/SalesprojectCycle_entity/conditionProcess.js +++ b/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js @@ -4,7 +4,7 @@ import("system.vars"); import("Sql_lib"); var cond = new SqlCondition(); -cond.andPrepareVars("SALESPROJECT_CYCLE.SALESPROJECT_ID", "$param.SalesprojectId_param"); +cond.andPrepareVars("SALESPROJECT_MILESTONE.SALESPROJECT_ID", "$param.SalesprojectId_param"); //TODO: use a preparedCondition when available #1030812 #1034026 result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file diff --git a/entity/SalesprojectCycle_entity/recordcontainers/db/onDBUpdate.js b/entity/SalesprojectMilestone_entity/recordcontainers/db/onDBUpdate.js similarity index 100% rename from entity/SalesprojectCycle_entity/recordcontainers/db/onDBUpdate.js rename to entity/SalesprojectMilestone_entity/recordcontainers/db/onDBUpdate.js diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index fc82706d673..34d70c4c5c8 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -130,18 +130,18 @@ </children> </entityConsumer> <entityConsumer> - <name>SalesprojectCycles</name> + <name>SalesprojectMilestones</name> <title>Milestone</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>SalesprojectCycle_entity</entityName> - <fieldName>SalesprojectCycles</fieldName> + <entityName>SalesprojectMilestone_entity</entityName> + <fieldName>SalesprojectMilestones</fieldName> </dependency> <children> <entityParameter> <name>SalesprojectId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectcycles/children/salesprojectid_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectmilestones/children/salesprojectid_param/valueProcess.js</valueProcess> <triggerRecalculation v="true" /> </entityParameter> </children> diff --git a/entity/Salesproject_entity/onDBInsert.js b/entity/Salesproject_entity/onDBInsert.js deleted file mode 100644 index 46e16c3d687..00000000000 --- a/entity/Salesproject_entity/onDBInsert.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.vars"); -import("Salesproject_lib"); - -Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE"), false); -Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE"), true); \ No newline at end of file diff --git a/entity/Salesproject_entity/onDBUpdate.js b/entity/Salesproject_entity/onDBUpdate.js deleted file mode 100644 index 514b528e696..00000000000 --- a/entity/Salesproject_entity/onDBUpdate.js +++ /dev/null @@ -1,24 +0,0 @@ -import("system.vars"); -import("Salesproject_lib"); - -var typeValue, fieldVar - -// create Milestones if changed -vars.get("$local.changed").forEach(function(fieldName) { - switch (fieldName) { - case "SALESPROJECT.PHASE": - typeValue = 1; - fieldVar = "$field.PHASE"; - break; - case "SALESPROJECT.STATE": - typeValue = 2; - fieldVar = "$field.STATE"; - break; - } - - if (typeValue) { - Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar), true); - } -}); - - diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js index 6d045ce9112..45345082bb1 100644 --- a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js +++ b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js @@ -10,7 +10,7 @@ if (currentId) var toDelete = [ "SALESPROJECT_COMPETITION", "SALESPROJECT_CLASSIFICATION", - "SALESPROJECT_CYCLE", + "SALESPROJECT_MILESTONE", "SALESPROJECT_FORECAST", "SALESPROJECT_MEMBER", "SALESPROJECT_SOURCE" diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js b/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js index 47067fdfe5c..49491bda007 100644 --- a/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js +++ b/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js @@ -1,6 +1,5 @@ import("system.vars"); import("Salesproject_lib"); -// TODO Milestone Value is still an Integer but has to be a String (varchar) -// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE"), false); -// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE"), true); \ No newline at end of file +Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), "SalesprojectPhase", vars.get("$field.PHASE"), false); +Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), "SalesprojectState", vars.get("$field.STATE"), true); \ No newline at end of file diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js index 2d558ee7cdb..977509bc98a 100644 --- a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js +++ b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js @@ -17,12 +17,12 @@ vars.get("$local.changed").forEach(function(fieldName) { switch (fieldName) { case "SALESPROJECT.PHASE": - typeValue = 1; + typeValue = "SalesprojectPhase"; fieldVar = "$field.PHASE"; break; case "SALESPROJECT.STATE": // Milestone - typeValue = 2; + typeValue = "SalesprojectState"; fieldVar = "$field.STATE"; // set COMPETITION / OFFER to Lost @@ -60,8 +60,7 @@ vars.get("$local.changed").forEach(function(fieldName) { if (typeValue) { needToUpdateForecast = true; - // TODO Milestone Value is still an Integer but has to be a String (varchar) -> use new keywords - //Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar)); + Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar)); } }); diff --git a/neonContext/Salesproject/Salesproject.aod b/neonContext/Salesproject/Salesproject.aod index feef4560535..37f47edb8bd 100644 --- a/neonContext/Salesproject/Salesproject.aod +++ b/neonContext/Salesproject/Salesproject.aod @@ -28,7 +28,7 @@ </neonViewReference> <neonViewReference> <name>d7fb7e2b-c932-4b96-be2c-ae5ec3d36beb</name> - <view>SalesprojectCycle_view</view> + <view>SalesprojectMilestone_view</view> </neonViewReference> </references> </neonContext> diff --git a/neonContext/SalesprojectCycle/SalesprojectCycle.aod b/neonContext/SalesprojectMilestone/SalesprojectMilestone.aod similarity index 56% rename from neonContext/SalesprojectCycle/SalesprojectCycle.aod rename to neonContext/SalesprojectMilestone/SalesprojectMilestone.aod index 59f07fb175b..c19b2a85a61 100644 --- a/neonContext/SalesprojectCycle/SalesprojectCycle.aod +++ b/neonContext/SalesprojectMilestone/SalesprojectMilestone.aod @@ -1,24 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> <neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> - <name>SalesprojectCycle</name> + <name>SalesprojectMilestone</name> <description>Milestones of a salesproject</description> <majorModelMode>DISTRIBUTED</majorModelMode> - <filterview>SalesprojectCycleFilter_view</filterview> - <editview>SalesprojectCycleEdit_view</editview> - <preview>SalesprojectCyclePreview_view</preview> - <entity>SalesprojectCycle_entity</entity> + <filterview>SalesprojectMilestoneFilter_view</filterview> + <editview>SalesprojectMilestoneEdit_view</editview> + <preview>SalesprojectMilestonePreview_view</preview> + <entity>SalesprojectMilestone_entity</entity> <references> <neonViewReference> <name>5de9785c-92cc-4fe1-ae13-8d65b9a68ce0</name> - <view>SalesprojectCycleFilter_view</view> + <view>SalesprojectMilestoneFilter_view</view> </neonViewReference> <neonViewReference> <name>04073406-1035-4a3b-919b-7e0bfda699e0</name> - <view>SalesprojectCycleEdit_view</view> + <view>SalesprojectMilestoneEdit_view</view> </neonViewReference> <neonViewReference> <name>b3a4073e-9431-4de1-a4d5-c9d11a71a214</name> - <view>SalesprojectCyclePreview_view</view> + <view>SalesprojectMilestonePreview_view</view> + </neonViewReference> + <neonViewReference> + <name>54bee07a-f45d-458a-bfc6-56ba4992b63d</name> + <view>SalesprojectMilestoneChart_view</view> </neonViewReference> </references> </neonContext> diff --git a/neonView/SalesprojectCycleChart_view/SalesprojectCycleChart_view.aod b/neonView/SalesprojectCycleChart_view/SalesprojectCycleChart_view.aod new file mode 100644 index 00000000000..a33cf532753 --- /dev/null +++ b/neonView/SalesprojectCycleChart_view/SalesprojectCycleChart_view.aod @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>SalesprojectMilestoneChart_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <multiDataChartViewTemplate> + <name>MilestoneChart</name> + <chartType>COLUMN</chartType> + <entityField>#ENTITY</entityField> + </multiDataChartViewTemplate> + </children> +</neonView> diff --git a/neonView/SalesprojectCycleEdit_view/SalesprojectCycleEdit_view.aod b/neonView/SalesprojectCycleEdit_view/SalesprojectCycleEdit_view.aod index de1a3461bb5..177c2715e8d 100644 --- a/neonView/SalesprojectCycleEdit_view/SalesprojectCycleEdit_view.aod +++ b/neonView/SalesprojectCycleEdit_view/SalesprojectCycleEdit_view.aod @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> - <name>SalesprojectCycleEdit_view</name> + <name>SalesprojectMilestoneEdit_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> diff --git a/neonView/SalesprojectCycleFilter_view/SalesprojectCycleFilter_view.aod b/neonView/SalesprojectCycleFilter_view/SalesprojectCycleFilter_view.aod index 55809e21f25..2774b5d2994 100644 --- a/neonView/SalesprojectCycleFilter_view/SalesprojectCycleFilter_view.aod +++ b/neonView/SalesprojectCycleFilter_view/SalesprojectCycleFilter_view.aod @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> - <name>SalesprojectCycleFilter_view</name> + <name>SalesprojectMilestoneFilter_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> <filterable v="true" /> <layout> @@ -10,7 +10,7 @@ </layout> <children> <tableViewTemplate> - <name>Cycles</name> + <name>Milestones</name> <autoNewRow v="true" /> <entityField>#ENTITY</entityField> <columns> diff --git a/neonView/SalesprojectCyclePreview_view/SalesprojectCyclePreview_view.aod b/neonView/SalesprojectCyclePreview_view/SalesprojectCyclePreview_view.aod index 41114194e65..c87d969c7e7 100644 --- a/neonView/SalesprojectCyclePreview_view/SalesprojectCyclePreview_view.aod +++ b/neonView/SalesprojectCyclePreview_view/SalesprojectCyclePreview_view.aod @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> - <name>SalesprojectCyclePreview_view</name> + <name>SalesprojectMilestonePreview_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> diff --git a/neonView/SalesprojectCycle_view/SalesprojectCycle_view.aod b/neonView/SalesprojectCycle_view/SalesprojectCycle_view.aod index edacdea2adf..98018a3e81f 100644 --- a/neonView/SalesprojectCycle_view/SalesprojectCycle_view.aod +++ b/neonView/SalesprojectCycle_view/SalesprojectCycle_view.aod @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> - <name>SalesprojectCycle_view</name> + <name>SalesprojectMilestone_view</name> <title>Milestones</title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> @@ -11,8 +11,8 @@ <children> <neonViewReference> <name>c68c50b8-6ff9-4be4-ab1e-c8bd9b93f650</name> - <entityField>SalesprojectCycles</entityField> - <view>SalesprojectCycleFilter_view</view> + <entityField>SalesprojectMilestones</entityField> + <view>SalesprojectMilestoneFilter_view</view> </neonViewReference> <neonViewReference> <name>b172fd14-209d-412f-9250-aeb0f37091b5</name> diff --git a/process/Data_lib/process.js b/process/Data_lib/process.js index fe628720ef1..e6802ed44f1 100644 --- a/process/Data_lib/process.js +++ b/process/Data_lib/process.js @@ -366,7 +366,7 @@ DataTree.prototype.addArray = function(pData, pManipulateNodeFn) DataTree.prototype.toArray = function(pMaxDepth) { var that = this; - // TODO: maybe implement without recursion to prevent stack overflow even on deep cycles... + // TODO: maybe implement without recursion to prevent stack overflow even on deep milestones... var treeArray = []; var tree = this._dataTree; diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js index a4527c2594e..0f98d5e899c 100644 --- a/process/Keyword_lib/process.js +++ b/process/Keyword_lib/process.js @@ -189,6 +189,25 @@ KeywordUtils.getEntryNamesAndIdsByContainer = function(pContainerName) return list; }; +/** + * checks, if a specific keyword exists + * + * @param {String} pKeyId the key of an element within a containerName - this is the value that is stored in the reference-table (e.g. "DE") + * @param {String} pContainerName specifies the type of the keyword and therefore the list elements; + * e.g. "COUNTRY"; use an entry of the $KeywordRegistry here + * + * @return {Boolean} + */ +KeywordUtils.exists = function(pKeyId, pContainerName) +{ + var sql = SqlCondition.begin() + .andPrepare("AB_KEYWORD_ENTRY.KEYID", pKeyId) + .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", pContainerName) + .buildSql("select count(*) from AB_KEYWORD_ENTRY", "1=2") + logging.log(db.cell(sql)) + return parseInt(db.cell(sql)) > 0; +}; + /** * object that provides featrues for a single keyword attribute; initalizes itself on creation with a specific keyword-attribute * @@ -434,7 +453,7 @@ function LegacyKeywordUtils(){} ,_createKeywordEntry("16", translate.text("Lead", locale)) ]); break; - case "SALESPROJECT.CYCLE.TYPE": + case "SALESPROJECT.MILESTONE.TYPE": valueContainer = _createKeywordEntriesContainer([ _createKeywordEntry("1", translate.text("Phase", locale), null, {keyword: "SALESPROJECT.PHASE"}) ,_createKeywordEntry("2", translate.text("State", locale), null, {keyword: "SALESPROJECT.STATE"}) diff --git a/process/Salesproject_lib/process.js b/process/Salesproject_lib/process.js index 380aecbc0df..85744379172 100644 --- a/process/Salesproject_lib/process.js +++ b/process/Salesproject_lib/process.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.neon"); import("system.vars"); import("system.util"); @@ -40,17 +41,18 @@ Salesproject.validateProjectNumber = function(projectNumber) { * Insert a new milestone. * * @param {String} salesprojectId of the salesproject - * @param {Integer} type can be any value of the keyword SALESPROJECT.CYCLE.TYPE + * @param {Integer} type can be any value of the keyword SALESPROJECT.MILESTONE.TYPE * @param {Integer} value value of the phase or state * @param {Boolean} notifyForecast if true, notify user to update the forecast * * @result {Boolean} true if inserted, else false */ Salesproject.insertMilestone = function(salesprojectId, type, value, notifyForecast) { - if (LegacyKeywordUtils.createKeyword("SALESPROJECT.CYCLE.TYPE").exists(type)) { + logging.log(type + " " + value + " " + KeywordUtils.exists(value, type)) + if (KeywordUtils.exists(value, type)) { db.insertData( - "SALESPROJECT_CYCLE", - ["SALESPROJECT_CYCLEID", "SALESPROJECT_ID", "TYPE", "VALUE", "DATE_START"], + "SALESPROJECT_MILESTONE", + ["SALESPROJECT_MILESTONEID", "SALESPROJECT_ID", "TYPE", "VALUE", "DATE_START"], null, [util.getNewUUID(), salesprojectId, type, value, vars.get("$sys.date")]); if (notifyForecast) { -- GitLab