diff --git a/.liquibase/Data_alias/basic/2021.2.0/changelog.xml b/.liquibase/Data_alias/basic/2021.2.0/changelog.xml index 6cf5d524b1420157e979a3d41c742b3f3e586a6d..e45780f3a8c5af0b7c44f1ac39841430fe1a3feb 100644 --- a/.liquibase/Data_alias/basic/2021.2.0/changelog.xml +++ b/.liquibase/Data_alias/basic/2021.2.0/changelog.xml @@ -13,4 +13,4 @@ <include relativeToChangelogFile="true" file="EwsContactSync/changelog.xml"/> <include relativeToChangelogFile="true" file="Export/changelog.xml"/> <include relativeToChangelogFile="true" file="insert_ProductGroupcode.xml"/> -</databaseChangeLog> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/BulkMail/changelog.xml b/.liquibase/Data_alias/basic/2021.2.2/BulkMail/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..1f04bc2b9923e4c127ec5e87d952657c13dd6933 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/BulkMail/changelog.xml @@ -0,0 +1,6 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="insertBulkMailSenderAddressKeyword.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/BulkMail/insertBulkMailSenderAddressKeyword.xml b/.liquibase/Data_alias/basic/2021.2.2/BulkMail/insertBulkMailSenderAddressKeyword.xml new file mode 100644 index 0000000000000000000000000000000000000000..0fc18b63a15ed14e6486279434c15da61ad7cc5f --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/BulkMail/insertBulkMailSenderAddressKeyword.xml @@ -0,0 +1,24 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="m.groppe" id="50badea9-da46-4aa0-94ed-a2c3db2874ac"> + <insert tableName="AB_KEYWORD_CATEGORY"> + <column name="AB_KEYWORD_CATEGORYID" value="3f31d08d-bf59-4bb7-9e96-7f026571cb79"/> + <column name="NAME" value="BulkmailSenderAddress"/> + <column name="SORTINGBY" valueNumeric="0"/> + <column name="SORTINGDIRECTION" value="ASC"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="c4773a13-314d-4f00-a7d3-ab65947586ba"/> + <column name="KEYID" value="news@adito.de"/> + <column name="TITLE" value="news@adito.de"/> + <column name="CONTAINER"/> + <column name="SORTING" valueNumeric="1"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + <column name="AB_KEYWORD_CATEGORY_ID" value="3f31d08d-bf59-4bb7-9e96-7f026571cb79"/> + </insert> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/Offer/changelog.xml b/.liquibase/Data_alias/basic/2021.2.2/Offer/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..43d3f1056899fb14bc1b977c3a956d5a35346b4a --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/Offer/changelog.xml @@ -0,0 +1,6 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="update_OfferSetZeroProbability.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/Offer/update_OfferSetZeroProbability.xml b/.liquibase/Data_alias/basic/2021.2.2/Offer/update_OfferSetZeroProbability.xml new file mode 100644 index 0000000000000000000000000000000000000000..c473d075052c034844cc364b734fcb90884efae4 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/Offer/update_OfferSetZeroProbability.xml @@ -0,0 +1,19 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="b.ulrich" id="02eac203-25b5-480c-a73b-364d1c76d051"> + <update tableName="OFFER"> + <column name="PROBABILITY" valueNumeric="0"/> + <where>PROBABILITY is null</where> + </update> + <addDefaultValue + columnDataType="NUMERIC(14,2)" + columnName="PROBABILITY" + defaultValueNumeric="0" + tableName="OFFER"/> + <addNotNullConstraint + columnDataType="NUMERIC(14,2)" + columnName="PROBABILITY" + tableName="OFFER"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/Offeritem/changelog.xml b/.liquibase/Data_alias/basic/2021.2.2/Offeritem/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..17b59f34cb8941cf482c762276660a4c7099f156 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/Offeritem/changelog.xml @@ -0,0 +1,6 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="update_OfferitemSetZeroDiscount.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/Offeritem/update_OfferitemSetZeroDiscount.xml b/.liquibase/Data_alias/basic/2021.2.2/Offeritem/update_OfferitemSetZeroDiscount.xml new file mode 100644 index 0000000000000000000000000000000000000000..206cf4f999182c0d71aa169971235c39d0d334ff --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/Offeritem/update_OfferitemSetZeroDiscount.xml @@ -0,0 +1,19 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="b.ulrich" id="2372c4db-0f58-474a-bb00-71ddd5776ff7"> + <update tableName="OFFERITEM"> + <column name="DISCOUNT" valueNumeric="0"/> + <where>DISCOUNT is null</where> + </update> + <addDefaultValue + columnDataType="NUMERIC(14,2)" + columnName="DISCOUNT" + defaultValueNumeric="0" + tableName="OFFERITEM"/> + <addNotNullConstraint + columnDataType="NUMERIC(14,2)" + columnName="DISCOUNT" + tableName="OFFERITEM"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/Salesorderitem/changelog.xml b/.liquibase/Data_alias/basic/2021.2.2/Salesorderitem/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..e2399a10ecb43adf4f250ceaad663cc85e190084 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/Salesorderitem/changelog.xml @@ -0,0 +1,6 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="update_SalesorderitemSetZeroDiscount.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/Salesorderitem/update_SalesorderitemSetZeroDiscount.xml b/.liquibase/Data_alias/basic/2021.2.2/Salesorderitem/update_SalesorderitemSetZeroDiscount.xml new file mode 100644 index 0000000000000000000000000000000000000000..f50ad6ccaddfc3e85b4d7f8439acc1d254daac25 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/Salesorderitem/update_SalesorderitemSetZeroDiscount.xml @@ -0,0 +1,19 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="b.ulrich" id="f1176133-6149-4e3a-a19c-0199c2ea6c00"> + <update tableName="SALESORDERITEM"> + <column name="DISCOUNT" valueNumeric="0"/> + <where>DISCOUNT is null</where> + </update> + <addDefaultValue + columnDataType="NUMERIC(14,2)" + columnName="DISCOUNT" + defaultValueNumeric="0" + tableName="SALESORDERITEM"/> + <addNotNullConstraint + columnDataType="NUMERIC(14,2)" + columnName="DISCOUNT" + tableName="SALESORDERITEM"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/Salesproject/changelog.xml b/.liquibase/Data_alias/basic/2021.2.2/Salesproject/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..be255f7f32e9a0ec54ec66b2dc76f5b5eacccbe1 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/Salesproject/changelog.xml @@ -0,0 +1,6 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="update_SalesprojectSetZeroProbability.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.2/Salesproject/update_SalesprojectSetZeroProbability.xml b/.liquibase/Data_alias/basic/2021.2.2/Salesproject/update_SalesprojectSetZeroProbability.xml new file mode 100644 index 0000000000000000000000000000000000000000..ab47beff7163fd059ca3d260ab064c1dbac32f5f --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.2/Salesproject/update_SalesprojectSetZeroProbability.xml @@ -0,0 +1,19 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="b.ulrich" id="c32865a9-ed82-44e5-814c-b8953d710e4d"> + <update tableName="SALESPROJECT"> + <column name="PROBABILITY" valueNumeric="0"/> + <where>PROBABILITY is null</where> + </update> + <addDefaultValue + columnDataType="DECIMAL(6, 2)" + columnName="PROBABILITY" + defaultValueNumeric="0" + tableName="SALESPROJECT"/> + <addNotNullConstraint + columnDataType="DECIMAL(6, 2)" + columnName="PROBABILITY" + tableName="SALESPROJECT"/> + </changeSet> +</databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2021.2.2/changelog.xml b/.liquibase/Data_alias/basic/2021.2.2/changelog.xml index ef73ebbf3edcee364540b105acc1d112511ff0f1..5da770e16014568be77456b5ef0bb58395d5db51 100644 --- a/.liquibase/Data_alias/basic/2021.2.2/changelog.xml +++ b/.liquibase/Data_alias/basic/2021.2.2/changelog.xml @@ -5,12 +5,17 @@ <include relativeToChangelogFile="true" file="alter_relation-type-title_grandchildof.xml"/> <include relativeToChangelogFile="true" file="alter_display-value_task-status-completed_keyword.xml"/> <include relativeToChangelogFile="true" file="alter_display-name_prospective-customer.xml"/> + <include relativeToChangelogFile="true" file="Offer/changelog.xml"/> <include relativeToChangelogFile="true" file="add_offer_showprice.xml"/> <include relativeToChangelogFile="true" file="Ticket/changelog.xml"/> <include relativeToChangelogFile="true" file="StandardColumns/changelog.xml"/> <include relativeToChangelogFile="true" file="Person/changelog.xml"/> + <include relativeToChangelogFile="true" file="Offeritem/changelog.xml"/> + <include relativeToChangelogFile="true" file="Salesorderitem/changelog.xml"/> + <include relativeToChangelogFile="true" file="Salesproject/changelog.xml"/> <include relativeToChangelogFile="true" file="Employee/changelog.xml"/> <include relativeToChangelogFile="true" file="Mosaico/insert_mosaico_color_keyword.xml"/> <include relativeToChangelogFile="true" file="Mailbridge/changelog.xml"/> <include relativeToChangelogFile="true" file="OfferOrder/changelog.xml"/> -</databaseChangeLog> + <include relativeToChangelogFile="true" file="BulkMail/changelog.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/offer.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/offer.xml index d129c2559996f8555a7a63db20ae4fa1bf3856cf..3df9e9fd415d60f98f1e8a2fca811a4966a6a6e2 100644 --- a/.liquibase/Data_alias/basic/_demoData/generatedData/offer.xml +++ b/.liquibase/Data_alias/basic/_demoData/generatedData/offer.xml @@ -144,6 +144,7 @@ <column name="DATE_NEW" valueDate="2019-05-17T08:27:21"/> <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/> <column name="STATUS" value="OFFERSTATWON"/> + <column name="PROBABILITY" valueNumeric="0"/> </insert> <insert tableName="offer"> <column name="PAYMENTTERMS" value="PAYTERM7"/> diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/offeritem.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/offeritem.xml index 393b314d4ef6e0f1b0d7c79f591e645f587db6b9..70437cfb1f191cce14b47c762be2dda9fb20f610 100644 --- a/.liquibase/Data_alias/basic/_demoData/generatedData/offeritem.xml +++ b/.liquibase/Data_alias/basic/_demoData/generatedData/offeritem.xml @@ -14,6 +14,7 @@ <column name="ITEMPOSITION" value="1.3"/> <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -27,6 +28,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="1000.00"/> <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="10.00"/> @@ -41,6 +43,7 @@ <column name="PRICE" valueNumeric="5000.00"/> <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/> <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="800.00"/> @@ -55,6 +58,7 @@ <column name="UNIT" value="QUANTITYHOUR"/> <column name="PRICE" valueNumeric="125.00"/> <column name="PRODUCT_ID" value="bb897bd1-244b-45cd-8a2f-f5a783cbbbff"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="3600.00"/> @@ -83,6 +87,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="3500.00"/> <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -96,6 +101,7 @@ <column name="ITEMPOSITION" value="1.1"/> <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -110,6 +116,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="50000.00"/> <column name="PRODUCT_ID" value="3d0086d3-f7fa-4328-bfc9-75cf37eb422c"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="2.00"/> @@ -124,6 +131,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="3.00"/> @@ -137,6 +145,7 @@ <column name="ITEMPOSITION" value="1.1.1"/> <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -151,6 +160,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="2500.00"/> <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="2.00"/> @@ -164,6 +174,7 @@ <column name="ITEMPOSITION" value="1.2"/> <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1000.00"/> @@ -177,6 +188,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="150.00"/> <column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="3.00"/> @@ -190,6 +202,7 @@ <column name="ITEMPOSITION" value="1.1.2"/> <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -204,6 +217,7 @@ <column name="UNIT" value="QUANTITYHOUR"/> <column name="PRICE" valueNumeric="1000.00"/> <column name="PRODUCT_ID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -219,6 +233,7 @@ <column name="PRICE" valueNumeric="10000.00"/> <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/> <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="3600.00"/> @@ -233,6 +248,7 @@ <column name="UNIT" value="QUANTITYHOUR"/> <column name="PRICE" valueNumeric="125.00"/> <column name="PRODUCT_ID" value="bb897bd1-244b-45cd-8a2f-f5a783cbbbff"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="5.00"/> @@ -248,6 +264,7 @@ <column name="PRICE" valueNumeric="10000.00"/> <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/> <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -262,6 +279,7 @@ <column name="PRICE" valueNumeric="50000.00"/> <column name="PRODUCT_ID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/> <column name="INFO" value="2 Zonen Klimaanlage für Klein- und Kompaktwagen"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -276,6 +294,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -303,6 +322,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="250.00"/> <column name="PRODUCT_ID" value="993f6294-f1fc-42d2-8786-1c13274fd133"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="2.00"/> @@ -317,6 +337,7 @@ <column name="UNIT" value="QUANTITYHOUR"/> <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="2.00"/> @@ -331,6 +352,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="3.00"/> @@ -345,6 +367,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -359,6 +382,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="50000.00"/> <column name="PRODUCT_ID" value="155ac430-ccfc-4814-95fc-189631779064"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="5.00"/> @@ -388,6 +412,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="600.00"/> <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="5.00"/> @@ -402,6 +427,7 @@ <column name="PRICE" valueNumeric="5000.00"/> <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/> <column name="INFO" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="offeritem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -415,6 +441,7 @@ <column name="UNIT" value="QUANTITYPIECES"/> <column name="PRICE" valueNumeric="25000.00"/> <column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/salesorderitem.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/salesorderitem.xml index 743844503622c2e957f5627f4ca5d518abec683f..f0d59d1e5e460741cf7cf5a8c3cefa187501acc0 100644 --- a/.liquibase/Data_alias/basic/_demoData/generatedData/salesorderitem.xml +++ b/.liquibase/Data_alias/basic/_demoData/generatedData/salesorderitem.xml @@ -14,6 +14,7 @@ <column name="PRODUCT_ID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/> <column name="SALESORDERITEMID" value="001410e8-f70b-4041-901c-02275ff6deb5"/> <column name="INFO" value="2 Zonen Klimaanlage für Klein- und Kompaktwagen"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -26,6 +27,7 @@ <column name="PRICE" valueNumeric="3500.00"/> <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> <column name="SALESORDERITEMID" value="07ceecff-e3cc-4891-b820-3fb6b977a9cc"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -38,6 +40,7 @@ <column name="PRICE" valueNumeric="3500.00"/> <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> <column name="SALESORDERITEMID" value="08de406a-79bf-468f-8fea-29acfc79a1e8"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -51,6 +54,7 @@ <column name="PRICE" valueNumeric="600.00"/> <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> <column name="SALESORDERITEMID" value="0b6823a7-7c89-4da8-a4fb-1f2ce4d3a6f0"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1200.00"/> @@ -74,6 +78,7 @@ <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> <column name="SALESORDERITEMID" value="17856c63-10f8-46c6-9295-5ad5bedff8ba"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="5.00"/> @@ -87,6 +92,7 @@ <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/> <column name="SALESORDERITEMID" value="2f409cb9-4d85-4e39-8e78-4838cd9a9224"/> <column name="INFO" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="10.00"/> @@ -100,6 +106,7 @@ <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/> <column name="SALESORDERITEMID" value="35c54c0a-760c-4a6b-a5f1-4d6beaec07ac"/> <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="5.00"/> @@ -113,6 +120,7 @@ <column name="PRODUCT_ID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/> <column name="SALESORDERITEMID" value="368569a0-4d4d-4535-b2a5-8e380d5612ef"/> <column name="INFO" value="4 Zonen Klimaanlage für Mittelklasse Wagen"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -125,6 +133,7 @@ <column name="PRICE" valueNumeric="25000.00"/> <column name="PRODUCT_ID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/> <column name="SALESORDERITEMID" value="39da8def-662f-4904-b9bf-b4e97affbeb7"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="50.00"/> @@ -138,6 +147,7 @@ <column name="PRICE" valueNumeric="1060.00"/> <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/> <column name="SALESORDERITEMID" value="3d9a18ac-2182-4cd5-a2c4-140674466821"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="2.00"/> @@ -151,6 +161,7 @@ <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> <column name="SALESORDERITEMID" value="45422c17-9626-4435-80ef-58c24fdf7559"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="2.00"/> @@ -164,6 +175,7 @@ <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/> <column name="SALESORDERITEMID" value="45c38cca-86b7-46f1-aee8-635c8f0603bc"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -177,6 +189,7 @@ <column name="PRICE" valueNumeric="50000.00"/> <column name="PRODUCT_ID" value="3d0086d3-f7fa-4328-bfc9-75cf37eb422c"/> <column name="SALESORDERITEMID" value="468023b8-fb3e-4e4c-9d30-841d12888b73"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -190,6 +203,7 @@ <column name="PRICE" valueNumeric="600.00"/> <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> <column name="SALESORDERITEMID" value="4c403665-3fc3-43cd-9921-1f07e2a358ef"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="2.00"/> @@ -203,6 +217,7 @@ <column name="PRICE" valueNumeric="210.00"/> <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/> <column name="SALESORDERITEMID" value="5396e85b-3144-400f-8f5d-c01e875679f7"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -216,6 +231,7 @@ <column name="PRICE" valueNumeric="25000.00"/> <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> <column name="SALESORDERITEMID" value="692f2acd-08b6-45d1-bcdf-6f8e46999039"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -230,6 +246,7 @@ <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/> <column name="SALESORDERITEMID" value="6e12bc70-5607-4ee5-b40f-2d65fd07ba22"/> <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -266,6 +283,7 @@ <column name="PRICE" valueNumeric="125.00"/> <column name="PRODUCT_ID" value="bb897bd1-244b-45cd-8a2f-f5a783cbbbff"/> <column name="SALESORDERITEMID" value="8e946799-4921-41a6-a419-eca29dc1a3e0"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="5.00"/> @@ -294,6 +312,7 @@ <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/> <column name="SALESORDERITEMID" value="950fd897-5ec0-4838-b45f-1b811ab391dd"/> <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -307,6 +326,7 @@ <column name="PRICE" valueNumeric="600.00"/> <column name="PRODUCT_ID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> <column name="SALESORDERITEMID" value="a157e7c1-8ed3-4231-9b84-1db9aa4f6bc6"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -319,6 +339,7 @@ <column name="PRICE" valueNumeric="1000.00"/> <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/> <column name="SALESORDERITEMID" value="b4f02784-4593-4caf-a845-40b426d00082"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1000.00"/> @@ -331,6 +352,7 @@ <column name="PRICE" valueNumeric="150.00"/> <column name="PRODUCT_ID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/> <column name="SALESORDERITEMID" value="b5f17aaa-ffa7-4c8e-bbcb-d51cfecb06db"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="5.00"/> @@ -359,6 +381,7 @@ <column name="PRODUCT_ID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/> <column name="SALESORDERITEMID" value="cd79054e-b74b-4c09-b49b-a62ee738818b"/> <column name="INFO" value="Standard Stahlträger mit den Maßen 5m x 0,3m x 0,3m."/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -372,6 +395,7 @@ <column name="PRICE" valueNumeric="1000.00"/> <column name="PRODUCT_ID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/> <column name="SALESORDERITEMID" value="cd7c9255-0de8-4b15-a952-caf9669b447a"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> <insert tableName="salesorderitem"> <column name="QUANTITY" valueNumeric="1.00"/> @@ -385,6 +409,7 @@ <column name="PRICE" valueNumeric="2500.00"/> <column name="PRODUCT_ID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/> <column name="SALESORDERITEMID" value="e53aaecf-d8b6-4327-96cb-66f004e4b5fb"/> + <column name="DISCOUNT" valueNumeric="0"/> </insert> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject.xml index 571a4489a807e1581709dcced953f52352c9a928..ae504db23f5b56a81d527ad993272f9d15562dd2 100644 --- a/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject.xml +++ b/.liquibase/Data_alias/basic/_demoData/generatedData/salesproject.xml @@ -41,6 +41,7 @@ <column name="SALESPROJECTID" value="7683f92d-a949-4b76-ba6f-57344d730f40"/> <column name="PROJECTTITLE" value="Meister Messebau/ Umsetzung"/> <column name="STATUS" value="SALPROJSTATOPEN"/> + <column name="PROBABILITY" valueNumeric="0.00"/> </insert> <insert tableName="salesproject"> <column name="PHASE" value="SALPROJPHASEOFFER"/> diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod index 5a95e209f60d6d026a2f8406f132dc440eaa1b37..c91cdcca4a5efb196f0c9d442aead91a284f0c4e 100644 --- a/entity/BulkMail_entity/BulkMail_entity.aod +++ b/entity/BulkMail_entity/BulkMail_entity.aod @@ -93,8 +93,9 @@ <entityField> <name>SENDER</name> <title>Sender address</title> + <consumer>SenderAddressKeyword</consumer> <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/sender/valueProcess.js</valueProcess> + <textInputAllowed v="true" /> <onValidation>%aditoprj%/entity/BulkMail_entity/entityfields/sender/onValidation.js</onValidation> </entityField> <entityField> @@ -641,6 +642,20 @@ <fieldName>ISO3Name</fieldName> </dependency> </entityConsumer> + <entityConsumer> + <name>SenderAddressKeyword</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/senderaddresskeyword/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/BulkMail_entity/entityfields/sender/valueProcess.js b/entity/BulkMail_entity/entityfields/sender/valueProcess.js deleted file mode 100644 index 88626d517388be0ae8c0186c2f3729d00b741eb7..0000000000000000000000000000000000000000 --- a/entity/BulkMail_entity/entityfields/sender/valueProcess.js +++ /dev/null @@ -1,8 +0,0 @@ -import("system.neon"); -import("system.vars"); -import("Communication_lib"); -import("system.result"); -import("Employee_lib"); - -if(vars.get("$this.value") == null && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) -result.string(CommUtil.getStandardMail(EmployeeUtils.getCurrentContactId())); \ No newline at end of file diff --git a/entity/BulkMail_entity/entityfields/senderaddresskeyword/children/containername_param/valueProcess.js b/entity/BulkMail_entity/entityfields/senderaddresskeyword/children/containername_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6429e2a55e085b274b35eeabbe613c94741d8b5e --- /dev/null +++ b/entity/BulkMail_entity/entityfields/senderaddresskeyword/children/containername_param/valueProcess.js @@ -0,0 +1,4 @@ +import("KeywordRegistry_basic"); +import("system.result"); + +result.string($KeywordRegistry.bulkMailSenderAddress()); \ No newline at end of file diff --git a/entity/Checklist_entity/Checklist_entity.aod b/entity/Checklist_entity/Checklist_entity.aod index 6608df6d0ef35f2c9ee6887768755695cd9c5558..19c219ceb5145bcedaf5c22861eb0eb4f1076654 100644 --- a/entity/Checklist_entity/Checklist_entity.aod +++ b/entity/Checklist_entity/Checklist_entity.aod @@ -67,7 +67,7 @@ </entityField> <entityField> <name>CHECKLIST_CONTEXT</name> - <title>Context</title> + <title>${CONTEXT}</title> <consumer>Contexts</consumer> <groupable v="true" /> <mandatory v="true" /> diff --git a/entity/DistrictChangeValidityDates_entity/onValidation.js b/entity/DistrictChangeValidityDates_entity/onValidation.js index 11ff32f6ed97d0f204bf0bc4c368bf38317aa0c3..ece25072947b140d07ecb0a771aa190cef9cebef 100644 --- a/entity/DistrictChangeValidityDates_entity/onValidation.js +++ b/entity/DistrictChangeValidityDates_entity/onValidation.js @@ -1,8 +1,9 @@ +import("system.translate"); import("system.result"); import("system.vars"); var count = vars.get("$field.count"); if(count == 0) { - result.string("No Datasets selected"); + result.string(translate.text("No Datasets selected")); } \ No newline at end of file diff --git a/entity/DistrictContact_entity/entityfields/filterviewactiongroup/children/changevalidity/onActionProcess.js b/entity/DistrictContact_entity/entityfields/filterviewactiongroup/children/changevalidity/onActionProcess.js index 1ba1dceffbacbc53b63b0fe55412dd2b9d4f2da2..756059093ddcae5d7471939e45d69125a8dd843e 100644 --- a/entity/DistrictContact_entity/entityfields/filterviewactiongroup/children/changevalidity/onActionProcess.js +++ b/entity/DistrictContact_entity/entityfields/filterviewactiongroup/children/changevalidity/onActionProcess.js @@ -8,7 +8,7 @@ import("system.vars"); var districtContactIds; var currentContext = ContextUtils.getCurrentContextId(); -if (vars.get("$sys.selection").length > 0) +if (vars.get("$sys.selection") && vars.get("$sys.selection").length > 0) { districtContactIds = vars.get("$sys.selection"); } diff --git a/entity/Employee_entity/recordcontainers/jdito/onDelete.js b/entity/Employee_entity/recordcontainers/jdito/onDelete.js index 24ad2b0487705801548cc6654fe9a82e0bdb4322..876381fb501a07aef95ed8946195bd1593c012a4 100644 --- a/entity/Employee_entity/recordcontainers/jdito/onDelete.js +++ b/entity/Employee_entity/recordcontainers/jdito/onDelete.js @@ -5,14 +5,60 @@ import("system.neon"); import("system.vars"); import("system.tools"); import("Employee_lib"); +import("system.tag"); //the current user should not delete himself if (EmployeeUtils.getCurrentUserName() != vars.get("$field.TITLE") && !EmployeeUtils.hasRelations(vars.get("$field.CONTACT_ID"))) { - tools.deleteUser(vars.get("$field.TITLE")); - - new AttributeRelationQuery(EmployeeUtils.sliceUserId(vars.get("$field.UID")), null, ContextUtils.getCurrentContextId()) - .deleteAllAttributes(); + var targetUserTitle = vars.get("$field.TITLE"); + if (targetUserTitle) + { + untagAllPrivateTaggedObjects(targetUserTitle); + tools.deleteUser(targetUserTitle); + + new AttributeRelationQuery(EmployeeUtils.sliceUserId(vars.get("$field.UID")), null, ContextUtils.getCurrentContextId()) + .deleteAllAttributes(); - WorkflowSignalSender.deleted(); + WorkflowSignalSender.deleted(); + } +} + +/* + * Untags all private tagged objects (default favorites and favorite groups) of the provided user. + */ +function untagAllPrivateTaggedObjects(pTargetUserTitle) +{ + var privateTags = []; + var targetUser = tools.getUser([pTargetUserTitle], tools.PROFILE_DEFAULT); + + var config = tag.createGetTaggedObjectsConfig(); + config.setUserId(targetUser.name); + + // get all objects tagged as default favorite + config.setTagType(tag.DEFAULT_FAVORITE_GROUP); + privateTags = privateTags.concat(getAllTaggedObjectIds(config)); + + // get all objects tagged as favorite group + config.setTagType(tag.FAVORITE_GROUP); + privateTags = privateTags.concat(getAllTaggedObjectIds(config)); + + // untag all private tags + config = tag.createUntagMultipleByIdConfig(); + config.setTaggedObjectsRecordIds(privateTags); + tag.untag(config); +} + +/* + * Returns an array containing all ids of private tagged objects (ID of ASYS_RECORD). + */ +function getAllTaggedObjectIds(pConfig) +{ + var allTaggedObjectIds = []; + + tag.getTaggedObjects(pConfig).forEach(function(taggedObject) { + if (taggedObject.id) + allTaggedObjectIds.push(taggedObject.id); + }); + + return allTaggedObjectIds; } \ No newline at end of file diff --git a/entity/KeywordCategory_entity/entityfields/sortingby/dropDownProcess.js b/entity/KeywordCategory_entity/entityfields/sortingby/dropDownProcess.js index 7857949a704707c91123e2f9d922b23fcfc1bef0..864f12458a9ae4d40c62a2cc85b43ab948b67d8e 100644 --- a/entity/KeywordCategory_entity/entityfields/sortingby/dropDownProcess.js +++ b/entity/KeywordCategory_entity/entityfields/sortingby/dropDownProcess.js @@ -3,7 +3,7 @@ import("system.translate"); result.object([ - ["0", translate.text("by sorting")], - ["1", translate.text("by name")], - ["2", translate.text("by translated name")], + ["0", translate.text("manually")], + ["1", translate.text("by title")], + ["2", translate.text("by translated title")], ]); \ No newline at end of file diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 9b143fe1e1a0d957a48705e44b631f8a1f040590..2dbe5967ccd2153fecdda665416384b29e63eae1 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -77,6 +77,7 @@ <minValue v="0" /> <outputFormat>0'%'</outputFormat> <groupable v="true" /> + <mandatory v="true" /> <dropDownProcess>%aditoprj%/entity/Offer_entity/entityfields/probability/dropDownProcess.js</dropDownProcess> <textInputAllowed v="false" /> <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/probability/stateProcess.js</stateProcess> diff --git a/entity/Offer_entity/entityfields/offerreportdispatch/children/dispatchofferreport/onActionProcess.js b/entity/Offer_entity/entityfields/offerreportdispatch/children/dispatchofferreport/onActionProcess.js index c9be3c889870754bed49436e6818a86aebc8ca22..32834d7795ed019a1dc794be35c67e45640c47ae 100644 --- a/entity/Offer_entity/entityfields/offerreportdispatch/children/dispatchofferreport/onActionProcess.js +++ b/entity/Offer_entity/entityfields/offerreportdispatch/children/dispatchofferreport/onActionProcess.js @@ -1,3 +1,4 @@ +import("Util_lib"); import("system.db"); import("system.vars"); import("system.question"); @@ -20,13 +21,18 @@ var additionalPlaceholders = [ new Placeholder("offerCode", Placeholder.types.FIXEDVALUE, vars.get("$field.FullOfferCode")) ]; -if (vars.get("$field.CONTACT_ID") == null || "") contactId = vars.get("$field.CONTACT_ORG_ID"); +if (Utils.isNullOrEmptyString(vars.get("$field.CONTACT_ID"))) +{ + contactId = vars.get("$field.CONTACT_ORG_ID"); +} offerReport.content = arrayReport[1]; offerReport.mimeType = MimeTypes.PDF(); -offerReport.filename = translate.text("Offer No.") + vars.get("$field.#CONTENTTITLE") + ".pdf"; +offerReport.filename = translate.text("Offer No.") + vars.get("$field.OfferCode_VersNr_fieldgroup") + ".pdf"; attachmentArray[0] = offerReport; -EmailWritingUtils.sendReportAsMail(contactId, attachmentArray, "Offer", notificationMsg, emailFilename, additionalPlaceholders, updateStatements, - $KeywordRegistry.documentTemplateTypeCategory$single()); +EmailWritingUtils.sendReportAsMail( + contactId, attachmentArray, "Offer", notificationMsg, emailFilename, additionalPlaceholders, updateStatements, + $KeywordRegistry.documentTemplateTypeCategory$single() +); diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod index 8791f8cf6abb0d5a2632c3b425aea6ba1c603faa..539426a9accdeccf35ae7df22f09485107038217 100644 --- a/entity/Offeritem_entity/Offeritem_entity.aod +++ b/entity/Offeritem_entity/Offeritem_entity.aod @@ -25,6 +25,7 @@ <outputFormat>0.00'%'</outputFormat> <inputFormat>0.00</inputFormat> <titleProcess>%aditoprj%/entity/Offeritem_entity/entityfields/discount/titleProcess.js</titleProcess> + <mandatory v="true" /> <onValidation>%aditoprj%/entity/Offeritem_entity/entityfields/discount/onValidation.js</onValidation> </entityField> <entityField> diff --git a/entity/Orderitem_entity/Orderitem_entity.aod b/entity/Orderitem_entity/Orderitem_entity.aod index da6218d0b5296177dbd061e7e3c4222128d21b0d..a22087028d3fb3ac617b40b7989e5cb94a5b6d3b 100644 --- a/entity/Orderitem_entity/Orderitem_entity.aod +++ b/entity/Orderitem_entity/Orderitem_entity.aod @@ -26,6 +26,7 @@ <inputFormat>0.00</inputFormat> <titleProcess>%aditoprj%/entity/Orderitem_entity/entityfields/discount/titleProcess.js</titleProcess> <onValidation>%aditoprj%/entity/Orderitem_entity/entityfields/discount/onValidation.js</onValidation> + <mandatory v="true" /> </entityField> <entityField> <name>GROUPCODEID</name> diff --git a/entity/Prod2prod_entity/Prod2prod_entity.aod b/entity/Prod2prod_entity/Prod2prod_entity.aod index 2cc4ae001df0fc3f0c49ca346d6ff4fdab3b273c..ead47cfc2b7ce1a9f304350248ad64201065a2a0 100644 --- a/entity/Prod2prod_entity/Prod2prod_entity.aod +++ b/entity/Prod2prod_entity/Prod2prod_entity.aod @@ -124,16 +124,6 @@ <title>Unit</title> <state>READONLY</state> </entityField> - <entityField> - <name>currentPurchasePrice</name> - <title>Curr. purchase price</title> - <state>READONLY</state> - </entityField> - <entityField> - <name>currentSalesPrice</name> - <title>Curr. sales price</title> - <state>READONLY</state> - </entityField> <entityField> <name>PARENT_ID</name> </entityField> @@ -144,6 +134,16 @@ <name>PICTURE</name> <contentType>IMAGE</contentType> </entityField> + <entityField> + <name>currentSalesPrice</name> + <title>Curr. sales price</title> + <state>READONLY</state> + </entityField> + <entityField> + <name>currentPurchasePrice</name> + <title>Curr. purchase price</title> + <state>READONLY</state> + </entityField> </entityFields> <recordContainers> <jDitoRecordContainer> diff --git a/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js b/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js index 498192c6dc9e096ec2f225e2c5bad1234bc17305..6b7340b99f92da214cf9f70f511e441c2d15ec55 100644 --- a/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js +++ b/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js @@ -1,3 +1,5 @@ +import("system.eMath"); +import("Util_lib"); import("system.text"); import("Product_lib"); import("KeywordRegistry_basic"); @@ -6,25 +8,187 @@ import("Sql_lib"); import("system.vars"); import("system.neon"); -var productId = vars.get("$local.value"); +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + var buyPrice = ""; + var sellPrice = ""; + var productId = vars.get("$local.value"); + + var unit = newSelect(KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.quantityUnit(), "PRODUCT.UNIT")) + .from("PRODUCT") + .where("PRODUCT.PRODUCTID", productId) + .cell(); + var data = ""; + var purchasePrice = ProductUtils.getCurrentProductPrice(productId, "PP", true); + if (purchasePrice.length > 0) + { + purchasePrice = text.formatDouble(purchasePrice[0], "#,##0.00", true) + " " + purchasePrice[1]; + } + else + { + let calcPrices = _calcPrices(); + buyPrice = calcPrices["buyPrice"]; + sellPrice = calcPrices["sellPrice"]; + purchasePrice = buyPrice; + } -var unit = newSelect(KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.quantityUnit(), "PRODUCT.UNIT")) - .from("PRODUCT") - .where("PRODUCT.PRODUCTID", productId) - .cell(); + var salesPrice = ProductUtils.getCurrentProductPrice(productId, "SP", true); + if (salesPrice.length > 0) + { + salesPrice = text.formatDouble(salesPrice[0], "#,##0.00", true) + " " + salesPrice[1]; + } + else + { + if(Utils.isNullOrEmptyString(data)) + { + let calcPrices = _calcPrices(); + buyPrice = calcPrices["buyPrice"]; + sellPrice = calcPrices["sellPrice"]; + } + salesPrice = sellPrice; + } + + neon.setFieldValue("$field.unit", unit); + neon.setFieldValue("$field.currentPurchasePrice", purchasePrice); + neon.setFieldValue("$field.currentSalesPrice", salesPrice); +} -var purchasePrice = ProductUtils.getCurrentProductPrice(productId, "PP", true); -if (purchasePrice.length > 0) +/* +* Recursive function that retuns the childs of a product parts list +* +* @param {String} pId - uid value +* +* @param {String} pProductId product id +* +* @param {Integer} pMaxRecursion max recursion +* +* @return {Array} Childs + */ +function _getChilds(pId, pProductId, pMaxRecursion) { - purchasePrice = text.formatDouble(purchasePrice[0], "#,##0.00", true) + " " + purchasePrice[1]; + if(pMaxRecursion == 0) + { + return []; + } + var items = prod2prod.filter(function(p2p) { + return p2p[5] == pProductId; + }); + var itemChilds = []; + items.forEach(function(p2p) { + p2p[2] = pId; + itemChilds.push(_getChilds(p2p[0], p2p[3], pMaxRecursion - 1)); + }); + return Array.prototype.concat.apply(items, itemChilds); } -var salesPrice = ProductUtils.getCurrentProductPrice(productId, "SP", true); -if (salesPrice.length > 0) +/* +* Caclulates the prace of pProdId by adding up the child prices +* +* @param {String} pProdId - uid value +* +* @param {String} pProductAndChildProducts product id +* +* @param {Integer} pPpSp buy/sell possible values: "PP", "SP" +* +* @return {String} Price + */ +function _calculatePriceFromChildren(pProdId, pProductAndChildProducts, pPpSp) { - salesPrice = text.formatDouble(salesPrice[0], "#,##0.00", true) + " " + salesPrice[1]; + var children = pProductAndChildProducts[pProdId]; + var price = ""; + if(children != undefined) + { + for (let i = 0; i < children.length; i++) + { + let childProdId = children[i]; + childPrice = productPrices[childProdId][pPpSp]; + if(childPrice && Utils.isNotNullOrEmptyString(childPrice)) + { + + if(price == "") + { + price = 0; + } + price = eMath.addDec(price, childPrice); + } + } + } + return price; } -neon.setFieldValue("$field.unit", unit); -neon.setFieldValue("$field.currentPurchasePrice", purchasePrice); -neon.setFieldValue("$field.currentSalesPrice", salesPrice); \ No newline at end of file +/* +* Caclulates the buy and sales prices for the current product +* +* @return {Object} Object with buyPrice and sellPrice. + */ +function _calcPrices() +{ + var sqlMask = new SqlMaskingUtils(); + prod2prod = newSelect([ + "PROD2PROD.PROD2PRODID", // UID.value + "PROD2PROD.PROD2PRODID", // PROD2PRODID.value + "''", // PARENT_ID.value + "PROD2PROD.SOURCE_ID", // SOURCE_ID.value + "PRODUCT.PRODUCTNAME", // SOURCE_ID.displayValue + "PROD2PROD.DEST_ID", // DEST_ID.value + ]).from("PROD2PROD") + .join("PRODUCT", "PRODUCT.PRODUCTID = PROD2PROD.SOURCE_ID") + .where("PROD2PROD.SOURCE_ID", vars.get("$local.value")) + .or("PROD2PROD.DEST_ID", vars.get("$local.value")) + .table(); + + data = _getChilds(null, vars.get("$local.value"), 20) + var productAndChildProducts = {}; + var productPrices = {}; + + for(var i = data.length - 1; i >= 0; i--)//loop backwards + { + var productId = data[i][3]; + var prodId = data[i][0]; + var parentId = data[i][2]; + + if(!productAndChildProducts.hasOwnProperty(parentId)) + { + productAndChildProducts[parentId] = [prodId]; + } + else + { + productAndChildProducts[parentId].push(prodId); + } + + productPrices[prodId] = {}; + + var purchasePrice = ProductUtils.getCurrentProductPrice(productId, "PP", true); + productPrices[prodId]["PP"] = purchasePrice.length == 0 ? _calculatePriceFromChildren(prodId, productAndChildProducts, "PP") : purchasePrice[0]; + + var salesPrice = ProductUtils.getCurrentProductPrice(productId, "SP", true); + productPrices[prodId]["SP"] = salesPrice.length == 0 ? _calculatePriceFromChildren(prodId, productAndChildProducts, "SP") : salesPrice[0]; + + } + + for (i = 0; i < productAndChildProducts[null].length; i++) + { + var currentProdId = productAndChildProducts[null][i]; + + if(Utils.isNotNullOrEmptyString(productPrices[currentProdId]["PP"])) + { + buyPrice = eMath.addDec(buyPrice, productPrices[currentProdId]["PP"]); + } + if(Utils.isNotNullOrEmptyString(productPrices[currentProdId]["SP"])) + { + sellPrice = eMath.addDec(sellPrice, productPrices[currentProdId]["SP"]); + } + } + buyPrice =( + Utils.isNullOrEmptyString(buyPrice) ? "" : + text.formatDouble(buyPrice, "#,##0.00", true) + " " + "Euro" + ); + + sellPrice =( + Utils.isNullOrEmptyString(sellPrice) ? "" : + text.formatDouble(sellPrice, "#,##0.00", true) + " " + "Euro" + ); + + return {"buyPrice": buyPrice + , "sellPrice": sellPrice}; +} \ No newline at end of file diff --git a/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js b/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js index 9c60cc28a8c3905a4c3419520d44bdb5ac1ea277..42e34ece3d422f06fee8f846dc94ebeb54cb88e4 100644 --- a/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,5 @@ +import("system.eMath"); +import("Util_lib"); import("Product_lib"); import("system.text"); import("system.neon"); @@ -31,23 +33,68 @@ var query = newSelect([ .join("PRODUCT", "PRODUCT.PRODUCTID = PROD2PROD.SOURCE_ID"); function _returnData(data) { - for(let i = 0; i < data.length; i++) + + var productAndChildProducts = {}; + var productPrices = {}; + function _calculatePriceFromChildren(pProdId, pParentId, pPpSp) + { + var children = productAndChildProducts[pProdId]; + var price = ""; + if(children != undefined) + { + for (let i = 0; i < children.length; i++) + { + let childProdId = children[i]; + childPrice = productPrices[childProdId][pPpSp]; + if(childPrice && Utils.isNotNullOrEmptyString(childPrice)) + { + + if(price == "") + { + price = 0; + } + price = eMath.addDec(price, childPrice); + } + } + } + return price; + } + + for(var i = data.length - 1; i >= 0; i--)//loop backwards { var productId = data[i][3]; + var prodId = data[i][0]; + var parentId = data[i][2]; + + if(!productAndChildProducts.hasOwnProperty(parentId)) + { + productAndChildProducts[parentId] = [prodId]; + } + else + { + productAndChildProducts[parentId].push(prodId); + } + + productPrices[prodId] = {}; - // currentPurchasePrice.value var purchasePrice = ProductUtils.getCurrentProductPrice(productId, "PP", true); + productPrices[prodId]["PP"] = purchasePrice.length == 0 ? _calculatePriceFromChildren(prodId, parentId, "PP") : purchasePrice[0]; + + var salesPrice = ProductUtils.getCurrentProductPrice(productId, "SP", true); + productPrices[prodId]["SP"] = salesPrice.length == 0 ? _calculatePriceFromChildren(prodId, parentId, "SP") : salesPrice[0]; + + // currentPurchasePrice.value data[i].push( - purchasePrice.length == 0 ? "" : - text.formatDouble(purchasePrice[0], "#,##0.00", true) + " " + purchasePrice[1] + Utils.isNullOrEmptyString(productPrices[prodId]["PP"]) ? "" : + text.formatDouble(productPrices[prodId]["PP"], "#,##0.00", true) + " " + "Euro" ); // currentSalesPrice.value - var salesPrice = ProductUtils.getCurrentProductPrice(productId, "SP", true); data[i].push( - salesPrice.length == 0 ? "" : - text.formatDouble(salesPrice[0], "#,##0.00", true) + " " + salesPrice[1] + Utils.isNullOrEmptyString(productPrices[prodId]["SP"]) ? "" : + text.formatDouble(productPrices[prodId]["SP"], "#,##0.00", true) + " " + "Euro" ); + } result.object(data); } @@ -76,4 +123,4 @@ else return Array.prototype.concat.apply(items, itemChilds); } _returnData(_getChilds(null, vars.get("$param.ProductId_param"), 20)); -} +} \ No newline at end of file diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index a4a0042cb90cf0ddb5708954771988e46a813a7c..ff7f6cbe34e6b06d62d6be56fc468277910e8119 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -136,6 +136,7 @@ <outputFormat>0'%'</outputFormat> <inputFormat>0'%'</inputFormat> <groupable v="true" /> + <mandatory v="true" /> </entityField> <entityConsumer> <name>SalesprojectSources</name> diff --git a/entity/TopicTree_entity/TopicTree_entity.aod b/entity/TopicTree_entity/TopicTree_entity.aod index a1f57a287242fa31a59c821b2ea0f24869d45e27..7c8c12832377b99735c6b18438212dc1edd74412 100644 --- a/entity/TopicTree_entity/TopicTree_entity.aod +++ b/entity/TopicTree_entity/TopicTree_entity.aod @@ -7,6 +7,7 @@ <grantDeleteProcess>%aditoprj%/entity/TopicTree_entity/grantDeleteProcess.js</grantDeleteProcess> <contentTitleProcess>%aditoprj%/entity/TopicTree_entity/contentTitleProcess.js</contentTitleProcess> <iconId>VAADIN:TREE_TABLE</iconId> + <recordsRecipeSupported v="true" /> <recordContainer>jdito</recordContainer> <entityFields> <entityProvider> @@ -104,6 +105,7 @@ <title>First</title> <onActionProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/first/onActionProcess.js</onActionProcess> <isObjectAction v="false" /> + <selectionType>MULTI</selectionType> <iconId>VAADIN:ANGLE_DOUBLE_UP</iconId> <stateProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/first/stateProcess.js</stateProcess> </entityActionField> @@ -112,6 +114,7 @@ <title>Move Up</title> <onActionProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/moveup/onActionProcess.js</onActionProcess> <isObjectAction v="false" /> + <selectionType>MULTI</selectionType> <iconId>VAADIN:ANGLE_UP</iconId> <stateProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/moveup/stateProcess.js</stateProcess> </entityActionField> @@ -120,6 +123,7 @@ <title>Move Down</title> <onActionProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/movedown/onActionProcess.js</onActionProcess> <isObjectAction v="false" /> + <selectionType>MULTI</selectionType> <iconId>VAADIN:ANGLE_DOWN</iconId> <stateProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/movedown/stateProcess.js</stateProcess> </entityActionField> @@ -128,6 +132,7 @@ <title>Last</title> <onActionProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/last/onActionProcess.js</onActionProcess> <isObjectAction v="false" /> + <selectionType>MULTI</selectionType> <iconId>VAADIN:ANGLE_DOUBLE_DOWN</iconId> <stateProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/last/stateProcess.js</stateProcess> </entityActionField> @@ -135,13 +140,14 @@ <name>copy</name> <title>Copy</title> <onActionProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/copy/onActionProcess.js</onActionProcess> + <selectionType>MULTI</selectionType> <iconId>VAADIN:COPY</iconId> - <stateProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/copy/stateProcess.js</stateProcess> </entityActionField> <entityActionField> <name>paste</name> <title>Paste</title> <onActionProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/paste/onActionProcess.js</onActionProcess> + <selectionType>MULTI</selectionType> <iconId>VAADIN:PASTE</iconId> <stateProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/paste/stateProcess.js</stateProcess> </entityActionField> @@ -149,6 +155,7 @@ <name>pasteAsTopTopic</name> <title>Paste as Top Topic</title> <onActionProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/pasteastoptopic/onActionProcess.js</onActionProcess> + <selectionType>MULTI</selectionType> <iconId>VAADIN:PASTE</iconId> <stateProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/pasteastoptopic/stateProcess.js</stateProcess> </entityActionField> @@ -156,6 +163,7 @@ <name>cut</name> <title>Cut</title> <onActionProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/cut/onActionProcess.js</onActionProcess> + <selectionType>MULTI</selectionType> <iconId>VAADIN:SCISSORS</iconId> <stateProcess>%aditoprj%/entity/TopicTree_entity/entityfields/more/children/cut/stateProcess.js</stateProcess> </entityActionField> diff --git a/entity/TopicTree_entity/entityfields/createexpand/children/createchildtopic/onActionProcess.js b/entity/TopicTree_entity/entityfields/createexpand/children/createchildtopic/onActionProcess.js index 6e11443e9dda8a886c5a8585b8fd195a78c058d5..8412c62f4711a775f8ddb22f4750656da64256d6 100644 --- a/entity/TopicTree_entity/entityfields/createexpand/children/createchildtopic/onActionProcess.js +++ b/entity/TopicTree_entity/entityfields/createexpand/children/createchildtopic/onActionProcess.js @@ -6,8 +6,7 @@ import("Attribute_lib"); var params = {}; if (vars.exists("$sys.selection")) { - var row = vars.get("$sys.selection"); - var topicTreeId = row[0]; + var topicTreeId = vars.get("$field.TOPICTREEID"); params["AssignedToId_param"] = topicTreeId; } neon.openContextWithRecipe("TopicTree", "TopicTreeEdit_view", neonFilter.createEntityRecordsRecipeBuilder().parameters(params).toString(), neon.OPERATINGSTATE_NEW); \ No newline at end of file diff --git a/entity/TopicTree_entity/entityfields/createexpand/children/createchildtopic/stateProcess.js b/entity/TopicTree_entity/entityfields/createexpand/children/createchildtopic/stateProcess.js index 0e259b3b846e565b0793a70b3fb37cd1a53515d4..2a720a7a63ae74539c9ea4f907fbc6ab53973b75 100644 --- a/entity/TopicTree_entity/entityfields/createexpand/children/createchildtopic/stateProcess.js +++ b/entity/TopicTree_entity/entityfields/createexpand/children/createchildtopic/stateProcess.js @@ -1,3 +1,4 @@ +import("Util_lib"); import("system.result"); import("system.eMath"); import("system.neon"); @@ -8,10 +9,10 @@ var state = neon.COMPONENTSTATE_DISABLED; if(operatingState != neon.OPERATINGSTATE_NEW && operatingState != neon.OPERATINGSTATE_EDIT) { - var selection = vars.get("$sys.selectionRows")[0]; - if(selection && selection.sortingHelper != "") + var selection = vars.get("$sys.selectionsRecordsRecipe"); + if(selection && JSON.parse(selection)["uidsIncludelist"][0] && Utils.isNotNullOrEmptyString(vars.get("$field.sortingHelper"))) { - var sortingObj = JSON.parse(selection.sortingHelper); + var sortingObj = JSON.parse(vars.get("$field.sortingHelper")); var layer = sortingObj.sortingLayer; if(layer != "SORTING_LAYER_6") { diff --git a/entity/TopicTree_entity/entityfields/more/children/copy/onActionProcess.js b/entity/TopicTree_entity/entityfields/more/children/copy/onActionProcess.js index 04b811522dd2345d2ed9a5804b39af8e1eed7479..e52ea430b4aeed3d00ad9faaa70fc53e8e07edbc 100644 --- a/entity/TopicTree_entity/entityfields/more/children/copy/onActionProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/copy/onActionProcess.js @@ -1,7 +1,24 @@ import("TopicTree_lib"); import("system.vars"); -var topicDatSet = vars.get("$sys.selectionRows")[0]; +var topicDatSet = {}; +topicDatSet["ACTIVE"] = vars.get("$field.ACTIVE"); +topicDatSet["ASSIGNEDTO"] = vars.get("$field.ASSIGNEDTO"); +topicDatSet["DATE_EDIT"] = vars.get("$field.DATE_EDIT"); +topicDatSet["DATE_NEW"] = vars.get("$field.DATE_NEW"); +topicDatSet["SORTING_LAYER_1"] = vars.get("$field.SORTING_LAYER_1"); +topicDatSet["SORTING_LAYER_2"] = vars.get("$field.SORTING_LAYER_2"); +topicDatSet["SORTING_LAYER_3"] = vars.get("$field.SORTING_LAYER_3"); +topicDatSet["SORTING_LAYER_4"] = vars.get("$field.SORTING_LAYER_4"); +topicDatSet["SORTING_LAYER_5"] = vars.get("$field.SORTING_LAYER_5"); +topicDatSet["SORTING_LAYER_6"] = vars.get("$field.SORTING_LAYER_6"); +topicDatSet["TOPIC"] = vars.get("$field.TOPIC"); +topicDatSet["DESCRIPTION"] = vars.get("$field.DESCRIPTION"); +topicDatSet["TOPICTREEID"] = vars.get("$field.TOPICTREEID"); +topicDatSet["#UID"] = vars.get("$field.UID"); +topicDatSet["USER_EDIT"] = vars.get("$field.USER_EDIT"); +topicDatSet["USER_NEW"] = vars.get("$field.USER_NEW"); +topicDatSet["sortingHelper"] = vars.get("$field.sortingHelper"); vars.set("$context.HasToBeCut", false); vars.set("$context.Copied", JSON.stringify({dataset: topicDatSet diff --git a/entity/TopicTree_entity/entityfields/more/children/copy/stateProcess.js b/entity/TopicTree_entity/entityfields/more/children/copy/stateProcess.js deleted file mode 100644 index 3f81b4f375b84c14050bdfc7577055d5b20216e8..0000000000000000000000000000000000000000 --- a/entity/TopicTree_entity/entityfields/more/children/copy/stateProcess.js +++ /dev/null @@ -1,12 +0,0 @@ -import("system.db"); -import("system.neon"); -import("system.result"); -import("system.vars"); - -var selection = vars.get("$sys.selectionRows")[0]; -var state = neon.COMPONENTSTATE_DISABLED; -if(selection) -{ - state = neon.COMPONENTSTATE_EDITABLE; -} -result.string(state); \ No newline at end of file diff --git a/entity/TopicTree_entity/entityfields/more/children/cut/onActionProcess.js b/entity/TopicTree_entity/entityfields/more/children/cut/onActionProcess.js index 0de3d45cd47a69ec2c21c7667178f5540f52ae6f..aa044d1eed03eb687910f30234bfc54636fc741e 100644 --- a/entity/TopicTree_entity/entityfields/more/children/cut/onActionProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/cut/onActionProcess.js @@ -1,7 +1,23 @@ import("TopicTree_lib"); import("system.vars"); -var topicDatSet = vars.get("$sys.selectionRows")[0]; +var topicDatSet = {}; +topicDatSet["ACTIVE"] = vars.get("$field.ACTIVE"); +topicDatSet["ASSIGNEDTO"] = vars.get("$field.ASSIGNEDTO"); +topicDatSet["DATE_EDIT"] = vars.get("$field.DATE_EDIT"); +topicDatSet["DATE_NEW"] = vars.get("$field.DATE_NEW"); +topicDatSet["SORTING_LAYER_1"] = vars.get("$field.SORTING_LAYER_1"); +topicDatSet["SORTING_LAYER_2"] = vars.get("$field.SORTING_LAYER_2"); +topicDatSet["SORTING_LAYER_3"] = vars.get("$field.SORTING_LAYER_3"); +topicDatSet["SORTING_LAYER_4"] = vars.get("$field.SORTING_LAYER_4"); +topicDatSet["SORTING_LAYER_5"] = vars.get("$field.SORTING_LAYER_5"); +topicDatSet["SORTING_LAYER_6"] = vars.get("$field.SORTING_LAYER_6"); +topicDatSet["TOPIC"] = vars.get("$field.TOPIC"); +topicDatSet["TOPICTREEID"] = vars.get("$field.TOPICTREEID"); +topicDatSet["#UID"] = vars.get("$field.UID"); +topicDatSet["USER_EDIT"] = vars.get("$field.USER_EDIT"); +topicDatSet["USER_NEW"] = vars.get("$field.USER_NEW"); +topicDatSet["sortingHelper"] = vars.get("$field.sortingHelper"); vars.set("$context.Copied", JSON.stringify({dataset: topicDatSet , amountOfLayers: TopicTreeUtils.getAmountOfLayers(topicDatSet)})); diff --git a/entity/TopicTree_entity/entityfields/more/children/cut/stateProcess.js b/entity/TopicTree_entity/entityfields/more/children/cut/stateProcess.js index da1b7324b98030e890d11a91b7cfc7a470ae77de..89f86e7d116f89b87b1801a56c981ff7f8e88786 100644 --- a/entity/TopicTree_entity/entityfields/more/children/cut/stateProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/cut/stateProcess.js @@ -1,14 +1,32 @@ +import("Util_lib"); import("system.neon"); import("system.result"); import("Sql_lib"); import("TopicTree_lib"); import("system.vars"); -var selection = vars.get("$sys.selectionRows"); +var selection = vars.get("$sys.selectionsRecordsRecipe"); var state = neon.COMPONENTSTATE_DISABLED; -if(selection && selection.length > 0) +if(selection && !Utils.isNullOrEmpty(selection[0])) { - var topicDatSet = selection[0]; + var topicDatSet = {}; + topicDatSet["ACTIVE"] = vars.get("$field.ACTIVE"); + topicDatSet["ASSIGNEDTO"] = vars.get("$field.ASSIGNEDTO"); + topicDatSet["DATE_EDIT"] = vars.get("$field.DATE_EDIT"); + topicDatSet["DATE_NEW"] = vars.get("$field.DATE_NEW"); + topicDatSet["SORTING_LAYER_1"] = vars.get("$field.SORTING_LAYER_1"); + topicDatSet["SORTING_LAYER_2"] = vars.get("$field.SORTING_LAYER_2"); + topicDatSet["SORTING_LAYER_3"] = vars.get("$field.SORTING_LAYER_3"); + topicDatSet["SORTING_LAYER_4"] = vars.get("$field.SORTING_LAYER_4"); + topicDatSet["SORTING_LAYER_5"] = vars.get("$field.SORTING_LAYER_5"); + topicDatSet["SORTING_LAYER_6"] = vars.get("$field.SORTING_LAYER_6"); + topicDatSet["TOPIC"] = vars.get("$field.TOPIC"); + topicDatSet["TOPICTREEID"] = vars.get("$field.TOPICTREEID"); + topicDatSet["#UID"] = vars.get("$field.UID"); + topicDatSet["USER_EDIT"] = vars.get("$field.USER_EDIT"); + topicDatSet["USER_NEW"] = vars.get("$field.USER_NEW"); + topicDatSet["sortingHelper"] = vars.get("$field.sortingHelper"); + var topicIds = TopicTreeUtils.getSubTopicIds(topicDatSet); var count = 0; diff --git a/entity/TopicTree_entity/entityfields/more/children/first/onActionProcess.js b/entity/TopicTree_entity/entityfields/more/children/first/onActionProcess.js index 328ca8c9be6d35e44604c2cecfc8c137d4f331a0..ea59797c078d3c393fd4deafa427de37a46bc68c 100644 --- a/entity/TopicTree_entity/entityfields/more/children/first/onActionProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/first/onActionProcess.js @@ -2,11 +2,10 @@ import("system.neon"); import("TopicTree_lib"); import("system.vars"); -var selection = vars.get("$sys.selectionRows")[0]; -var topicTreeid = selection["#UID"]; -var sortingHelper = JSON.parse(selection.sortingHelper); -var currentLayer = TopicTreeUtils.getLayer(selection.SORTING_LAYER_1, selection.SORTING_LAYER_2, selection.SORTING_LAYER_3, selection.SORTING_LAYER_4, selection.SORTING_LAYER_5, selection.SORTING_LAYER_6); -var assignedTo = selection.ASSIGNEDTO == "" ? $TopicTreeConstants.TOPTOPIC() : selection.ASSIGNEDTO; +var topicTreeid = vars.get("$field.UID"); +var sortingHelper = JSON.parse(vars.get("$field.sortingHelper")); +var currentLayer = TopicTreeUtils.getLayer(vars.get("$field.SORTING_LAYER_1"), vars.get("$field.SORTING_LAYER_2"), vars.get("$field.SORTING_LAYER_3"), vars.get("$field.SORTING_LAYER_4"), vars.get("$field.SORTING_LAYER_5"), vars.get("$field.SORTING_LAYER_6")); +var assignedTo = vars.get("$field.ASSIGNEDTO") == "" ? $TopicTreeConstants.TOPTOPIC() : vars.get("$field.ASSIGNEDTO"); TopicTreeUtils.movePosition(topicTreeid, $TopicTreeMoveDirections.TOP(), sortingHelper.maxSortingValue, assignedTo, sortingHelper.ownSortingValue, currentLayer); neon.refreshAll(); \ No newline at end of file diff --git a/entity/TopicTree_entity/entityfields/more/children/first/stateProcess.js b/entity/TopicTree_entity/entityfields/more/children/first/stateProcess.js index 1a90e3c289a1d561f6959c35adef58380815ab50..ba9a2d08fdd217b67f5b8d2f79edb435537ae527 100644 --- a/entity/TopicTree_entity/entityfields/more/children/first/stateProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/first/stateProcess.js @@ -1,3 +1,4 @@ +import("Util_lib"); import("system.result"); import("system.eMath"); import("system.neon"); @@ -7,10 +8,10 @@ var operatingState = vars.get("$sys.operatingstate"); var state = neon.COMPONENTSTATE_DISABLED; if(operatingState != neon.OPERATINGSTATE_NEW && operatingState != neon.OPERATINGSTATE_EDIT) { - var selection = vars.get("$sys.selectionRows")[0]; - if(selection && selection.sortingHelper != "") + var selection = vars.get("$sys.selectionsRecordsRecipe"); + if(selection && JSON.parse(selection)["uidsIncludelist"][0] && Utils.isNotNullOrEmptyString(vars.get("$field.sortingHelper"))) { - var sortingObj = JSON.parse(selection.sortingHelper); + var sortingObj = JSON.parse(vars.get("$field.sortingHelper")); var ownSortingValue = sortingObj.ownSortingValue; if(ownSortingValue != 1) { diff --git a/entity/TopicTree_entity/entityfields/more/children/last/onActionProcess.js b/entity/TopicTree_entity/entityfields/more/children/last/onActionProcess.js index bb26a0d1dc66b815e53da2d5b26d61755918f8c7..44691e40d5fc7201f895ba168b4de99e5e7bf43c 100644 --- a/entity/TopicTree_entity/entityfields/more/children/last/onActionProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/last/onActionProcess.js @@ -2,11 +2,10 @@ import("system.neon"); import("TopicTree_lib"); import("system.vars"); -var selection = vars.get("$sys.selectionRows")[0]; -var topicTreeid = selection["#UID"]; -var sortingHelper = JSON.parse(selection.sortingHelper); -var currentLayer = TopicTreeUtils.getLayer(selection.SORTING_LAYER_1, selection.SORTING_LAYER_2, selection.SORTING_LAYER_3, selection.SORTING_LAYER_4, selection.SORTING_LAYER_5, selection.SORTING_LAYER_6); -var assignedTo = selection.ASSIGNEDTO == "" ? $TopicTreeConstants.TOPTOPIC() : selection.ASSIGNEDTO; +var topicTreeid = vars.get("$field.UID"); +var sortingHelper = JSON.parse(vars.get("$field.sortingHelper")); +var currentLayer = TopicTreeUtils.getLayer(vars.get("$field.SORTING_LAYER_1"), vars.get("$field.SORTING_LAYER_2"), vars.get("$field.SORTING_LAYER_3"), vars.get("$field.SORTING_LAYER_4"), vars.get("$field.SORTING_LAYER_5"), vars.get("$field.SORTING_LAYER_6")); +var assignedTo = vars.get("$field.ASSIGNEDTO") == "" ? $TopicTreeConstants.TOPTOPIC() : vars.get("$field.ASSIGNEDTO"); TopicTreeUtils.movePosition(topicTreeid, $TopicTreeMoveDirections.BOTTOM(), sortingHelper.maxSortingValue, assignedTo, sortingHelper.ownSortingValue, currentLayer); neon.refreshAll(); \ No newline at end of file diff --git a/entity/TopicTree_entity/entityfields/more/children/last/stateProcess.js b/entity/TopicTree_entity/entityfields/more/children/last/stateProcess.js index b0e5ad3ee6202c8d7ff8d87f57046373570a60c6..8ce0611a7677702383f48477565fd8a8508ac73d 100644 --- a/entity/TopicTree_entity/entityfields/more/children/last/stateProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/last/stateProcess.js @@ -1,3 +1,4 @@ +import("Util_lib"); import("system.result"); import("system.eMath"); import("system.neon"); @@ -8,10 +9,10 @@ var state = neon.COMPONENTSTATE_DISABLED; if(operatingState != neon.OPERATINGSTATE_NEW && operatingState != neon.OPERATINGSTATE_EDIT) { - var selection = vars.get("$sys.selectionRows")[0]; - if(selection && selection.sortingHelper != "") + var selection = vars.get("$sys.selectionsRecordsRecipe"); + if(selection && JSON.parse(selection)["uidsIncludelist"][0] && Utils.isNotNullOrEmptyString(vars.get("$field.sortingHelper"))) { - var sortingObj = JSON.parse(selection.sortingHelper); + var sortingObj = JSON.parse(vars.get("$field.sortingHelper")); var maxSorting = sortingObj.maxSortingValue; var ownSortingValue = sortingObj.ownSortingValue; if(eMath.addInt(ownSortingValue, 1) <= maxSorting) diff --git a/entity/TopicTree_entity/entityfields/more/children/movedown/onActionProcess.js b/entity/TopicTree_entity/entityfields/more/children/movedown/onActionProcess.js index cf3eac3f952dd7fd3aeeb3f9602680e61789caad..ce04d4afde09e23cc7e2cb793ab0f57294623270 100644 --- a/entity/TopicTree_entity/entityfields/more/children/movedown/onActionProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/movedown/onActionProcess.js @@ -2,11 +2,10 @@ import("system.neon"); import("TopicTree_lib"); import("system.vars"); -var selection = vars.get("$sys.selectionRows")[0]; -var topicTreeid = selection["#UID"]; -var sortingHelper = JSON.parse(selection.sortingHelper); -var currentLayer = TopicTreeUtils.getLayer(selection.SORTING_LAYER_1, selection.SORTING_LAYER_2, selection.SORTING_LAYER_3, selection.SORTING_LAYER_4, selection.SORTING_LAYER_5, selection.SORTING_LAYER_6); -var assignedTo = selection.ASSIGNEDTO == "" ? $TopicTreeConstants.TOPTOPIC() : selection.ASSIGNEDTO; +var topicTreeid = vars.get("$field.UID"); +var sortingHelper = JSON.parse(vars.get("$field.sortingHelper")); +var currentLayer = TopicTreeUtils.getLayer(vars.get("$field.SORTING_LAYER_1"), vars.get("$field.SORTING_LAYER_2"), vars.get("$field.SORTING_LAYER_3"), vars.get("$field.SORTING_LAYER_4"), vars.get("$field.SORTING_LAYER_5"), vars.get("$field.SORTING_LAYER_6")); +var assignedTo = vars.get("$field.ASSIGNEDTO") == "" ? $TopicTreeConstants.TOPTOPIC() : vars.get("$field.ASSIGNEDTO"); TopicTreeUtils.movePosition(topicTreeid, $TopicTreeMoveDirections.DOWN(), sortingHelper.maxSortingValue, assignedTo, sortingHelper.ownSortingValue, currentLayer); neon.refreshAll(); \ No newline at end of file diff --git a/entity/TopicTree_entity/entityfields/more/children/movedown/stateProcess.js b/entity/TopicTree_entity/entityfields/more/children/movedown/stateProcess.js index b0e5ad3ee6202c8d7ff8d87f57046373570a60c6..8ce0611a7677702383f48477565fd8a8508ac73d 100644 --- a/entity/TopicTree_entity/entityfields/more/children/movedown/stateProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/movedown/stateProcess.js @@ -1,3 +1,4 @@ +import("Util_lib"); import("system.result"); import("system.eMath"); import("system.neon"); @@ -8,10 +9,10 @@ var state = neon.COMPONENTSTATE_DISABLED; if(operatingState != neon.OPERATINGSTATE_NEW && operatingState != neon.OPERATINGSTATE_EDIT) { - var selection = vars.get("$sys.selectionRows")[0]; - if(selection && selection.sortingHelper != "") + var selection = vars.get("$sys.selectionsRecordsRecipe"); + if(selection && JSON.parse(selection)["uidsIncludelist"][0] && Utils.isNotNullOrEmptyString(vars.get("$field.sortingHelper"))) { - var sortingObj = JSON.parse(selection.sortingHelper); + var sortingObj = JSON.parse(vars.get("$field.sortingHelper")); var maxSorting = sortingObj.maxSortingValue; var ownSortingValue = sortingObj.ownSortingValue; if(eMath.addInt(ownSortingValue, 1) <= maxSorting) diff --git a/entity/TopicTree_entity/entityfields/more/children/moveup/onActionProcess.js b/entity/TopicTree_entity/entityfields/more/children/moveup/onActionProcess.js index 681a3bf3fc485a4acc07910702c796b4243736e7..cb36836948f3b8d586981cb1ec26fee53ee3e995 100644 --- a/entity/TopicTree_entity/entityfields/more/children/moveup/onActionProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/moveup/onActionProcess.js @@ -2,11 +2,10 @@ import("system.neon"); import("TopicTree_lib"); import("system.vars"); -var selection = vars.get("$sys.selectionRows")[0]; -var topicTreeid = selection["#UID"]; -var sortingHelper = JSON.parse(selection.sortingHelper); -var currentLayer = TopicTreeUtils.getLayer(selection.SORTING_LAYER_1, selection.SORTING_LAYER_2, selection.SORTING_LAYER_3, selection.SORTING_LAYER_4, selection.SORTING_LAYER_5, selection.SORTING_LAYER_6); -var assignedTo = selection.ASSIGNEDTO == "" ? $TopicTreeConstants.TOPTOPIC() : selection.ASSIGNEDTO; +var topicTreeid = vars.get("$field.UID"); +var sortingHelper = JSON.parse(vars.get("$field.sortingHelper")); +var currentLayer = TopicTreeUtils.getLayer(vars.get("$field.SORTING_LAYER_1"), vars.get("$field.SORTING_LAYER_2"), vars.get("$field.SORTING_LAYER_3"), vars.get("$field.SORTING_LAYER_4"), vars.get("$field.SORTING_LAYER_5"), vars.get("$field.SORTING_LAYER_6")); +var assignedTo = vars.get("$field.ASSIGNEDTO") == "" ? $TopicTreeConstants.TOPTOPIC() : vars.get("$field.ASSIGNEDTO"); TopicTreeUtils.movePosition(topicTreeid, $TopicTreeMoveDirections.UP(), sortingHelper.maxSortingValue, assignedTo, sortingHelper.ownSortingValue, currentLayer); neon.refreshAll(); \ No newline at end of file diff --git a/entity/TopicTree_entity/entityfields/more/children/moveup/stateProcess.js b/entity/TopicTree_entity/entityfields/more/children/moveup/stateProcess.js index c9a5b7f7c30ab18ec91fcb66f666b578229cbeba..6bdcb5e368813e12533d9375511d67ba6c0a18f8 100644 --- a/entity/TopicTree_entity/entityfields/more/children/moveup/stateProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/moveup/stateProcess.js @@ -1,3 +1,4 @@ +import("Util_lib"); import("system.result"); import("system.eMath"); import("system.neon"); @@ -8,10 +9,10 @@ var state = neon.COMPONENTSTATE_DISABLED; if(operatingState != neon.OPERATINGSTATE_NEW && operatingState != neon.OPERATINGSTATE_EDIT) { - var selection = vars.get("$sys.selectionRows")[0]; - if(selection && selection.sortingHelper != "") + var selection = vars.get("$sys.selectionsRecordsRecipe"); + if(selection && JSON.parse(selection)["uidsIncludelist"][0] && Utils.isNotNullOrEmptyString(vars.get("$field.sortingHelper"))) { - var sortingObj = JSON.parse(selection.sortingHelper); + var sortingObj = JSON.parse(vars.get("$field.sortingHelper")); var ownSortingValue = sortingObj.ownSortingValue; if(ownSortingValue != 1) { diff --git a/entity/TopicTree_entity/entityfields/more/children/paste/stateProcess.js b/entity/TopicTree_entity/entityfields/more/children/paste/stateProcess.js index b3d1749a90e97dfa9eb17f2796232285e65dd2b6..e08bc5a1e1ca539141ac55e80792846a7fa3bef7 100644 --- a/entity/TopicTree_entity/entityfields/more/children/paste/stateProcess.js +++ b/entity/TopicTree_entity/entityfields/more/children/paste/stateProcess.js @@ -1,3 +1,4 @@ +import("Sql_lib"); import("system.eMath"); import("TopicTree_lib"); import("system.db"); @@ -7,9 +8,9 @@ import("system.vars"); var selection = vars.get("$sys.selectionRows")[0]; var state = neon.COMPONENTSTATE_DISABLED; -if(selection && vars.exists("$context.Copied")) +if(vars.get("$sys.selectionsRecordsRecipe") && JSON.parse(vars.get("$sys.selectionsRecordsRecipe")) && vars.exists("$context.Copied")) { - var layer = TopicTreeUtils.returnNumberOfLayerName(JSON.parse(selection["sortingHelper"])["sortingLayer"]); + var layer = TopicTreeUtils.returnNumberOfLayerName(JSON.parse(vars.get("$field.sortingHelper"))["sortingLayer"]); var amountOfLayers = JSON.parse(vars.get("$context.Copied"))["amountOfLayers"]; if(eMath.addInt(amountOfLayers, layer) <= TopicTreeUtils.getArrayLayers().length)//this tree doesn't work endlessly, so we can*t allow the user to create more layers than we allow @@ -19,7 +20,7 @@ if(selection && vars.exists("$context.Copied")) var copiedTopicTreeId = JSON.parse(vars.get("$context.Copied"))["dataset"]; var topicTreeIds = TopicTreeUtils.getSubTopicIds(copiedTopicTreeId); topicTreeIds.push(copiedTopicTreeId); - var pasteTopicTreeId = selection["#UID"]; + var pasteTopicTreeId = vars.get("$field.UID"); if(!topicTreeIds.includes(pasteTopicTreeId)) { state = neon.COMPONENTSTATE_EDITABLE; diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index d44e9c22689eaad3357099bafa6d56ca6bd8c5e7..0782e9d922d004212d3b411508cf0e2c260557a0 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -4525,10 +4525,10 @@ <key>Shows unread notifications about different content, e.g. Appointments, serial mails, ...</key> </entry> <entry> - <key>Shows how many sales projects are in the various sales phases</key> + <key>Show how many sales projects are in the various sales phases</key> </entry> <entry> - <key>Most important salse key figures</key> + <key>Most important Sales key figures</key> </entry> <entry> <key>Shows the organisations turnover and forecast</key> @@ -4828,7 +4828,7 @@ <key>My Forecast and Turnover </key> </entry> <entry> - <key>Shows my Forecast and Turnover for the actual year</key> + <key>Show my Forecast and Turnover for the current year</key> </entry> <entry> <key>My Forecast and Turnover</key> @@ -7744,7 +7744,7 @@ <key>Sales Project Id</key> </entry> <entry> - <key>Sales Project Convertion Rates</key> + <key>Sales Project Conversion Rates</key> </entry> <entry> <key>Set Campaign Step</key> @@ -9269,7 +9269,7 @@ <key>First Approval</key> </entry> <entry> - <key>show all offers with second approval</key> + <key>Show all offers with second approval</key> </entry> <entry> <key>Second Approval</key> @@ -9278,7 +9278,7 @@ <key>Approval denied</key> </entry> <entry> - <key>show all offers with first approval</key> + <key>Show all offers with first approval</key> </entry> <entry> <key>[TEST] Importer</key> @@ -11214,13 +11214,25 @@ <key>Reveal the price in the offer</key> </entry> <entry> - <key>Discount in %0</key> + <key>Valid from (as %0)</key> </entry> <entry> - <key>You were assigned as new district contact to district %0 and %1 organisation(s).</key> + <key>Calculate sum</key> </entry> <entry> - <key>Valid from (as %0)</key> + <key>Offers / Receipts</key> + </entry> + <entry> + <key>${CONTEXT}</key> + </entry> + <entry> + <key>Manual resynchronization</key> + </entry> + <entry> + <key>Discount in %0</key> + </entry> + <entry> + <key>You were assigned as new district contact to district %0 and %1 organisation(s).</key> </entry> <entry> <key>Set parent district</key> @@ -11232,16 +11244,82 @@ <key>Set auto assignment</key> </entry> <entry> - <key>Subject and Body</key> + <key>No Datasets selected</key> </entry> <entry> - <key>Calculate sum</key> + <key>Subject and Body</key> </entry> <entry> <key>Serial action</key> </entry> <entry> - <key>Offers / Receipts</key> + <key>Slave UID</key> + </entry> + <entry> + <key>AsysAudit Clean Up</key> + </entry> + <entry> + <key>EWS - Manage Synctable</key> + </entry> + <entry> + <key>Start Workflow</key> + </entry> + <entry> + <key>Beschreibung</key> + </entry> + <entry> + <key>EWS - Sync to Exchange</key> + </entry> + <entry> + <key>Search Synchronisation</key> + </entry> + <entry> + <key>Last synchronized</key> + </entry> + <entry> + <key>Intervall</key> + </entry> + <entry> + <key>Intervall setzen</key> + </entry> + <entry> + <key>[TEST] Util_lib - ArrayUtils</key> + </entry> + <entry> + <key>Mosaico template</key> + </entry> + <entry> + <key>Mosaico</key> + </entry> + <entry> + <key>Input</key> + </entry> + <entry> + <key>Advertising Id</key> + </entry> + <entry> + <key>Advertisingitem Id</key> + </entry> + <entry> + <key>Device ID</key> + </entry> + <entry> + <key>Show my tickets that are in process.</key> + </entry> + <entry> + <key>Propkey</key> + </entry> + <entry> + <key>[TEST] ZippingUtil_lib</key> + </entry> + <entry> + <key>LastSync zurücksetzen</key> + </entry> + <entry> + <key>Device ID Reset</key> + </entry> + <entry> + <key>Show the finished Tickets in the last 4 weeks</key> </entry> <entry> <key>Kd.-Nr.</key> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index f7c82450ec94b2cd45f0a93c68b5fd127bcec0e1..532024e389c769afd31ba805f59f2b4e581919d2 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -10,6 +10,10 @@ <key>The file did not contain any data</key> <value>Die Datei enthielt keine Daten</value> </entry> + <entry> + <key>by translated title</key> + <value>Titel (übersetzt)</value> + </entry> <entry> <key>Slave administration</key> <value>Slave Verwaltung</value> @@ -299,9 +303,13 @@ <key>Fullfilled</key> <value>erledigt</value> </entry> + <entry> + <key>No Datasets selected</key> + <value>Keine Datensätze ausgewählt</value> + </entry> <entry> <key>A Phase filter has to be set when creating a checklistentry for the Salesproject Context.</key> - <value>Es muss ein Filter auf die Phase gesetzt werden wenn der VertriebsprojektKontext ausgewählt ist.</value> + <value>Es muss ein Filter auf die Phase gesetzt werden, wenn der Context Vertriebsprojekt ausgewählt ist.</value> </entry> <entry> <key>Redirect needs a full URL with http/https</key> @@ -2236,6 +2244,10 @@ <key>Discount</key> <value>Rabatt</value> </entry> + <entry> + <key>Discount in %</key> + <value>Rabatt in %</value> + </entry> <entry> <key>Sales</key> <value>Vertrieb</value> @@ -3347,10 +3359,6 @@ <key>Keyword</key> <value>Schlüsselwort</value> </entry> - <entry> - <key>Manually</key> - <value>Manuell</value> - </entry> <entry> <key>Sorting</key> <value>Sortierung</value> @@ -7673,6 +7681,10 @@ <key>(drop mails here)</key> <value>(E-Mails per Drag and Drop einfügen)</value> </entry> + <entry> + <key>manually</key> + <value>manuell</value> + </entry> <entry> <key>minute</key> <value>Minute</value> @@ -7721,6 +7733,10 @@ <key>seconds</key> <value>Sekunden</value> </entry> + <entry> + <key>by title</key> + <value>Titel</value> + </entry> <entry> <key>Duplicatescan</key> <value>Dublettenermittlung</value> @@ -7850,11 +7866,11 @@ <value>Zeigt alle ungelesenen Benachrichtigungen mit verschiedenen Inhalten, z.B. zu Terminen, Serienmails</value> </entry> <entry> - <key>Shows how many sales projects are in the various sales phases</key> + <key>Show how many sales projects are in the various sales phases</key> <value>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind</value> </entry> <entry> - <key>Most important salse key figures</key> + <key>Most important Sales key figures</key> <value>Zeigt die wichtigsten Vertriebskennzahlen</value> </entry> <entry> @@ -8298,6 +8314,10 @@ <key>${CONTRACT_STATUS}</key> <value>Vertragsstatus</value> </entry> + <entry> + <key>${CONTEXT}</key> + <value>Context</value> + </entry> <entry> <key>Time in minutes</key> <value>Zeit in Minuten</value> @@ -8422,7 +8442,7 @@ <value>Wird gelöscht</value> </entry> <entry> - <key>Shows my Forecast and Turnover for the actual year</key> + <key>Show my Forecast and Turnover for the current year</key> <value>Zeigt meinen Forecast und meinen Umsatz für das aktuelle Jahr</value> </entry> <entry> @@ -9846,7 +9866,7 @@ Bitte Datumseingabe prüfen</value> <value>Eigenschaften setzen (verwende Filterergebnis)</value> </entry> <entry> - <key>show all offers with first approval</key> + <key>Show all offers with first approval</key> <value>Alle Angebote mit 1. Freigabe anzeigen</value> </entry> <entry> @@ -10209,7 +10229,7 @@ Bitte Datumseingabe prüfen</value> <value>Neu</value> </entry> <entry> - <key>show all offers with second approval</key> + <key>Show all offers with second approval</key> <value>Alle Angebote mit 2. Freigabe anzeigen</value> </entry> <entry> @@ -11173,7 +11193,7 @@ Bitte Datumseingabe prüfen</value> </entry> <entry> <key>Shows the different conversion rates of the sales project phases</key> - <value>zeigt die unterschiedlichen Umrechnungsraten der vertriebsprojektphasen</value> + <value>Zeigt die unterschiedlichen Conversion Rates der Vertriebsprojektphasen</value> </entry> <entry> <key>Salesproject Convertion Rates</key> @@ -11399,7 +11419,7 @@ Bitte Datumseingabe prüfen</value> <value>VertriebsprojektId</value> </entry> <entry> - <key>Sales Project Convertion Rates</key> + <key>Sales Project Conversion Rates</key> <value>Vertriebsprojekt Umrechnungsraten</value> </entry> <entry> @@ -14682,6 +14702,78 @@ Bitte Datumseingabe prüfen</value> <key>The roll out date must be after the project start!</key> <value>Das Roll Out Datum muss nach dem Projektstart liegen!</value> </entry> + <entry> + <key>Manual resynchronization</key> + </entry> + <entry> + <key>Slave UID</key> + </entry> + <entry> + <key>AsysAudit Clean Up</key> + </entry> + <entry> + <key>EWS - Manage Synctable</key> + </entry> + <entry> + <key>Start Workflow</key> + </entry> + <entry> + <key>Beschreibung</key> + </entry> + <entry> + <key>EWS - Sync to Exchange</key> + </entry> + <entry> + <key>Search Synchronisation</key> + </entry> + <entry> + <key>Last synchronized</key> + </entry> + <entry> + <key>Intervall</key> + </entry> + <entry> + <key>Intervall setzen</key> + </entry> + <entry> + <key>[TEST] Util_lib - ArrayUtils</key> + </entry> + <entry> + <key>Mosaico template</key> + </entry> + <entry> + <key>Mosaico</key> + </entry> + <entry> + <key>Input</key> + </entry> + <entry> + <key>Advertising Id</key> + </entry> + <entry> + <key>Advertisingitem Id</key> + </entry> + <entry> + <key>Device ID</key> + </entry> + <entry> + <key>Show my tickets that are in process.</key> + </entry> + <entry> + <key>Propkey</key> + </entry> + <entry> + <key>[TEST] ZippingUtil_lib</key> + </entry> + <entry> + <key>LastSync zurücksetzen</key> + </entry> + <entry> + <key>Device ID Reset</key> + </entry> + <entry> + <key>Show the finished Tickets in the last 4 weeks</key> + </entry> <entry> <key>Cust.-No.</key> <value>Kd.-Nr.</value> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index a6265eee7104f369f46f413fb34e51d00d0cf0e3..fc12ad1b62673b0bbcf378e93b1c8bfae34aa693 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -4618,10 +4618,10 @@ <key>Shows unread notifications about different content, e.g. Appointments, serial mails, ...</key> </entry> <entry> - <key>Shows how many sales projects are in the various sales phases</key> + <key>Show how many sales projects are in the various sales phases</key> </entry> <entry> - <key>Most important salse key figures</key> + <key>Most important Sales key figures</key> </entry> <entry> <key>Shows the organisations turnover and forecast</key> @@ -4921,7 +4921,7 @@ <key>My Forecast and Turnover </key> </entry> <entry> - <key>Shows my Forecast and Turnover for the actual year</key> + <key>Show my Forecast and Turnover for the current year</key> </entry> <entry> <key>My Forecast and Turnover</key> @@ -7559,7 +7559,7 @@ <key>Sales Project Id</key> </entry> <entry> - <key>Sales Project Convertion Rates</key> + <key>Sales Project Conversion Rates</key> </entry> <entry> <key>Set Campaign Step</key> @@ -8716,7 +8716,7 @@ <key>First Approval</key> </entry> <entry> - <key>show all offers with second approval</key> + <key>Show all offers with second approval</key> </entry> <entry> <key>Second Approval</key> @@ -8725,7 +8725,7 @@ <key>Approval denied</key> </entry> <entry> - <key>show all offers with first approval</key> + <key>Show all offers with first approval</key> </entry> <entry> <key>[TEST] Importer</key> @@ -11304,13 +11304,26 @@ <key>Reveal the price in the offer</key> </entry> <entry> - <key>Discount in %0</key> + <key>Valid from (as %0)</key> </entry> <entry> - <key>You were assigned as new district contact to district %0 and %1 organisation(s).</key> + <key>Calculate sum</key> </entry> <entry> - <key>Valid from (as %0)</key> + <key>Offers / Receipts</key> + </entry> + <entry> + <key>${CONTEXT}</key> + <value>Context</value> + </entry> + <entry> + <key>Manual resynchronization</key> + </entry> + <entry> + <key>Discount in %0</key> + </entry> + <entry> + <key>You were assigned as new district contact to district %0 and %1 organisation(s).</key> </entry> <entry> <key>Set parent district</key> @@ -11322,16 +11335,82 @@ <key>Set auto assignment</key> </entry> <entry> - <key>Subject and Body</key> + <key>No Datasets selected</key> </entry> <entry> - <key>Calculate sum</key> + <key>Subject and Body</key> </entry> <entry> <key>Serial action</key> </entry> <entry> - <key>Offers / Receipts</key> + <key>Slave UID</key> + </entry> + <entry> + <key>AsysAudit Clean Up</key> + </entry> + <entry> + <key>EWS - Manage Synctable</key> + </entry> + <entry> + <key>Start Workflow</key> + </entry> + <entry> + <key>Beschreibung</key> + </entry> + <entry> + <key>EWS - Sync to Exchange</key> + </entry> + <entry> + <key>Search Synchronisation</key> + </entry> + <entry> + <key>Last synchronized</key> + </entry> + <entry> + <key>Intervall</key> + </entry> + <entry> + <key>Intervall setzen</key> + </entry> + <entry> + <key>[TEST] Util_lib - ArrayUtils</key> + </entry> + <entry> + <key>Mosaico template</key> + </entry> + <entry> + <key>Mosaico</key> + </entry> + <entry> + <key>Input</key> + </entry> + <entry> + <key>Advertising Id</key> + </entry> + <entry> + <key>Advertisingitem Id</key> + </entry> + <entry> + <key>Device ID</key> + </entry> + <entry> + <key>Show my tickets that are in process.</key> + </entry> + <entry> + <key>Propkey</key> + </entry> + <entry> + <key>[TEST] ZippingUtil_lib</key> + </entry> + <entry> + <key>LastSync zurücksetzen</key> + </entry> + <entry> + <key>Device ID Reset</key> + </entry> + <entry> + <key>Show the finished Tickets in the last 4 weeks</key> </entry> <entry> <key>Kd.-Nr.</key> diff --git a/neonView/MyTurnoverForecastScoreCard_view/MyTurnoverForecastScoreCard_view.aod b/neonView/MyTurnoverForecastScoreCard_view/MyTurnoverForecastScoreCard_view.aod index 2c67b8c90a7d9a4c44ee74913267712e898bc580..e0798e0066c30ac73869ce15bd3d8f37a867a541 100644 --- a/neonView/MyTurnoverForecastScoreCard_view/MyTurnoverForecastScoreCard_view.aod +++ b/neonView/MyTurnoverForecastScoreCard_view/MyTurnoverForecastScoreCard_view.aod @@ -6,7 +6,7 @@ <neonDashletConfiguration> <name>OwnForecastTurnover</name> <title>My Forecast and Turnover</title> - <description>Shows my Forecast and Turnover for the actual year</description> + <description>Show my Forecast and Turnover for the current year</description> <fragment>SalesprojectAnalyses/full</fragment> <singleton v="true" /> <icon>VAADIN:MONEY</icon> diff --git a/neonView/OfferFilter_view/OfferFilter_view.aod b/neonView/OfferFilter_view/OfferFilter_view.aod index c92b2a4e556897e4650ea9c461118db38af63997..3e1f1de8a491a8670724b87e95278f1caf7b0bf4 100644 --- a/neonView/OfferFilter_view/OfferFilter_view.aod +++ b/neonView/OfferFilter_view/OfferFilter_view.aod @@ -45,7 +45,7 @@ <neonDashletConfiguration> <name>FirstApprovalDashlet</name> <title>First Approval</title> - <description>show all offers with first approval</description> + <description>Show all offers with first approval</description> <fragment>Offer/filter</fragment> <singleton v="true" /> <storeRoles> @@ -69,7 +69,7 @@ <neonDashletConfiguration> <name>SecondApprovalDashlet</name> <title>Second Approval</title> - <description>show all offers with second approval</description> + <description>Show all offers with second approval</description> <fragment>Offer/filter</fragment> <singleton v="true" /> <storeRoles> diff --git a/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod b/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod index b2c99ae417a1dcab62f0a4ba4ff0ebf4383d0c32..cd0ba197cbf0e71645b7e47de0653e72d29488c5 100644 --- a/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod +++ b/neonView/SalesprojectAnalyses_view/SalesprojectAnalyses_view.aod @@ -7,7 +7,7 @@ <neonDashletConfiguration> <name>SalesprojectPhases</name> <title>Sales Project Phases</title> - <description>Shows how many sales projects are in the various sales phases</description> + <description>Show how many sales projects are in the various sales phases</description> <fragment>Salesproject/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiJQSEFTRSIsIm9wZXJhdG9yIjoiTk9UX0VRVUFMIiwidmFsdWUiOiJOZWdvdGlhdGlvbiIsImtleSI6IlNBTFBST0pQSEFTRU5FR08iLCJjb250ZW50dHlwZSI6IlRFWFQifSx7InR5cGUiOiJyb3ciLCJuYW1lIjoiU1RBVFVTIiwib3BlcmF0b3IiOiJFUVVBTCIsInZhbHVlIjoiT2ZmZW4iLCJrZXkiOiJTQUxQUk9KU1RBVE9QRU4iLCJjb250ZW50dHlwZSI6IlRFWFQifV19&axes=COUNT&grouping=%23EXTENSION.Phase_filter.Phase_filter%23TEXT</fragment> <singleton v="true" /> <storeRoles> diff --git a/neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod b/neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod index 9b9754063c92aea73ff8385c24c0c71b99d6ce29..7a28d81a49845ad55884dab9ef689d2f5aed1b1f 100644 --- a/neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod +++ b/neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod @@ -6,7 +6,7 @@ <dashletConfigurations> <neonDashletConfiguration> <name>ConvertionRates</name> - <title>Sales Project Convertion Rates</title> + <title>Sales Project Conversion Rates</title> <description>Shows the different conversion rates of the sales project phases</description> <fragment>SalesprojectConversionRate/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiIjRVhURU5TSU9OLkRBVEVfU1RBUlQuREFURV9TVEFSVCNEQVRFIiwib3BlcmF0b3IiOiJUSU1FRlJBTUVfRVFVQUwiLCJ2YWx1ZSI6IkRpZXNlcyBKYWhyIiwia2V5IjoiUkVMPUFESlVTVEVEO1VOSVQ9WUVBUiIsImNvbnRlbnR0eXBlIjoiREFURSJ9XX0%3D&axes=conversionRate&grouping=AB_KEYWORD_ENTRYID_KEYID%2C%23EXTENSION.Month.Month%23NUMBER</fragment> <singleton v="true" /> diff --git a/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod b/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod index 73440be89f0f0da0add22c6c1dc51542be009400..c52153ae682519c6c5bd24bdac8a2512a53258d2 100644 --- a/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod +++ b/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod @@ -6,7 +6,7 @@ <neonDashletConfiguration> <name>KeyFigures</name> <title>Key Figures</title> - <description>Most important salse key figures</description> + <description>Most important Sales key figures</description> <fragment>SalesprojectAnalyses/full</fragment> <singleton v="true" /> <storeRoles> diff --git a/process/FilterViewAction_lib/process.js b/process/FilterViewAction_lib/process.js index f79e4d3d548b181bf63dd9098ca8584d5db05c81..2ceb9bfc1fe2fdb55cc77020ed1fed08a79ed32a 100644 --- a/process/FilterViewAction_lib/process.js +++ b/process/FilterViewAction_lib/process.js @@ -71,12 +71,12 @@ FilterViewActionUtils.getUidsByEntityFilter = function (pContext, pFilter, pPara .entity(ContextUtils.getEntity(pContext)) .fields(["#UID"]); - if (Utils.isNullOrEmpty(pFilter.filter)) + if (!Utils.isNullOrEmpty(pFilter.filter)) { loadRowsConfig.filter(JSON.stringify(pFilter.filter)); } - if(Utils.isNullOrEmpty(pParameters)) + if(!Utils.isNullOrEmpty(pParameters)) { Object.keys(pParameters).forEach(function(key){ loadRowsConfig.addParameter(key, pParameters[key]) diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index 678044ed0455ad46831c71e6c63ba16bcfefbdca..96b33aae0bfb08e563dab33e33eac11420ccd979 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -521,6 +521,8 @@ $KeywordRegistry.linkEvaluationType$default = function(){return "LINKEVALUATION_ $KeywordRegistry.linkEvaluationType$ignore = function(){return "LINKEVALUATION_IGNORE";}; $KeywordRegistry.linkEvaluationType$unsubscribe = function(){return "LINKEVALUATION_UNSUBSCRIBE";}; +$KeywordRegistry.bulkMailSenderAddress = function() {return "BulkmailSenderAddress";}; + $KeywordRegistry.mosaicoBaseTemplate = function(){return "MosaicoBaseTemplate";}; $KeywordRegistry.mosaicoColor = function(){return "MosaicoColor";}; $KeywordRegistry.mosaicoTemplateCategory = function(){return "MosaicoTemplateCategory";}; \ No newline at end of file diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js index 142d079b0f87a61efbaef0ef16f59893f484ea66..15c7e2f1a7843a5e40784d64a04249acff3a2cd8 100644 --- a/process/Offer_lib/process.js +++ b/process/Offer_lib/process.js @@ -233,14 +233,17 @@ OfferUtils.buildOfferReport = function (pOfferID, pExclDiscountGroupcodes) offeritemData = offeritemData.map(function (offeritem) { - if(offeritem[4] != "1") + if (!offeritem[5].includes(".")) //only if it's no child { //quantity * price fullPrice = eMath.mulDec(parseFloat(offeritem[9]), parseFloat(offeritem[10])); //price without discount //itemSum = (fullPrice * (100 - discount)) / 100 itemSum = eMath.roundDec(eMath.divDec(eMath.mulDec(fullPrice, eMath.subDec(100, offeritem[11])), 100), 2, eMath.ROUND_HALF_EVEN); //sum of the item (with discount) - sumItemSum += itemSum; //total sum (without vat) + if(!Utils.toBoolean(parseInt(offeritem[4])))//is optional + { + sumItemSum += itemSum; //total sum (without vat) + } let excluded = -1 if(pExclDiscountGroupcodes) @@ -259,9 +262,9 @@ OfferUtils.buildOfferReport = function (pOfferID, pExclDiscountGroupcodes) vatsum = ItemUtils.prototype.getItemVAT(offeritem[9], offeritem[10], offeritem[11], offeritem[12], offeritem[4]) } - if(offeritem[12] > 0) + if (offeritem[12] > 0) { - sums.push([offeritem[12], vatsum]); //MWSteuerwerte für Map vorbereiten + sums.push([offeritem[12], vatsum]); //Prepare VAT for map } } @@ -270,36 +273,44 @@ OfferUtils.buildOfferReport = function (pOfferID, pExclDiscountGroupcodes) { total = eMath.addDec(sumItemSum, vatsum); //total sum with vat } - + if(!printDiscount && offeritem[11] > 0) { printDiscount = true; } + if(!isNaN(itemSum)) + { + itemSum = text.formatDouble(itemSum, "#,##0.00", true) + } + if(Utils.toBoolean(parseInt(offeritem[4])))//is optional + { + itemSum = "(" + itemSum + ")"; + } return [ - offerData[6], //currency - offerData[7], //offerdate - pOfferID, //offerId - offeritem[0], //info - offeritem[1], //assignedTo - offeritem[3], //itemname - parseInt(offeritem[4]) ? translate.text("Yes", language) : translate.text("No", language), //optional - offeritem[5], //itemposition - offeritem[6], //productcode - header, //header - footer, //footer - text.formatDouble(offeritem[9], "#,##0", true), //quantity - text.formatDouble(offeritem[10], "#,##0.00", true), //price - text.formatDouble(offeritem[11], "0.00", true), //discount - offerData[10], //versnr - offerData[5], //offercode - text.formatDouble(offeritem[12], "#,##0.00", true), //vat - text.formatDouble(itemSum, "#,##0.00", true), //itemsum - KeywordUtils.getViewValue($KeywordRegistry.quantityUnit(), offeritem[8]), //unittext - discValue, - offerData[18], - discount, - offeritem[16] + offerData[6], //currency + offerData[7], //offerdate + pOfferID, //offerId + offeritem[0], //info + offeritem[1], //assignedTo + offeritem[3], //itemname + parseInt(offeritem[4]) ? translate.text("Yes", language) : translate.text("No", language), //optional + offeritem[5], //itemposition + offeritem[6], //productcode + header, //header + footer, //footer + text.formatDouble(offeritem[9], "#,##0", true), //quantity + text.formatDouble(offeritem[10], "#,##0.00", true), //price + text.formatDouble(offeritem[11], "0.00", true), //discount + offerData[10], //versnr + offerData[5], //offercode + text.formatDouble(offeritem[12], "#,##0.00", true), //vat + itemSum, //itemsum + KeywordUtils.getViewValue($KeywordRegistry.quantityUnit(), offeritem[8]), //unittext + discValue, + offerData[18], + discount, + offeritem[16] ]; }); diff --git a/process/Permission_lib/process.js b/process/Permission_lib/process.js index bcd5ad4035ff94f8d62aa4daa1fa23035ee59d87..0c7cdcfdca04cf2861f0748a2405713b53d4870b 100644 --- a/process/Permission_lib/process.js +++ b/process/Permission_lib/process.js @@ -1075,6 +1075,13 @@ function PermissionUtil () {} }; } } + else + { + res = { + status: null, // if pRecordState == NEW -> status is not relevant for display + title: ContextUtils.getTitleByContext(pObjectType, pObjectRowId) + }; + } return res; } diff --git a/process/TopicTree_lib/process.js b/process/TopicTree_lib/process.js index cc46b867ed55675a04cafacd39721b2ce6ab962b..3c0d5cb685a64d25c69369fd4c884e12ebb93cdb 100644 --- a/process/TopicTree_lib/process.js +++ b/process/TopicTree_lib/process.js @@ -421,7 +421,7 @@ TopicTreeUtils.returnNumberOfLayerName = function(pLayerName) /* * Returns the amount of layers<br> * So basically how deep this topic is from pTopicTreeDataset to the deepest one - * @param {String} pTopicTreeDataset as returned by vars.get("$sys.selectionRows")[0]; + * @param {Object} pTopicTreeDataset; * * @return {Number} Number of layers (e.g: when topLayer = SORTING_LAYER_2 and the deepest subtopic is SORTING_LAYER_5 --> "4" (4layers: 2, 3, 4, 5) */ @@ -818,15 +818,14 @@ TopicTreeUtils.paste = function (pIsTopTopic) var pLayerDeeper = "SORTING_LAYER_2"; var cond = newWhere("TOPICTREE.ASSIGNEDTO is null"); if(!pIsTopTopic) - { - var paste = vars.get("$sys.selectionRows")[0]; //paste data - var pTopicTreeId = paste["#UID"]; - var pSorting_Layer_1 = paste.SORTING_LAYER_1; - var pSorting_Layer_2 = paste.SORTING_LAYER_2; - var pSorting_Layer_3 = paste.SORTING_LAYER_3; - var pSorting_Layer_4 = paste.SORTING_LAYER_4; - var pSorting_Layer_5 = paste.SORTING_LAYER_5; - var pSorting_Layer_6 = paste.SORTING_LAYER_6; + { + var pTopicTreeId = vars.get("$field.UID"); + var pSorting_Layer_1 = vars.get("$field.SORTING_LAYER_1"); + var pSorting_Layer_2 = vars.get("$field.SORTING_LAYER_2"); + var pSorting_Layer_3 = vars.get("$field.SORTING_LAYER_3"); + var pSorting_Layer_4 = vars.get("$field.SORTING_LAYER_4"); + var pSorting_Layer_5 = vars.get("$field.SORTING_LAYER_5"); + var pSorting_Layer_6 = vars.get("$field.SORTING_LAYER_6"); pLayer = TopicTreeUtils.getLayer(pSorting_Layer_1, pSorting_Layer_2, pSorting_Layer_3, pSorting_Layer_4, pSorting_Layer_5, pSorting_Layer_6); pLayerDeeper = TopicTreeUtils.getDeeperLayer(pSorting_Layer_1, pSorting_Layer_2, pSorting_Layer_3, pSorting_Layer_4, pSorting_Layer_5, pSorting_Layer_6); cond = newWhere("TOPICTREE.ASSIGNEDTO", pTopicTreeId); @@ -853,8 +852,7 @@ TopicTreeUtils.paste = function (pIsTopTopic) , "ACTIVE" , pLayer , "USER_NEW" - , "DATE_NEW" - , "ASSIGNEDTO"]; + , "DATE_NEW"]; var uid = isCut == true ? cTopicTreeId : util.getNewUUID();//new uuid is old uuid if cut, since we "move" the topic instead of copying var values = [uid @@ -863,10 +861,14 @@ TopicTreeUtils.paste = function (pIsTopTopic) , cActive , eMath.addInt(maxSortingOneLayerDeeper, 1) , vars.get("$sys.user") - , vars.get("$sys.date") - , pTopicTreeId]; - + , vars.get("$sys.date")]; + + if(!pIsTopTopic) + { + columns.push("ASSIGNEDTO"); + values.push(pTopicTreeId); + } if(isCut) { _updateSortingValuesOfOtherTopics(cLayer, cOwnSortingValue, cAssignedTo); @@ -886,7 +888,7 @@ TopicTreeUtils.paste = function (pIsTopTopic) //update child topics accordingly while(stop == false) { - topicTreeDatasets = newSelect(["TOPICTREE.TOPICTREEID" + var topicTreeDatasets = newSelect(["TOPICTREE.TOPICTREEID" , TopicTreeUtils.relevantSortingValueCaseWhen() + " as sortingValue" , TopicTreeUtils.layerNameCaseWhen() , "TOPICTREE.TOPIC" @@ -911,13 +913,12 @@ TopicTreeUtils.paste = function (pIsTopTopic) topicTreeIds.push(subTopicId); topicTreeIdsToUpdate.push(subTopicId); - subColumns = ["TOPICTREEID" + var subColumns = ["TOPICTREEID" , "TOPIC" , "DESCRIPTION" , "ACTIVE" , "USER_NEW" , "DATE_NEW" - , "ASSIGNEDTO" , subTopicRelevantSortingLayer];//relevant sorting value var newSubUid if(isCut == true) @@ -930,15 +931,20 @@ TopicTreeUtils.paste = function (pIsTopTopic) newSubUid = util.getNewUUID(); } oldToNewIdHelperObj[subTopicId] = newSubUid; - - subValues = [newSubUid + + var subValues = [newSubUid , subTopic , subDescription , subActive , vars.get("$sys.user") , vars.get("$sys.date") - , oldToNewIdHelperObj[subAssignedTo] , subTopicRelevantSortingValue]; + + if(Utils.isNotNullOrEmptyString(oldToNewIdHelperObj[subAssignedTo])) + { + subValues.push(oldToNewIdHelperObj[subAssignedTo]); + subColumns.push("ASSIGNEDTO"); + } var previousLayer = subTopicRelevantSortingLayer; var stopper = false;