diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingAddDefaultColumns.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingAddDefaultColumns.xml new file mode 100644 index 0000000000000000000000000000000000000000..d9b89ce05cf5e99aa1c59e3eea752e8fbdcacc8f --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingAddDefaultColumns.xml @@ -0,0 +1,11 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="b.ulrich" id="78759a5c-543a-499f-be89-ffafd7591017"> + <addColumn tableName="ADVERTISING"> + <column name="USER_NEW" type="NVARCHAR(50)"/> + </addColumn> + <addColumn tableName="ADVERTISING"> + <column name="USER_EDIT" type="NVARCHAR(50)"/> + </addColumn> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemChangeItemPositionColumnType.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemChangeItemPositionColumnType.xml new file mode 100644 index 0000000000000000000000000000000000000000..aff8e2608fcdddc9318aa4e57c90343887a2dfc6 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemChangeItemPositionColumnType.xml @@ -0,0 +1,25 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet dbms="derby" author="b.ulrich" id="1840f738-884e-483d-9def-4ef138da5316"> + <sql> + ALTER TABLE ADVERTISINGITEM ADD COLUMN ITEMPOSITION_NEW CHAR(10); + UPDATE ADVERTISINGITEM SET ITEMPOSITION_NEW=CAST ( ITEMPOSITION as CHAR(10)); + ALTER TABLE ADVERTISINGITEM DROP COLUMN ITEMPOSITION; + RENAME COLUMN ADVERTISINGITEM.ITEMPOSITION_NEW TO ITEMPOSITION; + + ALTER TABLE ADVERTISINGITEM ADD COLUMN ITEMPOSITION_NEW INTEGER; + UPDATE ADVERTISINGITEM SET ITEMPOSITION_NEW=CAST ( ITEMPOSITION as INTEGER); + ALTER TABLE ADVERTISINGITEM DROP COLUMN ITEMPOSITION; + RENAME COLUMN ADVERTISINGITEM.ITEMPOSITION_NEW TO ITEMPOSITION; + </sql> + </changeSet> + + <changeSet author="b.ulrich" id="987b8d72-d739-4b56-9e1e-5c6f34421d24"> + <preConditions onFail="CONTINUE"> + <not> + <dbms type="derby" /> + </not> + </preConditions> + <modifyDataType columnName="ITEMPOSITION" newDataType="INTEGER" tableName="ADVERTISINGITEM"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropColumns.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropColumns.xml new file mode 100644 index 0000000000000000000000000000000000000000..0d29b9bc1522fdc8dce56a34603d31719d5ee4c7 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropColumns.xml @@ -0,0 +1,11 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="b.ulrich" id="a720efc8-ac2e-45ef-a7a8-c068b42a6180"> + <dropColumn tableName="ADVERTISINGITEM"> + <column name="FREE"/> + </dropColumn> + <dropColumn tableName="ADVERTISINGITEM"> + <column name="ACTUALAMOUNT"/> + </dropColumn> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropForeignKey.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropForeignKey.xml new file mode 100644 index 0000000000000000000000000000000000000000..298fe5bbd1f1b64733c5dfb962781870cc74b418 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropForeignKey.xml @@ -0,0 +1,6 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="b.ulrich" id="e60115d8-79f7-46f3-ada0-0e2eb407f4ef"> + <dropForeignKeyConstraint baseTableName="ADVERTISINGITEM" constraintName="FK_OFFERITEM_PRODUCT_ID"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingRenameRowId.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingRenameRowId.xml new file mode 100644 index 0000000000000000000000000000000000000000..886d1ca87936c78dd4b4ed7f33037c6d3199a04d --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingRenameRowId.xml @@ -0,0 +1,11 @@ +<?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="9c2fff35-3dca-4881-9141-59d4bdd05b2a"> + <renameColumn + columnDataType="CHAR(36)" + newColumnName="OBJECT_ROWID" + oldColumnName="ROW_ID" + tableName="ADVERTISING"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_productAdvertisingDatatype.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_productAdvertisingDatatype.xml new file mode 100644 index 0000000000000000000000000000000000000000..4029c6621dec242ae39ccb6682ee23244f9ee510 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_productAdvertisingDatatype.xml @@ -0,0 +1,34 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="b.ulrich" id="83e55d9f-2e47-4b71-89ca-f080e57d13b6"> + + <!--Add Column with correct datatype--> + <addColumn tableName="PRODUCT"> + <column name="ADVERTISING_NEW" type="TINYINT"/> + </addColumn> + + <!--Set Values accordingly--> + <update tableName="PRODUCT"> + <column name="ADVERTISING_NEW" valueNumeric="1"></column> + <where>ADVERTISING = ?</where> + <whereParams> + <param name="ADVERTISING" value="Y"/> + </whereParams> + </update> + <update tableName="PRODUCT"> + <column name="ADVERTISING_NEW" valueNumeric="0"></column> + <where>ADVERTISING = ?</where> + <whereParams> + <param name="ADVERTISING" value="N"/> + </whereParams> + </update> + + <!--Drop old Column--> + <dropColumn tableName="PRODUCT"> + <column name="ADVERTISING"/> + </dropColumn> + + <!--Rename new Column--> + <renameColumn newColumnName="ADVERTISING" oldColumnName="ADVERTISING_NEW" columnDataType="TINYINT" tableName="PRODUCT"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/changelog.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..58e5c43d9b06d8923c507ca3bb73bca97e8a8c6b --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/changelog.xml @@ -0,0 +1,11 @@ +<?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="alter_AdvertisingAddDefaultColumns.xml"/> + <include relativeToChangelogFile="true" file="alter_AdvertisingItemDropColumns.xml"/> + <include relativeToChangelogFile="true" file="alter_productAdvertisingDatatype.xml"/> + <include relativeToChangelogFile="true" file="alter_AdvertisingRenameRowId.xml"/> + <include relativeToChangelogFile="true" file="alter_AdvertisingItemDropForeignKey.xml"/> + <include relativeToChangelogFile="true" file="alter_AdvertisingItemChangeItemPositionColumnType.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.1.3/changelog.xml b/.liquibase/Data_alias/basic/2021.1.3/changelog.xml index e6ef5bf468f382fad3e8bd05c3e8f1befe0dc104..5d3231a62d21134397109c21ea19ed5f94235c10 100644 --- a/.liquibase/Data_alias/basic/2021.1.3/changelog.xml +++ b/.liquibase/Data_alias/basic/2021.1.3/changelog.xml @@ -3,6 +3,7 @@ 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="defaultWeblinks/changelog.xml"/> + <include relativeToChangelogFile="true" file="Advertising/changelog.xml"/> <include relativeToChangelogFile="true" file="Checklist/changelog.xml"/> <include relativeToChangelogFile="true" file="Member/changelog.xml"/> <include relativeToChangelogFile="true" file="Salesproject/changelog.xml"/> diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml index d7eb781bba0a5c105b6969941e8e23d510ae78d0..da58cf067350b1ad10359cf2535586454cb9949e 100644 --- a/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml +++ b/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml @@ -7,7 +7,7 @@ <column name="PRODUCTCODE" value="WG3_MD"/> <column name="PRODUCTID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/> <column name="USER_NEW" value="Admin"/> @@ -21,7 +21,7 @@ <column name="PRODUCTCODE" value="WG1003"/> <column name="PRODUCTID" value="155ac430-ccfc-4814-95fc-189631779064"/> <column name="GROUPCODEID" value="PRODUCTGROUP1"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-17T09:32:19"/> @@ -35,7 +35,7 @@ <column name="PRODUCTCODE" value="ET1002"/> <column name="PRODUCTID" value="168c22e1-a196-4b99-b912-aac40d960b7e"/> <column name="GROUPCODEID" value="PRODUCTSPARE"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-06-29T01:09:01"/> @@ -48,7 +48,7 @@ <column name="PRODUCTCODE" value="S001"/> <column name="PRODUCTID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/> <column name="GROUPCODEID" value="PRODUCTSERVICE"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-17T09:30:01"/> @@ -62,7 +62,7 @@ <column name="PRODUCTCODE" value="ET1003"/> <column name="PRODUCTID" value="250f8317-228e-4b2a-8674-ffe2a79ad4a7"/> <column name="GROUPCODEID" value="PRODUCTSPARE"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-06-29T01:14:02"/> <column name="UNIT" value="QUANTITYPIECES"/> @@ -73,7 +73,7 @@ <column name="PRODUCTCODE" value="WG2003"/> <column name="PRODUCTID" value="3d0086d3-f7fa-4328-bfc9-75cf37eb422c"/> <column name="GROUPCODEID" value="PRODUCTGROUP2"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-16T03:53:18"/> @@ -87,7 +87,7 @@ <column name="PRODUCTCODE" value="WG3_MA-C"/> <column name="PRODUCTID" value="4004db3e-a63e-4b32-b7da-8c899996ddcd"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/> <column name="USER_NEW" value="Admin"/> @@ -101,7 +101,7 @@ <column name="PRODUCTCODE" value="WG3003-SL"/> <column name="PRODUCTID" value="4203b3f3-e8d9-483e-a9f8-274a40f92074"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-04-09T11:50:34"/> @@ -115,7 +115,7 @@ <column name="PRODUCTCODE" value="WG3_MB-C"/> <column name="PRODUCTID" value="4775aed7-e165-495b-a147-7e3312b27d0b"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/> <column name="USER_NEW" value="Admin"/> @@ -129,7 +129,7 @@ <column name="PRODUCTCODE" value="WG1004"/> <column name="PRODUCTID" value="488e25b2-0210-41bd-bfe6-4312a9e68a20"/> <column name="GROUPCODEID" value="PRODUCTGROUP1"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-04-09T11:11:18"/> @@ -143,7 +143,7 @@ <column name="PRODUCTCODE" value="WG3_MC-C"/> <column name="PRODUCTID" value="4a234269-faab-474e-82e8-662e7600e1ea"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/> <column name="USER_NEW" value="Admin"/> @@ -157,7 +157,7 @@ <column name="PRODUCTCODE" value="WG2001"/> <column name="PRODUCTID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/> <column name="GROUPCODEID" value="PRODUCTGROUP2"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-16T03:48:31"/> @@ -170,7 +170,7 @@ <column name="PRODUCTCODE" value="WG3001-SL"/> <column name="PRODUCTID" value="59851fb8-e743-46bb-8df9-bc2789fd5b37"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-04-09T11:44:53"/> @@ -183,7 +183,7 @@ <column name="PRODUCTCODE" value="WG2008"/> <column name="PRODUCTID" value="6d1321d0-7777-4b6e-8a01-08b77ea3c5bf"/> <column name="GROUPCODEID" value="PRODUCTGROUP2"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-04-09T11:37:43"/> @@ -198,7 +198,7 @@ <column name="PRODUCTID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/> <column name="GROUPCODEID" value="PRODUCTSPARE"/> <column name="MINSTOCK" valueNumeric="15"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-13T03:16:36"/> @@ -212,7 +212,7 @@ <column name="PRODUCTCODE" value="ET1001"/> <column name="PRODUCTID" value="7f9b1016-9a05-43d8-8b4b-e489f099ec64"/> <column name="GROUPCODEID" value="PRODUCTSPARE"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-06-29T01:03:56"/> @@ -225,7 +225,7 @@ <column name="PRODUCTCODE" value="WG2004"/> <column name="PRODUCTID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/> <column name="GROUPCODEID" value="PRODUCTGROUP2"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-17T09:23:33"/> @@ -238,7 +238,7 @@ <column name="PRODUCTCODE" value="WG2002"/> <column name="PRODUCTID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/> <column name="GROUPCODEID" value="PRODUCTGROUP2"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-16T03:49:51"/> @@ -251,7 +251,7 @@ <column name="PRODUCTCODE" value="WG2005"/> <column name="PRODUCTID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/> <column name="GROUPCODEID" value="PRODUCTGROUP2"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-17T09:25:18"/> @@ -266,7 +266,7 @@ <column name="PRODUCTID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/> <column name="GROUPCODEID" value="PRODUCTGROUP1"/> <column name="MINSTOCK" valueNumeric="10"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-16T03:43:25"/> @@ -280,7 +280,7 @@ <column name="PRODUCTCODE" value="WG3_MC-S"/> <column name="PRODUCTID" value="993f6294-f1fc-42d2-8786-1c13274fd133"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/> <column name="USER_NEW" value="Admin"/> @@ -294,7 +294,7 @@ <column name="PRODUCTCODE" value="WG2006"/> <column name="PRODUCTID" value="9eb8b4de-5eda-4b5c-a934-acd30a840cba"/> <column name="GROUPCODEID" value="PRODUCTGROUP2"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-04-09T11:28:11"/> @@ -309,7 +309,7 @@ <column name="PRODUCTID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/> <column name="GROUPCODEID" value="PRODUCTSPARE"/> <column name="MINSTOCK" valueNumeric="6"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/> <column name="USER_NEW" value="Admin"/> @@ -323,7 +323,7 @@ <column name="PRODUCTCODE" value="WG3002-SL"/> <column name="PRODUCTID" value="acd4cbde-f55d-444b-b294-1c6fe8588000"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-04-09T11:48:09"/> @@ -338,7 +338,7 @@ <column name="PRODUCTID" value="b973e3f9-277c-4787-96a0-7cac54472420"/> <column name="GROUPCODEID" value="PRODUCTSPARE"/> <column name="MINSTOCK" valueNumeric="10"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-13T03:16:36"/> @@ -351,7 +351,7 @@ <column name="PRODUCTCODE" value="S002"/> <column name="PRODUCTID" value="bb897bd1-244b-45cd-8a2f-f5a783cbbbff"/> <column name="GROUPCODEID" value="PRODUCTSERVICE"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-22T01:20:28"/> @@ -364,7 +364,7 @@ <column name="PRODUCTCODE" value="WG2007"/> <column name="PRODUCTID" value="c08e32db-73ce-49a2-8306-860ac7081e77"/> <column name="GROUPCODEID" value="PRODUCTGROUP2"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2021-04-09T11:34:21"/> @@ -377,7 +377,7 @@ <column name="PRODUCTCODE" value="WG1002"/> <column name="PRODUCTID" value="c8244502-73be-4ef7-9ef7-2b5ae95d3718"/> <column name="GROUPCODEID" value="PRODUCTGROUP1"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="USER_NEW" value="Admin"/> <column name="DATE_NEW" valueDate="2019-05-17T09:34:44"/> @@ -391,7 +391,7 @@ <column name="PRODUCTCODE" value="WG3_MA-S"/> <column name="PRODUCTID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/> <column name="USER_NEW" value="Admin"/> @@ -406,7 +406,7 @@ <column name="PRODUCTCODE" value="WG3_MB-S"/> <column name="PRODUCTID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/> <column name="GROUPCODEID" value="PRODUCTGROUP3"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/> <column name="USER_NEW" value="Admin"/> @@ -422,7 +422,7 @@ <column name="PRODUCTID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/> <column name="GROUPCODEID" value="PRODUCTSPARE"/> <column name="MINSTOCK" valueNumeric="12"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/> <column name="USER_NEW" value="Admin"/> @@ -438,7 +438,7 @@ <column name="PRODUCTID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/> <column name="GROUPCODEID" value="PRODUCTSPARE"/> <column name="MINSTOCK" valueNumeric="8"/> - <column name="ADVERTISING" value="N"/> + <column name="ADVERTISING" valueNumeric="0"/> <column name="USER_EDIT" value="Admin"/> <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/> <column name="USER_NEW" value="Admin"/> diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index 0f9089f43bf57ecf9259f0810d9547cf94df4be6..5d1357c00cf29de9a3db3358b7494553f8a0b16f 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -21681,7 +21681,7 @@ <description></description> <auditSyncConfig> <name>auditSyncConfig</name> - <auditMode v="0" /> + <auditMode v="2" /> <syncActive v="false" /> <syncComplete v="true" /> <syncDirection v="1" /> @@ -21713,8 +21713,20 @@ <isUnique v="false" /> <index v="true" /> <documentation></documentation> - <title></title> + <title>Responsible</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + <customJDitoProperty> + <name>translate4Log</name> + <global v="false" /> + <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/responsible_id/customproperties/translate4log/property.js</property> + </customJDitoProperty> + </customProperties> </entityFieldDb> <entityFieldDb> <name>CONTACT_ID</name> @@ -21727,8 +21739,20 @@ <isUnique v="false" /> <index v="true" /> <documentation></documentation> - <title></title> + <title>Contact</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + <customJDitoProperty> + <name>translate4log</name> + <global v="false" /> + <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/contact_id/customproperties/translate4log/property.js</property> + </customJDitoProperty> + </customProperties> </entityFieldDb> <entityFieldDb> <name>OBJECT_TYPE</name> @@ -21745,21 +21769,28 @@ <description></description> </entityFieldDb> <entityFieldDb> - <name>ROW_ID</name> + <name>CURRENCY</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="1" /> + <columnType v="12" /> <size v="36" /> <scale v="0" /> - <notNull v="true" /> + <notNull v="false" /> <isUnique v="false" /> - <index v="true" /> + <index v="false" /> <documentation></documentation> - <title></title> + <title>Currency</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + </customProperties> </entityFieldDb> <entityFieldDb> - <name>CURRENCY</name> + <name>STATUS</name> <dbName></dbName> <primaryKey v="false" /> <columnType v="12" /> @@ -21769,16 +21800,28 @@ <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title></title> + <title>Status</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + <customStringProperty> + <name>keyword</name> + <global v="false" /> + <property>advertisingStatus</property> + </customStringProperty> + </customProperties> </entityFieldDb> <entityFieldDb> - <name>STATUS</name> + <name>DATE_EDIT</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="12" /> - <size v="36" /> - <scale v="0" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> @@ -21787,11 +21830,25 @@ <description></description> </entityFieldDb> <entityFieldDb> - <name>DATE_EDIT</name> + <name>DATE_NEW</name> <dbName></dbName> <primaryKey v="false" /> <columnType v="93" /> - <size v="19" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> <scale v="0" /> <notNull v="false" /> <isUnique v="false" /> @@ -21801,11 +21858,11 @@ <description></description> </entityFieldDb> <entityFieldDb> - <name>DATE_NEW</name> + <name>USER_EDIT</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="93" /> - <size v="19" /> + <columnType v="12" /> + <size v="50" /> <scale v="0" /> <notNull v="false" /> <isUnique v="false" /> @@ -21814,6 +21871,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>OBJECT_ROWID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -21827,7 +21898,7 @@ <description></description> <auditSyncConfig> <name>auditSyncConfig</name> - <auditMode v="0" /> + <auditMode v="2" /> <syncActive v="false" /> <syncComplete v="true" /> <syncDirection v="1" /> @@ -21866,23 +21937,30 @@ <name>PRICE</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="3" /> + <columnType v="2" /> <size v="14" /> <scale v="2" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title></title> + <title>Price</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + </customProperties> </entityFieldDb> <entityFieldDb> <name>DATE_EDIT</name> <dbName></dbName> <primaryKey v="false" /> <columnType v="93" /> - <size v="19" /> - <scale v="0" /> + <size v="29" /> + <scale v="9" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> @@ -21894,29 +21972,43 @@ <name>QUANTITY</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="3" /> + <columnType v="2" /> <size v="14" /> <scale v="2" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title></title> + <title>Quantity</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + </customProperties> </entityFieldDb> <entityFieldDb> <name>INFO</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="-1" /> + <columnType v="2005" /> <size v="2147483647" /> <scale v="0" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title></title> + <title>Info</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + </customProperties> </entityFieldDb> <entityFieldDb> <name>PRODUCT_ID</name> @@ -21932,20 +22024,6 @@ <title></title> <description></description> </entityFieldDb> - <entityFieldDb> - <name>FREE</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="-6" /> - <size v="3" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <entityFieldDb> <name>USER_EDIT</name> <dbName></dbName> @@ -21971,22 +22049,40 @@ <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title></title> + <title>delivery</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + <customStringProperty> + <name>keyword</name> + <global v="false" /> + <property>KeywordDelivery</property> + </customStringProperty> + </customProperties> </entityFieldDb> <entityFieldDb> <name>TARGETAMOUNT</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="3" /> + <columnType v="2" /> <size v="14" /> <scale v="2" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title></title> + <title>Target amount</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + </customBooleanProperty> + </customProperties> </entityFieldDb> <entityFieldDb> <name>ITEMPOSITION</name> @@ -22021,8 +22117,8 @@ <dbName></dbName> <primaryKey v="false" /> <columnType v="93" /> - <size v="19" /> - <scale v="0" /> + <size v="29" /> + <scale v="9" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> @@ -22044,26 +22140,12 @@ <title></title> <description></description> </entityFieldDb> - <entityFieldDb> - <name>ACTUALAMOUNT</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="3" /> - <size v="14" /> - <scale v="2" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <entityFieldDb> <name>SENT</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="-6" /> - <size v="3" /> + <columnType v="5" /> + <size v="5" /> <scale v="0" /> <notNull v="true" /> <isUnique v="false" /> diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/contact_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/contact_id/customproperties/translate4log/property.js new file mode 100644 index 0000000000000000000000000000000000000000..3ee7c9e2fa9d533db62574ca87bef99ea50f1ab1 --- /dev/null +++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/contact_id/customproperties/translate4log/property.js @@ -0,0 +1,9 @@ +import("Contact_lib"); +import("system.db"); +import("system.result"); +import("Loghistory_lib"); + +var params = Translate4LogParams.load(); +var res = ContactUtils.getTitleByContactId(params.value); + +result.string(res); \ No newline at end of file diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/responsible_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/responsible_id/customproperties/translate4log/property.js new file mode 100644 index 0000000000000000000000000000000000000000..3ee7c9e2fa9d533db62574ca87bef99ea50f1ab1 --- /dev/null +++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/responsible_id/customproperties/translate4log/property.js @@ -0,0 +1,9 @@ +import("Contact_lib"); +import("system.db"); +import("system.result"); +import("Loghistory_lib"); + +var params = Translate4LogParams.load(); +var res = ContactUtils.getTitleByContactId(params.value); + +result.string(res); \ No newline at end of file diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index 0ea331666014f52f862b50bd543264662d7d21b3..d639aeae48ff82576bdc3a45d10d7b3b1b8a8666 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -699,6 +699,10 @@ <name>ContactIds_param</name> <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/contactids_param/valueProcess.js</valueProcess> </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> </children> </entityConsumer> <entityParameter> @@ -738,6 +742,20 @@ </entityParameter> </children> </entityConsumer> + <entityField> + <name>advertising_id</name> + <title>Advertising material</title> + <linkedContext>Advertising</linkedContext> + <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/advertising_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Activity_entity/entityfields/advertising_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>Objects</name> + <dependency> + <name>dependency</name> + <entityName>Object_entity</entityName> + </dependency> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -852,6 +870,17 @@ <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryyear.value/expression.js</expression> <isFilterable v="true" /> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>hasAdvertising.value</name> + <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/hasadvertising.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>advertising_id.value</name> + <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/advertising_id.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>advertising_id.displayValue</name> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/Activity_entity/entityfields/advertising_id/displayValueProcess.js b/entity/Activity_entity/entityfields/advertising_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2c21cbda1e893de4fee6939cfc686dd60f35296a --- /dev/null +++ b/entity/Activity_entity/entityfields/advertising_id/displayValueProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("Advertising material")); \ No newline at end of file diff --git a/entity/Activity_entity/entityfields/advertising_id/valueProcess.js b/entity/Activity_entity/entityfields/advertising_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7a2e80d77765651d4c5af0fbad326ca670eea0b7 --- /dev/null +++ b/entity/Activity_entity/entityfields/advertising_id/valueProcess.js @@ -0,0 +1,8 @@ +import("system.vars"); +import("Sql_lib"); +import("system.result"); + +result.string(newSelect("ADVERTISING.ADVERTISINGID") + .from("ADVERTISING") + .where("ADVERTISING.OBJECT_ROWID", vars.get("$field.ACTIVITYID")) + .cell()); \ No newline at end of file diff --git a/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/objecttype_param/valueProcess.js b/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/objecttype_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..109d9bf5c8ea2825f9da796529721deab9a96d9f --- /dev/null +++ b/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/objecttype_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("Activity"); \ No newline at end of file diff --git a/entity/Activity_entity/entityfields/advertisinginformationconsumer/stateProcess.js b/entity/Activity_entity/entityfields/advertisinginformationconsumer/stateProcess.js index b7978b1081b1e41c17ca452ab567efb4af99763b..faf1a7f15caebcef28fa56bf0ed69d76d95c999e 100644 --- a/entity/Activity_entity/entityfields/advertisinginformationconsumer/stateProcess.js +++ b/entity/Activity_entity/entityfields/advertisinginformationconsumer/stateProcess.js @@ -1,6 +1,15 @@ -import("Util_lib"); +import("Sql_lib"); import("system.neon"); import("system.vars"); import("system.result"); -result.string(Utils.toBoolean(vars.get("$field.hasAdvertising")) ? neon.COMPONENTSTATE_EDITABLE : neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file +var count = new SqlBuilder().selectCount() + .from("ADVERTISING") + .where("ADVERTISING.OBJECT_ROWID", vars.get("$field.ACTIVITYID")) + .cell(); +var state = neon.COMPONENTSTATE_INVISIBLE; +if(count == 1) +{ + state = neon.COMPONENTSTATE_EDITABLE; +} +result.string(state); \ No newline at end of file diff --git a/entity/Activity_entity/entityfields/advertisingitems/stateProcess.js b/entity/Activity_entity/entityfields/advertisingitems/stateProcess.js index bf20bd9d449cda0018605c006d5faf53e8ae1fab..faf1a7f15caebcef28fa56bf0ed69d76d95c999e 100644 --- a/entity/Activity_entity/entityfields/advertisingitems/stateProcess.js +++ b/entity/Activity_entity/entityfields/advertisingitems/stateProcess.js @@ -1,28 +1,15 @@ -import("Util_lib"); -import("system.entities"); +import("Sql_lib"); +import("system.neon"); import("system.vars"); import("system.result"); -import("KeywordRegistry_basic"); -import("system.neon"); +var count = new SqlBuilder().selectCount() + .from("ADVERTISING") + .where("ADVERTISING.OBJECT_ROWID", vars.get("$field.ACTIVITYID")) + .cell(); var state = neon.COMPONENTSTATE_INVISIBLE; -if(Utils.toBoolean(vars.get("$field.hasAdvertising"))) +if(count == 1) { - //only when there is a advertising we can load it - var conf = entities.createConfigForLoadingConsumerRows(); - conf.consumer("AdvertisingInformationConsumer"); - conf.fields(["STATUS"]); - - var adv = entities.getRows(conf); - - if(adv[0]["STATUS"] == $KeywordRegistry.advertisingStatus$Open()) - { - state = neon.COMPONENTSTATE_EDITABLE; - } - else - { - state = neon.COMPONENTSTATE_READONLY; - } + state = neon.COMPONENTSTATE_EDITABLE; } - result.string(state); \ No newline at end of file diff --git a/entity/Activity_entity/entityfields/hasadvertising/stateProcess.js b/entity/Activity_entity/entityfields/hasadvertising/stateProcess.js index 833c6571b241e79b6d92e1ba55daf8b222ec22e6..bd62615a891343f3c4bf77ad4d9454a74be2d154 100644 --- a/entity/Activity_entity/entityfields/hasadvertising/stateProcess.js +++ b/entity/Activity_entity/entityfields/hasadvertising/stateProcess.js @@ -4,11 +4,11 @@ import("system.vars"); var ret = neon.COMPONENTSTATE_INVISIBLE; -if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW ) +if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) { ret = neon.COMPONENTSTATE_EDITABLE; } -else if(vars.get("$this.value") > 0) +else if(vars.get("$field.hasAdvertising") > 0) { ret = neon.COMPONENTSTATE_READONLY; } diff --git a/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js b/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js index da81698953407451e218b925b56b031ba3b2a4c1..c6ea91ecd1d6cef3113e7db772e506a53299d23c 100644 --- a/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js +++ b/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js @@ -1,8 +1,7 @@ -import("system.vars"); -import("system.neon"); import("system.result"); -import("system.entities"); - +import("system.neon"); +import("system.vars"); +import("Sql_lib"); if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) { @@ -13,10 +12,10 @@ if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) } else if(vars.get("$field.ACTIVITYID")) { - var conf = entities.createConfigForLoadingRows(); - conf.entity("Advertising_entity"); - conf.addParameter("RowId_param", vars.get("$field.ACTIVITYID")); - conf.fields(["ADVERTISINGID"]); + var count = new SqlBuilder().selectCount() + .from("ADVERTISING") + .where("ADVERTISING.OBJECT_ROWID", "ACTIVITY.ACTIVITYID") + .toString() - result.string( entities.getRowCount(conf)); + result.string(count); } diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/advertising_id.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/advertising_id.value/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..0c8efa230f48c6831c51cac80d0c468f42c75dc4 --- /dev/null +++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/advertising_id.value/expression.js @@ -0,0 +1,7 @@ +import("Sql_lib"); +import("system.result"); + +result.string(newSelect("ADVERTISING.ADVERTISINGID") + .from("ADVERTISING") + .where("ADVERTISING.OBJECT_ROWID = ACTIVITY.ACTIVITYID") + .toString()); \ No newline at end of file diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/hasadvertising.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/hasadvertising.value/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..d39b97d73f406c1f3986211141138f360f6c07ca --- /dev/null +++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/hasadvertising.value/expression.js @@ -0,0 +1,7 @@ +import("Sql_lib"); +import("system.result"); + +result.string(new SqlBuilder().selectCount() + .from("ADVERTISING") + .where("ADVERTISING.OBJECT_ROWID", "ACTIVITY.ACTIVITYID") + .toString()); \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/AdvertisingItem_entity.aod b/entity/AdvertisingItem_entity/AdvertisingItem_entity.aod index 668e449727fafa0879e8e29bf6318fc7a3f62071..aa1f2ac81227ebcf9ecfaa9bc41cb95b15674ec6 100644 --- a/entity/AdvertisingItem_entity/AdvertisingItem_entity.aod +++ b/entity/AdvertisingItem_entity/AdvertisingItem_entity.aod @@ -4,6 +4,7 @@ <title>Advertising item</title> <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/entity/AdvertisingItem_entity/documentation.adoc</documentation> + <iconId>VAADIN:PACKAGE</iconId> <titlePlural>Advertising items</titlePlural> <recordContainer>db</recordContainer> <entityFields> @@ -11,7 +12,7 @@ <name>#PROVIDER</name> </entityProvider> <entityField> - <name>ACTUALAMOUNT</name> + <name>actualAmount</name> <title>Actual amount</title> <contentType>NUMBER</contentType> <outputFormat>#,##0.00</outputFormat> @@ -37,10 +38,9 @@ <displayValueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/delivery/displayValueProcess.js</displayValueProcess> </entityField> <entityField> - <name>FREE</name> - <title>Free</title> + <name>free</name> + <title>${FREE}</title> <contentType>BOOLEAN</contentType> - <mandatory v="true" /> <valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/free/valueProcess.js</valueProcess> <onValueChange>%aditoprj%/entity/AdvertisingItem_entity/entityfields/free/onValueChange.js</onValueChange> </entityField> @@ -73,6 +73,7 @@ <name>PRODUCT_ID</name> <title>Product</title> <consumer>Products</consumer> + <mandatory v="true" /> <stateProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/stateProcess.js</stateProcess> <displayValueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess> <onValueChange>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/onValueChange.js</onValueChange> @@ -156,7 +157,7 @@ <expose v="true" /> </entityParameter> <entityField> - <name>ContactId</name> + <name>contactId</name> <title>Person</title> <state>READONLY</state> <valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/contactid/valueProcess.js</valueProcess> @@ -230,13 +231,14 @@ <recordContainers> <dbRecordContainer> <name>db</name> + <fromClauseProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> <conditionProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js</conditionProcess> <orderClauseProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> <alias>Data_alias</alias> <recordFieldMappings> <dbRecordFieldMapping> - <name>ACTUALAMOUNT.value</name> - <recordfield>ADVERTISINGITEM.ACTUALAMOUNT</recordfield> + <name>actualAmount.value</name> + <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js</expression> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>DATE_NEW.value</name> @@ -247,8 +249,7 @@ <recordfield>ADVERTISINGITEM.DELIVERY</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> - <name>FREE.value</name> - <recordfield>ADVERTISINGITEM.FREE</recordfield> + <name>free.value</name> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>INFO.value</name> @@ -299,6 +300,26 @@ <name>ADVERTISINGITEMID.value</name> <recordfield>ADVERTISINGITEM.ADVERTISINGITEMID</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>actualAmount.displayValue</name> + <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PRICE.displayValue</name> + <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TARGETAMOUNT.displayValue</name> + <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>UNIT.displayValue</name> + <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PRODUCT_ID.displayValue</name> + <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> diff --git a/entity/AdvertisingItem_entity/entityfields/actualamount/titleProcess.js b/entity/AdvertisingItem_entity/entityfields/actualamount/titleProcess.js index 372b52c156b61bdf0f8d18d72ec6db62902c06b3..cd701d9cab03895fd84c96c446d85242df961faa 100644 --- a/entity/AdvertisingItem_entity/entityfields/actualamount/titleProcess.js +++ b/entity/AdvertisingItem_entity/entityfields/actualamount/titleProcess.js @@ -1,6 +1,5 @@ -import("Advertising_lib"); import("system.result"); import("system.vars"); import("system.translate"); -result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Actual Amount"), vars.get("$param.Currency_param"))); \ No newline at end of file +result.string(translate.withArguments("Actual Amount in %0", [vars.get("$param.Currency_param")])); \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/entityfields/actualamount/valueProcess.js b/entity/AdvertisingItem_entity/entityfields/actualamount/valueProcess.js index 29c61d3d4ac545e7d9f2b66eb3e787f527a8a5b2..737b1245b540d60a241f70b4f1ed7576234c76c8 100644 --- a/entity/AdvertisingItem_entity/entityfields/actualamount/valueProcess.js +++ b/entity/AdvertisingItem_entity/entityfields/actualamount/valueProcess.js @@ -4,7 +4,7 @@ import("system.vars"); if(vars.get("$field.PRODUCT_ID") && vars.get("$field.PRICE")) { - var free = vars.get("$field.FREE"); + var free = vars.get("$field.free"); var quantity = vars.get("$field.QUANTITY"); var price = vars.get("$field.PRICE"); diff --git a/entity/AdvertisingItem_entity/entityfields/contactid/displayValueProcess.js b/entity/AdvertisingItem_entity/entityfields/contactid/displayValueProcess.js index f52abea3632db85ae710f51a6a7616796e7fd161..f2ba9b51febfae1952b84f5eb547f55dcd981af9 100644 --- a/entity/AdvertisingItem_entity/entityfields/contactid/displayValueProcess.js +++ b/entity/AdvertisingItem_entity/entityfields/contactid/displayValueProcess.js @@ -2,5 +2,5 @@ import("system.result"); import("system.vars"); import("Contact_lib"); -var title = ContactUtils.getTitleByContactId(vars.get("$field.ContactId")); +var title = ContactUtils.getTitleByContactId(vars.get("$field.contactId")); result.string(title); \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/entityfields/price/stateProcess.js b/entity/AdvertisingItem_entity/entityfields/price/stateProcess.js index ff4c0f2c4bcfd0cf2656f0675a9edc1e7b47c982..275b3b6d140b066e9ce645abb91f6962b7ef7890 100644 --- a/entity/AdvertisingItem_entity/entityfields/price/stateProcess.js +++ b/entity/AdvertisingItem_entity/entityfields/price/stateProcess.js @@ -3,4 +3,4 @@ import("Util_lib"); import("system.neon"); import("system.vars"); -result.string(Utils.toBoolean(vars.get("$field.FREE")) ? neon.COMPONENTSTATE_READONLY : neon.COMPONENTSTATE_EDITABLE); \ No newline at end of file +result.string(Utils.toBoolean(vars.get("$field.free")) ? neon.COMPONENTSTATE_READONLY : neon.COMPONENTSTATE_EDITABLE); \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/entityfields/price/titleProcess.js b/entity/AdvertisingItem_entity/entityfields/price/titleProcess.js index 4e3e533742ca7c2121f3d818d3cdf9eccf914a50..c410b5945d975ab2ce29495ac5292e8edab3466e 100644 --- a/entity/AdvertisingItem_entity/entityfields/price/titleProcess.js +++ b/entity/AdvertisingItem_entity/entityfields/price/titleProcess.js @@ -1,6 +1,5 @@ -import("Advertising_lib"); import("system.result"); import("system.vars"); import("system.translate"); -result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Price"), vars.get("$param.Currency_param"))); \ No newline at end of file +result.string(translate.withArguments("Price in %0", [vars.get("$param.Currency_param")])); \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/entityfields/targetamount/titleProcess.js b/entity/AdvertisingItem_entity/entityfields/targetamount/titleProcess.js index 569277fab22008475f2ba1895897e4c9f6e273d6..01045e711f85a2f91b62a75f547fa8f5a05972ff 100644 --- a/entity/AdvertisingItem_entity/entityfields/targetamount/titleProcess.js +++ b/entity/AdvertisingItem_entity/entityfields/targetamount/titleProcess.js @@ -1,6 +1,5 @@ -import("Advertising_lib"); import("system.result"); import("system.vars"); import("system.translate"); -result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Target Amount"), vars.get("$param.Currency_param"))); \ No newline at end of file +result.string(translate.withArguments("Target Amount in %0", [vars.get("$param.Currency_param")])); \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js b/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js index 91c684838bc3b41500ee75c5eb81467964cd3f51..f5d1110f049ea45956843c6b7ee8b680b4ebeed6 100644 --- a/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js +++ b/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js @@ -13,7 +13,7 @@ if(vars.exists("$param.AdvertisingId_param") && vars.get("$param.AdvertisingId_p if(vars.exists("$param.RowId_param") && vars.get("$param.RowId_param")) { var advSubselect = newSelect("ADVERTISING.ADVERTISINGID") - .from("ADVERTISING").where("ADVERTISING.ROW_ID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL()); + .from("ADVERTISING").where("ADVERTISING.OBJECT_ROWID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL()); cond.andIfSet("ADVERTISINGITEM.ADVERTISING_ID", advSubselect, SqlBuilder.EQUAL()); } diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js b/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1be8c9f2d04ceed21d2ab722a1b5f5d97c242777 --- /dev/null +++ b/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Sql_lib"); + +result.string(new SqlBuilder() + .from("ADVERTISINGITEM") + .join("ADVERTISING", "ADVERTISING.ADVERTISINGID = ADVERTISINGITEM.ADVERTISING_ID").toString()); \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..218041fd579470a70141909b22cd2fcf7662c48a --- /dev/null +++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.SQLTYPES"); +import("system.result"); +import("Sql_lib"); + +var sqlHelper = new SqlMaskingUtils(); +result.string(sqlHelper.concatenate([sqlHelper.cast(sqlHelper.cast("ADVERTISINGITEM.PRICE*ADVERTISINGITEM.QUANTITY", SQLTYPES.DECIMAL, [30, 2]), SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)])) \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..eeffab69911b222239b13cb1e2524412054dd892 --- /dev/null +++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js @@ -0,0 +1,6 @@ +import("system.SQLTYPES"); +import("system.result"); +import("Sql_lib"); + +var sqlHelper = new SqlMaskingUtils(); +result.string(sqlHelper.cast("ADVERTISINGITEM.PRICE*ADVERTISINGITEM.QUANTITY", SQLTYPES.DECIMAL, [30, 2])) \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..8188354b06a5552d2c820ebb0bfa896a201a062b --- /dev/null +++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.SQLTYPES"); +import("system.result"); +import("Sql_lib"); + +var sqlHelper = new SqlMaskingUtils(); +result.string(sqlHelper.concatenate([sqlHelper.cast("ADVERTISINGITEM.PRICE", SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)])) \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..c3affdfee4c46dd197d303f0ef5df1c5ec19119f --- /dev/null +++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js @@ -0,0 +1,8 @@ +import("system.vars"); +import("system.result"); +import("Sql_lib"); + +result.string(newSelect("PRODUCT.PRODUCTNAME") + .from("PRODUCT") + .where("ADVERTISINGITEM.PRODUCT_ID = PRODUCT.PRODUCTID") + .toString()); \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..74f23bb6db02038e79bab42403515d729fd6b1ba --- /dev/null +++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.SQLTYPES"); +import("system.result"); +import("Sql_lib"); + +var sqlHelper = new SqlMaskingUtils(); +result.string(sqlHelper.concatenate([sqlHelper.cast("ADVERTISINGITEM.TARGETAMOUNT", SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)])) \ No newline at end of file diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..a9650714de8e5b246115dc74cd1bef902a6c69b7 --- /dev/null +++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.quantityUnit(), "ADVERTISINGITEM.UNIT"); +result.string(sql); diff --git a/entity/Advertising_entity/Advertising_entity.aod b/entity/Advertising_entity/Advertising_entity.aod index 89b24090e6046f658200acd49581a1053ac167a3..a2e6c6eddca3ad9d6741217785478f9ffa694bcd 100644 --- a/entity/Advertising_entity/Advertising_entity.aod +++ b/entity/Advertising_entity/Advertising_entity.aod @@ -4,7 +4,8 @@ <title>Advertising material</title> <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/entity/Advertising_entity/documentation.adoc</documentation> - <grantCreate v="false" /> + <icon>VAADIN:PACKAGE</icon> + <grantCreate v="true" /> <contentTitleProcess>%aditoprj%/entity/Advertising_entity/contentTitleProcess.js</contentTitleProcess> <contentDescriptionProcess>%aditoprj%/entity/Advertising_entity/contentDescriptionProcess.js</contentDescriptionProcess> <iconId>VAADIN:PACKAGE</iconId> @@ -46,11 +47,12 @@ <displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/responsible_id/displayValueProcess.js</displayValueProcess> </entityField> <entityField> - <name>ROW_ID</name> + <name>OBJECT_ROWID</name> <title>{$OBJECTLINK_OBJECT}</title> <consumer>Objects</consumer> - <linkedContextProcess>%aditoprj%/entity/Advertising_entity/entityfields/row_id/linkedContextProcess.js</linkedContextProcess> - <displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/row_id/displayValueProcess.js</displayValueProcess> + <linkedContextProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess> + <titleProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js</titleProcess> + <displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess> </entityField> <entityProvider> <name>#PROVIDER_AGGREGATES</name> @@ -198,6 +200,47 @@ <stateProcess>%aditoprj%/entity/Advertising_entity/entityfields/newmail/stateProcess.js</stateProcess> <tooltip>Send digital Advertising materials & complete Workflow Task</tooltip> </entityActionField> + <entityField> + <name>USER_EDIT</name> + <title>USER_EDIT</title> + <valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <title>USER_NEW</title> + <valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityActionField> + <name>openAdminView</name> + <title>Open admin view</title> + <onActionProcess>%aditoprj%/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CURLY_BRACKETS</iconId> + <stateProcess>%aditoprj%/entity/Advertising_entity/entityfields/openadminview/stateProcess.js</stateProcess> + </entityActionField> + <entityParameter> + <name>IsInsertAdvertising_param</name> + <expose v="true" /> + <documentation>%aditoprj%/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc</documentation> + <description></description> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + </entityParameter> + <entityConsumer> + <name>LogHistories</name> + <dependency> + <name>dependency</name> + <entityName>LogHistory_entity</entityName> + <fieldName>LogHistoryProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>tablenames_param</name> + <valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -213,10 +256,12 @@ <dbRecordFieldMapping> <name>CONTACT_ID.value</name> <recordfield>ADVERTISING.CONTACT_ID</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CURRENCY.value</name> <recordfield>ADVERTISING.CURRENCY</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>OBJECT_TYPE.value</name> @@ -225,14 +270,16 @@ <dbRecordFieldMapping> <name>RESPONSIBLE_ID.value</name> <recordfield>ADVERTISING.RESPONSIBLE_ID</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> - <name>ROW_ID.value</name> - <recordfield>ADVERTISING.ROW_ID</recordfield> + <name>OBJECT_ROWID.value</name> + <recordfield>ADVERTISING.OBJECT_ROWID</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>STATUS.value</name> <recordfield>ADVERTISING.STATUS</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>ACTIVE.value</name> @@ -246,10 +293,44 @@ <name>DATE_EDIT.value</name> <recordfield>ADVERTISING.DATE_EDIT</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.displayValue</name> + <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CURRENCY.displayValue</name> + <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>RESPONSIBLE_ID.displayValue</name> + <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACT_ID.displayValue</name> + <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>ADVERTISING.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>ADVERTISING.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>countItems.value</name> + <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>countItems.displayValue</name> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.displayValue</name> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> - <name>fc2ebd14-8a58-4c97-8bac-15db1f073445</name> + <name>f0bfd671-33ec-4106-b89e-5e2b198ec987</name> <tableName>ADVERTISING</tableName> <primaryKey>ADVERTISINGID</primaryKey> <isUIDTable v="true" /> diff --git a/entity/Advertising_entity/entityfields/contactids_param/valueProcess.js b/entity/Advertising_entity/entityfields/contactids_param/valueProcess.js index 9d60d178475638345dfc3cb5891db6a8c8a433d9..64d594152f58c3c9df09678b4ff49c88450f9183 100644 --- a/entity/Advertising_entity/entityfields/contactids_param/valueProcess.js +++ b/entity/Advertising_entity/entityfields/contactids_param/valueProcess.js @@ -1,27 +1,16 @@ -import("system.entities"); +import("Sql_lib"); import("system.result"); import("system.neon"); import("system.vars"); //when not set yet, especially when directly in advertising there should be also only the linked person selectable -if(!vars.get("$param.ContactIds_param")) +if(!vars.get("$param.ContactIds_param") && vars.get("$param.ObjectType_param") == "Activity") { - var contactIds = []; - var conf = entities.createConfigForLoadingRows(); - conf.entity("ActivityLink_entity") - conf.addParameter("ActivityId_param", vars.get("$field.ROW_ID")); - conf.fields(["OBJECT_TYPE", "OBJECT_ROWID"]); + var contactIds = newSelect("ACTIVITYLINK.OBJECT_ROWID") + .from("ACTIVITYLINK") + .where("ACTIVITYLINK.OBJECT_TYPE", "Person") + .and("ACTIVITYLINK.ACTIVITY_ID", vars.get("$param.RowId_param")) + .arrayColumn(); - var links = entities.getRows(conf); - - //only Persons can be linked to an Advertising - links.forEach(function(link) - { - if(link["OBJECT_TYPE"] == "Person") - { - contactIds.push( link["OBJECT_ROWID"]); - } - }); - - result.string(JSON.stringify(contactIds)); + result.string(contactIds); } \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/countitems/valueProcess.js b/entity/Advertising_entity/entityfields/countitems/valueProcess.js index 21765b080a5505cbfb88a888afebeb64670e8b27..a52aabc35466797923b210909b562ebea203b7f4 100644 --- a/entity/Advertising_entity/entityfields/countitems/valueProcess.js +++ b/entity/Advertising_entity/entityfields/countitems/valueProcess.js @@ -1,9 +1,10 @@ +import("Sql_lib"); import("system.result"); import("system.vars"); -import("system.entities"); -var conf = entities.createConfigForLoadingRows() -.entity("AdvertisingItem_entity") -.addParameter("AdvertisingId_param", vars.get("$field.ADVERTISINGID")); - -result.string(entities.getRowCount(conf)); \ No newline at end of file +var count = new SqlBuilder().selectCount() + .from("ADVERTISINGITEM") + .where("ADVERTISINGITEM.ADVERTISING_ID", vars.get("$field.ADVERTISINGID")) + .cell(); + +result.string(count); \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc b/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..be7781be8073a7dcb89f45c66fc6924b7fd7375e --- /dev/null +++ b/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc @@ -0,0 +1,2 @@ +== IsIntertAdvertising_param +Needed so we can use writeEntity in AdvertisingUtils.insertAdvertising() while still disabling creating records for the user \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js b/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..bdb5d71eb187577003e548bae0fa1e207afb2290 --- /dev/null +++ b/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js @@ -0,0 +1,10 @@ +import("system.vars"); +import("system.result"); +import("Context_lib"); + +var res = []; +res.push({id: vars.get("$field.ADVERTISINGID"), tableNames: ["ADVERTISINGITEM"]}); +res.push({id: vars.get("$field.ADVERTISINGID"), tableNames: ["ADVERTISING"]}); + +res = JSON.stringify(res);//currently only strings can be passed as param +result.object(res); \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/row_id/displayValueProcess.js b/entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js similarity index 60% rename from entity/Advertising_entity/entityfields/row_id/displayValueProcess.js rename to entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js index ffa37a003544be12db61a09266ff073f4ed6bd7d..143dfb0ed1928f680355412396f251409fe9812f 100644 --- a/entity/Advertising_entity/entityfields/row_id/displayValueProcess.js +++ b/entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js @@ -3,9 +3,10 @@ import("system.vars"); import("system.result"); import("Context_lib"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.ROW_ID")) +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_ROWID")) { result.string(""); -} else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) { - result.string(ContextUtils.getTitleByContext(vars.get("$field.OBJECT_TYPE"), vars.get("$field.ROW_ID"))); +} +else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) { + result.string(ContextUtils.getTitleByContext(vars.get("$field.OBJECT_TYPE"), vars.get("$field.OBJECT_ROWID"))); } \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/row_id/linkedContextProcess.js b/entity/Advertising_entity/entityfields/object_rowid/linkedContextProcess.js similarity index 100% rename from entity/Advertising_entity/entityfields/row_id/linkedContextProcess.js rename to entity/Advertising_entity/entityfields/object_rowid/linkedContextProcess.js diff --git a/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js b/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..049db9efd334270b3f20b4b0c1d6333ec261ea88 --- /dev/null +++ b/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js @@ -0,0 +1,9 @@ +import("system.translate"); +import("system.vars"); +import("system.result"); +import("Context_lib"); + +if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) +{ + result.string(translate.text(vars.get("$field.OBJECT_TYPE"))); +} \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js b/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..fe41288c81d901a0a8c8e0f01daa57ca92359b84 --- /dev/null +++ b/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js @@ -0,0 +1,9 @@ +import("system.vars"); +import("Context_lib"); + +AdminViewUtils.open("ADVERTISING", [ + ["DATE_NEW", vars.get("$field.DATE_NEW"), "DATE"], + ["DATE_EDIT", vars.get("$field.DATE_EDIT"), "DATE"], + ["USER_NEW", vars.get("$field.USER_NEW")], + ["USER_EDIT", vars.get("$field.USER_EDIT")] +]); \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/openadminview/stateProcess.js b/entity/Advertising_entity/entityfields/openadminview/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..38f2298db7304b4d44a15fbad7f720558c02da99 --- /dev/null +++ b/entity/Advertising_entity/entityfields/openadminview/stateProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(AdminViewUtils.getActionState()); \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/personconsumer/children/onlyshowcontactids_param/valueProcess.js b/entity/Advertising_entity/entityfields/personconsumer/children/onlyshowcontactids_param/valueProcess.js index d6e48343fadc850bc90790757898cb079046e5de..7f49719213524964f5a67d6f33d125637f330200 100644 --- a/entity/Advertising_entity/entityfields/personconsumer/children/onlyshowcontactids_param/valueProcess.js +++ b/entity/Advertising_entity/entityfields/personconsumer/children/onlyshowcontactids_param/valueProcess.js @@ -1,9 +1,18 @@ +import("Sql_lib"); import("system.result"); import("system.vars"); - -//check if we have to restrict the working mode... -if(vars.exists("$param.ContactIds_param") && vars.get("$param.ContactIds_param")) +var contactIds = []; +if(vars.get("$param.ObjectType_param") == "Activity") +{ + contactIds = newSelect("ACTIVITYLINK.OBJECT_ROWID") + .from("ACTIVITYLINK") + .where("ACTIVITYLINK.OBJECT_TYPE", "Person") + .and("ACTIVITYLINK.ACTIVITY_ID", vars.get("$param.RowId_param")) + .arrayColumn(); +} +//when not set yet, especially when directly in advertising there should be also only the linked person selectable +if(contactIds.length > 0) { - result.string(vars.get("$param.ContactIds_param")); + result.string(JSON.stringify(contactIds)); } \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/user_edit/valueProcess.js b/entity/Advertising_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8ce6b9bd703ac2ba5630b0c2bdd4997569766fc4 --- /dev/null +++ b/entity/Advertising_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,9 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/Advertising_entity/entityfields/user_new/valueProcess.js b/entity/Advertising_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a37ddaebdc822c822207fb290eeee9291e7a1b40 --- /dev/null +++ b/entity/Advertising_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,9 @@ +import("system.util"); +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/Advertising_entity/recordcontainers/db/conditionProcess.js b/entity/Advertising_entity/recordcontainers/db/conditionProcess.js index 61616bf1cb4d788a2a759fed05e26e12b6c7fc74..d6915997ea205ee84c662b2abd53865d605509c2 100644 --- a/entity/Advertising_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Advertising_entity/recordcontainers/db/conditionProcess.js @@ -4,9 +4,6 @@ import("Sql_lib"); var cond = newWhere(); -if(vars.exists("$param.RowId_param") && vars.get("$param.RowId_param")) -{ - cond.andIfSet("advertising.ROW_ID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL()); -} +cond.andIfSet("ADVERTISING.OBJECT_ROWID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL()); result.string(cond.toString()); \ No newline at end of file diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..e6b609c1fc27ba9f613f00d757d38d0aa240249c --- /dev/null +++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Person_lib"); + +result.string(PersUtils.getResolvingDisplaySubSql("CONTACT_ID")); \ No newline at end of file diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..4ca684e515210500d1bd4d035f94d27d71cb2a92 --- /dev/null +++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Sql_lib"); + +result.string(new SqlBuilder().selectCount() + .from("ADVERTISINGITEM") + .where("ADVERTISINGITEM.ADVERTISING_ID = ADVERTISING.ADVERTISINGID").toString()); \ No newline at end of file diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..f51da263f1cd32d2947b92a27012ea3bd048b3d5 --- /dev/null +++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.currency(), "ADVERTISING.CURRENCY"); +result.string(sql); \ No newline at end of file diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..f024ed18453679cb97c900f30f0354b8c91ffe1c --- /dev/null +++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Person_lib"); + +result.string(PersUtils.getResolvingDisplaySubSql("RESPONSIBLE_ID")); \ No newline at end of file diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..8ae0b3f521dc7b4579bc0ccde37ddcd9ec725528 --- /dev/null +++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.advertisingStatus(), "ADVERTISING.STATUS"); +result.string(sql); diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index 04d2525d81bcfba0712a4c5e00d76d89d72a98e1..5c71823a29dcd605c022b835bbef23f6979df02f 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -41,8 +41,7 @@ <entityField> <name>ADVERTISING</name> <title>Advertising material</title> - <contentType>TEXT</contentType> - <dropDownProcess>%aditoprj%/entity/Product_entity/entityfields/advertising/dropDownProcess.js</dropDownProcess> + <contentType>BOOLEAN</contentType> <valueProcess>%aditoprj%/entity/Product_entity/entityfields/advertising/valueProcess.js</valueProcess> </entityField> <entityField> @@ -538,7 +537,6 @@ <name>DIGITAL</name> <title>Digital</title> <contentType>BOOLEAN</contentType> - <stateProcess>%aditoprj%/entity/Product_entity/entityfields/digital/stateProcess.js</stateProcess> </entityField> <entityParameter> <name>AdvertisingProducts_param</name> diff --git a/entity/Product_entity/entityfields/advertising/dropDownProcess.js b/entity/Product_entity/entityfields/advertising/dropDownProcess.js deleted file mode 100644 index a3de7af1049c76fa7f5d88af79c5b06882612d0f..0000000000000000000000000000000000000000 --- a/entity/Product_entity/entityfields/advertising/dropDownProcess.js +++ /dev/null @@ -1,7 +0,0 @@ -import("system.translate"); -import("system.result"); - -result.object([ - ["Y", translate.text("Yes")] - ,["N", translate.text("No")] -]); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/advertising/valueProcess.js b/entity/Product_entity/entityfields/advertising/valueProcess.js index 7c6048262cc428fd3a8fba1b535287b0747e669b..801a9cf46f6d06604ab06e1a2de3086dd3fd4be4 100644 --- a/entity/Product_entity/entityfields/advertising/valueProcess.js +++ b/entity/Product_entity/entityfields/advertising/valueProcess.js @@ -2,5 +2,7 @@ import("system.vars"); import("system.result"); import("system.neon"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null) - result.string("N"); \ No newline at end of file +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) +{ + result.string("1"); +} \ No newline at end of file diff --git a/entity/Product_entity/entityfields/digital/stateProcess.js b/entity/Product_entity/entityfields/digital/stateProcess.js deleted file mode 100644 index a3c48311cd55a3aa953ade08d6d30eedc3e3964c..0000000000000000000000000000000000000000 --- a/entity/Product_entity/entityfields/digital/stateProcess.js +++ /dev/null @@ -1,5 +0,0 @@ -import("system.neon"); -import("system.vars"); -import("system.result"); - -result.string(vars.get("$field.ADVERTISING") == "Y" ? neon.COMPONENTSTATE_EDITABLE : neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/Product_entity/entityfields/digitaladvertisingdocuments/stateProcess.js b/entity/Product_entity/entityfields/digitaladvertisingdocuments/stateProcess.js index 5972c08198d84d4befd0840a3ffe3bc6e50322ff..0d5c6be77505f4819dc8983ab0d5f20e1e40a553 100644 --- a/entity/Product_entity/entityfields/digitaladvertisingdocuments/stateProcess.js +++ b/entity/Product_entity/entityfields/digitaladvertisingdocuments/stateProcess.js @@ -5,7 +5,7 @@ import("system.neon"); var ret = neon.COMPONENTSTATE_INVISIBLE; -if(Utils.toBoolean(vars.get("$field.ADVERTISING") == "Y" && vars.get("$field.DIGITAL"))) +if(Utils.toBoolean(vars.get("$field.ADVERTISING")) && vars.get("$field.DIGITAL")) { ret = neon.COMPONENTSTATE_EDITABLE; } diff --git a/entity/Product_entity/entityfields/documents/stateProcess.js b/entity/Product_entity/entityfields/documents/stateProcess.js index d885b0520747da465a1ba022ab559d3cdc178a0b..14678836fcab108dfa73ad68c9f63d1393a7ea6f 100644 --- a/entity/Product_entity/entityfields/documents/stateProcess.js +++ b/entity/Product_entity/entityfields/documents/stateProcess.js @@ -6,7 +6,7 @@ import("system.neon"); var ret = neon.COMPONENTSTATE_EDITABLE; //disabling the 'normal' Documentfolder when the product is a digital advertisingmaterial the second document component //will be enabled in reason there will be a keyword preselected so that digital Advertising Documents can be identified easier -if(Utils.toBoolean(vars.get("$field.ADVERTISING") == "Y" && vars.get("$field.DIGITAL"))) +if(Utils.toBoolean(vars.get("$field.ADVERTISING")) && vars.get("$field.DIGITAL")) { ret = neon.COMPONENTSTATE_INVISIBLE; } diff --git a/entity/Product_entity/recordcontainers/db/conditionProcess.js b/entity/Product_entity/recordcontainers/db/conditionProcess.js index 8a3a4bf9287fc6c1ce31aa671db428bc61358123..91feee1edd1ea417460212391566e50c08baa911 100644 --- a/entity/Product_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Product_entity/recordcontainers/db/conditionProcess.js @@ -19,6 +19,6 @@ if (vars.exists("$param.ExcludedProducts_param") && vars.get("$param.ExcludedPro if(vars.exists("$param.AdvertisingProducts_param") && vars.get("$param.AdvertisingProducts_param")) { - productCond.andIfSet("PRODUCT.ADVERTISING", "Y", SqlBuilder.EQUAL()); + productCond.andIfSet("PRODUCT.ADVERTISING", "1", SqlBuilder.EQUAL()); } result.string(productCond.toString()); diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 82e8891993439553f731341e1745980c2d51d724..09e836d4a1c3f4ad82ee7a787fbf977673b70e01 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -10321,6 +10321,18 @@ <entry> <key>TIFF Image</key> </entry> + <entry> + <key>${FREE}</key> + </entry> + <entry> + <key>Target Amount in %0</key> + </entry> + <entry> + <key>Price in %0</key> + </entry> + <entry> + <key>Actual Amount in %0</key> + </entry> <entry> <key>OpenDocument Chart</key> </entry> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 15fdd1a08fb1f8d40dbf30fff1faa433d58cd864..2751e87f9046b70486aee5c950f9dcfd533f40f4 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -698,7 +698,7 @@ </entry> <entry> <key>Advertising item</key> - <value>Werbemittelposition</value> + <value>Werbemittelposten</value> </entry> <entry> <key>Distribution list</key> @@ -808,6 +808,10 @@ <key>${CONDITION}</key> <value>Bedingung</value> </entry> + <entry> + <key>${FREE}</key> + <value>Kostenlos</value> + </entry> <entry> <key>License</key> <value>Lizenz</value> @@ -1140,6 +1144,18 @@ <key>Target amount</key> <value>Soll Betrag</value> </entry> + <entry> + <key>Actual Amount in %0</key> + <value>Ist Betrag in %0</value> + </entry> + <entry> + <key>Target Amount in %0</key> + <value>Soll Betrag in %0</value> + </entry> + <entry> + <key>Price in %0</key> + <value>Preis in %0</value> + </entry> <entry> <key>Priority</key> <value>Priorität</value> @@ -1433,7 +1449,7 @@ </entry> <entry> <key>Advertising items</key> - <value>Werbemittelpositionen</value> + <value>Werbemittelposten</value> </entry> <entry> <key>SqlBuilder must contain a select clause!</key> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 61e063af63ac21f49795468123e9313a228207bb..b9beadd214116a423d107856866cce8140fd63ba 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -35,6 +35,10 @@ <key>${CHECK SALESPROJECT \"%0\"}</key> <value>check status sales project \"%0\</value> </entry> + <entry> + <key>${FREE}</key> + <value>Free</value> + </entry> <entry> <key>Male</key> </entry> @@ -9444,6 +9448,15 @@ <entry> <key>Tar Archive</key> </entry> + <entry> + <key>Target Amount in %0</key> + </entry> + <entry> + <key>Price in %0</key> + </entry> + <entry> + <key>Actual Amount in %0</key> + </entry> <entry> <key>TIFF Image</key> </entry> diff --git a/neonView/ActivityPreview_view/ActivityPreview_view.aod b/neonView/ActivityPreview_view/ActivityPreview_view.aod index eb0662c53e5fa9c46e2fdaf3c1630de47ff94199..4785043eb23666ff7c2988a775d9664fc6698dd8 100644 --- a/neonView/ActivityPreview_view/ActivityPreview_view.aod +++ b/neonView/ActivityPreview_view/ActivityPreview_view.aod @@ -35,6 +35,10 @@ <name>c4569e50-223e-4b99-8253-e8fa72ef45a0</name> <entityField>RESPONSIBLE</entityField> </entityFieldLink> + <entityFieldLink> + <name>20c3373a-41e5-4680-b9bb-8b8012ca0d18</name> + <entityField>advertising_id</entityField> + </entityFieldLink> </fields> </genericViewTemplate> <neonViewReference> diff --git a/neonView/AdvertisingDetail_view/AdvertisingDetail_view.aod b/neonView/AdvertisingDetail_view/AdvertisingDetail_view.aod index 2591c4e320178b2f55ddfd43da5081746d32dd7c..1c78dd8f378240d8e0a0e2bd18e697abd52b9451 100644 --- a/neonView/AdvertisingDetail_view/AdvertisingDetail_view.aod +++ b/neonView/AdvertisingDetail_view/AdvertisingDetail_view.aod @@ -13,6 +13,7 @@ <genericViewTemplate> <name>generic</name> <showDrawer v="true" /> + <drawerCaption>Advertising material</drawerCaption> <fields> <entityFieldLink> <name>d44add6c-2c60-485b-8bbc-9ebe494f9e23</name> diff --git a/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod b/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod index 957936fd83b77f2cf900ac1c9067ae732900c11a..793cd634f5dc7dfa77ad751f5596030d0e191217 100644 --- a/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod +++ b/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod @@ -11,7 +11,12 @@ <children> <tableViewTemplate> <name>Table</name> + <maxDBRow v="100" /> <columns> + <neonTableColumn> + <name>8c3e1048-7f7a-4210-a849-198f5b569c04</name> + <entityField>#ICON</entityField> + </neonTableColumn> <neonTableColumn> <name>b8971987-29bb-48dc-b9fc-075a63ef0b4e</name> <entityField>STATUS</entityField> @@ -26,7 +31,7 @@ </neonTableColumn> <neonTableColumn> <name>6f0e0a32-5fcf-4194-b314-0013f65ec2d6</name> - <entityField>ROW_ID</entityField> + <entityField>OBJECT_ROWID</entityField> </neonTableColumn> <neonTableColumn> <name>fa9fa2a6-4240-49dc-a516-cbbd6abd29a6</name> diff --git a/neonView/AdvertisingItemEdit_view/AdvertisingItemEdit_view.aod b/neonView/AdvertisingItemEdit_view/AdvertisingItemEdit_view.aod index 29926466fa195f7edd5ea6f7bcbe4067b554a19d..c635c98edf23bac272ff3ba1de9660da88af7dce 100644 --- a/neonView/AdvertisingItemEdit_view/AdvertisingItemEdit_view.aod +++ b/neonView/AdvertisingItemEdit_view/AdvertisingItemEdit_view.aod @@ -35,11 +35,11 @@ </entityFieldLink> <entityFieldLink> <name>1c812246-f844-4827-bbb9-001642fa4a5d</name> - <entityField>FREE</entityField> + <entityField>free</entityField> </entityFieldLink> <entityFieldLink> <name>f7ecb1cf-5365-45fa-9c45-fd5cbfed0e60</name> - <entityField>ACTUALAMOUNT</entityField> + <entityField>actualAmount</entityField> </entityFieldLink> <entityFieldLink> <name>733e1d22-af01-4a21-8626-d7280feabab9</name> diff --git a/neonView/AdvertisingItemFilter_view/AdvertisingItemFilter_view.aod b/neonView/AdvertisingItemFilter_view/AdvertisingItemFilter_view.aod index 91ab8d80c299db89e49f2482eb5e3d9e13c6dc81..7c05fd6bd41f9f1d9d43067281eb1862f3217714 100644 --- a/neonView/AdvertisingItemFilter_view/AdvertisingItemFilter_view.aod +++ b/neonView/AdvertisingItemFilter_view/AdvertisingItemFilter_view.aod @@ -31,17 +31,13 @@ <name>c2b808bf-8b0e-4670-8828-b6896bbe872c</name> <entityField>PRICE</entityField> </neonTableColumn> - <neonTableColumn> - <name>2bf92b34-9519-496e-8511-bfa23f22db67</name> - <entityField>FREE</entityField> - </neonTableColumn> <neonTableColumn> <name>a78fbed8-ebdc-4f56-9563-0dae4e2ad26e</name> <entityField>TARGETAMOUNT</entityField> </neonTableColumn> <neonTableColumn> <name>8ad44ae5-47e8-4437-a6f5-88d1c9fbe61f</name> - <entityField>ACTUALAMOUNT</entityField> + <entityField>actualAmount</entityField> </neonTableColumn> <neonTableColumn> <name>e53a6f55-c4d4-49df-8785-55fa8ee8a657</name> diff --git a/neonView/AdvertisingItemPreview_view/AdvertisingItemPreview_view.aod b/neonView/AdvertisingItemPreview_view/AdvertisingItemPreview_view.aod index 53aa6c2d7ea7d73dc16710a4b13a59bed6f5d9dd..fdca083a04cd48044e3318e2d4c871210cb5524c 100644 --- a/neonView/AdvertisingItemPreview_view/AdvertisingItemPreview_view.aod +++ b/neonView/AdvertisingItemPreview_view/AdvertisingItemPreview_view.aod @@ -10,14 +10,15 @@ <children> <genericViewTemplate> <name>Generic</name> + <showDrawer v="true" /> <fields> <entityFieldLink> <name>d89630d6-d28e-4506-b31b-56a03cbcf4f2</name> <entityField>ITEMPOSITION</entityField> </entityFieldLink> <entityFieldLink> - <name>dbd78774-ce7c-45e2-8035-2e353eae2857</name> - <entityField>ContactId</entityField> + <name>6f40b9eb-aa08-4026-bca0-eda59b612d97</name> + <entityField>contactId</entityField> </entityFieldLink> <entityFieldLink> <name>697c7664-460d-4a08-b91f-3a83f23fbd24</name> @@ -31,17 +32,13 @@ <name>aa3453f1-7828-47e8-bc5f-e142b1c950ad</name> <entityField>PRICE</entityField> </entityFieldLink> - <entityFieldLink> - <name>6d86c1c9-8ac3-40dc-ab18-e4ed7e9e166c</name> - <entityField>FREE</entityField> - </entityFieldLink> <entityFieldLink> <name>603bc968-ae45-4337-a622-173fa3b47012</name> <entityField>TARGETAMOUNT</entityField> </entityFieldLink> <entityFieldLink> <name>8d096f27-2ece-41a1-8988-662d9e4cd125</name> - <entityField>ACTUALAMOUNT</entityField> + <entityField>actualAmount</entityField> </entityFieldLink> <entityFieldLink> <name>da8ef39a-31e6-49fe-bd24-52eb0d1f7d37</name> diff --git a/neonView/AdvertisingMain_view/AdvertisingMain_view.aod b/neonView/AdvertisingMain_view/AdvertisingMain_view.aod index 7e906290caf698ece025f7a40577be957803fe1a..b40b488666877a96fd7da97806777fa0364011d6 100644 --- a/neonView/AdvertisingMain_view/AdvertisingMain_view.aod +++ b/neonView/AdvertisingMain_view/AdvertisingMain_view.aod @@ -19,5 +19,10 @@ <entityField>#ENTITY</entityField> <view>AdvertisingPreview_view</view> </neonViewReference> + <neonViewReference> + <name>8fb7b6f1-ce58-438d-89f2-643523f21e6d</name> + <entityField>LogHistories</entityField> + <view>LogHistoryFilter_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod b/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod index 466eea0c9e2c2f646feb47bcbd47f0fe33633544..d8d0a57add798641769920735cd6ad86319bcdae 100644 --- a/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod +++ b/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod @@ -25,7 +25,7 @@ <fields> <entityFieldLink> <name>8cd0f253-85c7-494e-8eb1-cd5deb4fac30</name> - <entityField>ROW_ID</entityField> + <entityField>OBJECT_ROWID</entityField> </entityFieldLink> <entityFieldLink> <name>805029e1-0980-4cc0-bc31-db2edb934da1</name> diff --git a/process/Advertising_lib/process.js b/process/Advertising_lib/process.js index 48a52e115fabfdb5b4210528b819e82984c965db..db5d5c742270388ad559988a1e3416b9275ef06c 100644 --- a/process/Advertising_lib/process.js +++ b/process/Advertising_lib/process.js @@ -1,5 +1,5 @@ +import("system.util"); import("Contact_lib"); -import("system.logging"); import("system.translate"); import("Entity_lib"); import("Product_lib"); @@ -11,6 +11,7 @@ import("KeywordRegistry_basic"); import("Util_lib"); import("Employee_lib"); import("Sql_lib"); +import("system.entities"); /* * Functions for working with Advertisings @@ -37,13 +38,14 @@ AdvertisingUtils.insertAdvertising = function(pRowId, pContext, pContactIds) var contactId = (pContactIds.length == 1) ? pContactIds : ""; var advObj = { - "ROW_ID" : pRowId, - "OBJECT_TYPE" : pContext, + "OBJECT_ROWID" : pRowId, + "OBJECT_TYPE" : pContext, "CONTACT_ID" : contactId, - "RESPONSIBLE_ID" : EmployeeUtils.getCurrentContactId(), - "CURRENCY" : $KeywordRegistry.currency$eur(), - "STATUS" : $KeywordRegistry.advertisingStatus$Open(), - "DATE_NEW": vars.get("$sys.date") + "RESPONSIBLE_ID" : EmployeeUtils.getCurrentContactId(), + "CURRENCY" : $KeywordRegistry.currency$eur(), + "STATUS" : $KeywordRegistry.advertisingStatus$Open(), + "DATE_NEW": vars.get("$sys.date"), + "USER_NEW": vars.get("$sys.user") } new SqlBuilder().insertFields(advObj, "ADVERTISING", "ADVERTISINGID", "ADVERTISINGID"); @@ -58,17 +60,12 @@ AdvertisingUtils.insertAdvertising = function(pRowId, pContext, pContactIds) */ AdvertisingUtils.hasAdvertising = function(pRowId) { - var sql = new SqlBuilder() - .select("ADVERTISING.ADVERTISINGID") + var count = newSelect("count(ADVERTISING.ADVERTISINGID)") .from("ADVERTISING") - .where(); + .where("ADVERTISING.OBJECT_ROWID", pRowId) + .cell(); - if(pRowId) - { - sql.andIfSet("ADVERTISING.ROW_ID", pRowId); - } - - return Utils.toBoolean(sql.cell()); + return Utils.toBoolean(count); } /* @@ -120,9 +117,8 @@ AdvertisingUtils.isDigitalAdvertisingProduct = function (pProductId) return Utils.toBoolean(newSelect("PRODUCT.DIGITAL") .from("PRODUCT") .where("PRODUCT.PRODUCTID", pProductId) - .and("PRODUCT.ADVERTISING", "Y") - .cell() - ); + .and("PRODUCT.ADVERTISING", "1") + .cell()); } /* @@ -143,27 +139,6 @@ AdvertisingUtils.getAdvertisingFilterExtensionCondition = function() return cond; } -/* - * gets the Title for a Pricefield with the current currency - * - * @param {String} pTitle current <b>translated</b> Title which should be extended - * @param {String} pCurrency - currency e.g 'EUR' / 'USD' - * - * @return {String} concatinated Title e.g 'Price in EUR' - */ -AdvertisingUtils.getPriceTitleWithCurrency = function(pTitle, pCurrency) -{ - var ret = pTitle; - - if(pCurrency) - { - ret += " "; - ret += translate.text("in") + " " + pCurrency; - } - - return ret; -} - /* * gets Advertising relevant details for the passed productId * @@ -207,9 +182,9 @@ AdvertisingUtils.getProductObject = function(pProductId, pAdvertisingId, pQuanti .and("DESCRIPTIONTRANSLATION.OBJECT_TYPE", "Product") .toString(); - productDetails = ProductUtils.getProductDetails(productId, PriceListFilter, - [["info", "(" + productInfoSubSql + ")"] - ]); + productDetails = ProductUtils.getProductDetails(productId + , PriceListFilter + , [["info", "(" + productInfoSubSql + ")"]]); } return productDetails; } \ No newline at end of file