diff --git a/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_AttributeKeyword_target_group.xml b/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_AttributeKeyword_target_group.xml index 5d05350bab596ec9287d824a8c7ab0165f29d690..f8515fb50122a8812e7a0f974511d40592ceff61 100644 --- a/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_AttributeKeyword_target_group.xml +++ b/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_AttributeKeyword_target_group.xml @@ -4,7 +4,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="5d1a2b05-f04e-4ad7-9fd0-8efa09a33a53"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Zielgruppe"/> <column name="ATTRIBUTE_PARENT_ID"/> <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> diff --git a/.liquibase/Data_alias/basic/2019.2/AttributeKeyword.xml b/.liquibase/Data_alias/basic/2019.2/AttributeKeyword.xml index 272ae0c6a2922b4096ce2e511adc036fcdb3b88c..d924ad24ca2252b9d37a5cd90f35c45b66c18b7d 100644 --- a/.liquibase/Data_alias/basic/2019.2/AttributeKeyword.xml +++ b/.liquibase/Data_alias/basic/2019.2/AttributeKeyword.xml @@ -12,6 +12,9 @@ <dropColumn tableName="AB_ATTRIBUTERELATION"> <column name="BOOL_VALUE"/> </dropColumn> + <dropColumn tableName="AB_ATTRIBUTE"> + <column name="ATTRIBUTE_LEVEL"/> + </dropColumn> <modifyDataType tableName="AB_ATTRIBUTERELATION" columnName="CHAR_VALUE" newDataType="NVARCHAR(512)"/> <createIndex indexName="IDX_ATTRPARENT" tableName="AB_ATTRIBUTE"> <column name="ATTRIBUTE_PARENT_ID"/> diff --git a/.liquibase/Data_alias/basic/2019.2/activity_rename_Creator_to_Responsible.xml b/.liquibase/Data_alias/basic/2019.2/activity_rename_Creator_to_Responsible.xml new file mode 100644 index 0000000000000000000000000000000000000000..9892f159854d05b95c6dadcc766220e9746d2b61 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/activity_rename_Creator_to_Responsible.xml @@ -0,0 +1,9 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="j.hoermann" id="5e48c1ac-ceb1-4b93-90b1-900a3c68351d"> + <renameColumn tableName="ACTIVITY" oldColumnName="CREATOR" newColumnName="RESPONSIBLE"/> + <rollback> + <renameColumn tableName="ACTIVITY" oldColumnName="RESPONSIBLE" newColumnName="CREATOR"/> + </rollback> + </changeSet> +</databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2019.2/changelog.xml b/.liquibase/Data_alias/basic/2019.2/changelog.xml index c018844e469ed9c0fe96763cab6b8372a568feee..d138593fde6e0659c3e029bb600a4ad096ee65c4 100644 --- a/.liquibase/Data_alias/basic/2019.2/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.2/changelog.xml @@ -145,7 +145,8 @@ <include relativeToChangelogFile="true" file="data/example_person/PERSON_admin.xml" context="example"/> - <include relativeToChangelogFile="true" file="addDefaultAddresses.xml" context="example"/> + <include relativeToChangelogFile="true" file="addDefaultAddresses.xml" context="example"/> <include relativeToChangelogFile="true" file="AditoBasic/create_ab_loghistory.xml"/> + <include relativeToChangelogFile="true" file="activity_rename_Creator_to_Responsible.xml" /> </databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2019.2/data/example_attribute/Attribute.xml b/.liquibase/Data_alias/basic/2019.2/data/example_attribute/Attribute.xml index 632b9c9749a3758287c9d0ddfc316b3e6295dc25..9895874d89a18bbdd07f23d7c44e1b5346feecf1 100644 --- a/.liquibase/Data_alias/basic/2019.2/data/example_attribute/Attribute.xml +++ b/.liquibase/Data_alias/basic/2019.2/data/example_attribute/Attribute.xml @@ -4,14 +4,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Mitbewerber"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="8af37871-d407-4414-98ad-e64dbaa5794a"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Preispolitik"/> <column name="ATTRIBUTE_PARENT_ID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> @@ -20,7 +18,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="558419b2-6113-4060-b88d-cc6324754765"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Stärke"/> <column name="ATTRIBUTE_PARENT_ID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> @@ -29,7 +26,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="71226196-2812-4d70-b90f-c3e2c14fd4d1"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Schwäche"/> <column name="ATTRIBUTE_PARENT_ID" value="752d7706-ac6e-4b51-a918-4265531794a4"/> <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> @@ -38,14 +34,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Interessen"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="53266a7c-58ed-47dc-bbe8-9e00b33cb344"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Kulanz"/> <column name="ATTRIBUTE_PARENT_ID" value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -54,28 +48,24 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Schadensart"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Regulierung"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Technische Merkmale"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="e7e05c6e-6108-44bd-824a-c076dfa5ae93"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="B"/> <column name="ATTRIBUTE_PARENT_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -84,7 +74,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="ed4c3079-51b0-4bb5-b228-55de4309d5ab"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="0 gering"/> <column name="ATTRIBUTE_PARENT_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -92,7 +81,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="6266b41c-fa20-47b9-bd71-5633015d0796"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="gut"/> <column name="ATTRIBUTE_PARENT_ID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -100,7 +88,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Stimmung"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -109,7 +96,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Risiko"/> <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -118,7 +104,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="54018b5e-0e02-48d1-873c-1c934d2e97ed"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Rennrad"/> <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -127,7 +112,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="292825e8-fa96-4b7b-8dab-71955ae14571"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="A"/> <column name="ATTRIBUTE_PARENT_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -135,7 +119,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="4fcd8bb8-72fd-48d0-9e64-4c80e5177c36"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="NPO"/> <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -145,14 +128,12 @@ <column name="AB_ATTRIBUTEID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> <column name="ATTRIBUTE_INFO" value="Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden."/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Doku Vorlagen Verwendung"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="2b6e3225-9447-4706-9313-62c9463d6671"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Handwerk"/> <column name="ATTRIBUTE_PARENT_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -161,7 +142,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="be60e4b3-19b1-48a9-ad5c-c7d38698b4a1"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Dumpingpreis Wettbewerb"/> <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -170,7 +150,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="6d15f683-389e-4915-9043-c4cfdf188095"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Vollberechnung"/> <column name="ATTRIBUTE_PARENT_ID" value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -179,14 +158,12 @@ <column name="AB_ATTRIBUTEID" value="ab545654-1fce-4993-b763-0ec469781302"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> <column name="ATTRIBUTE_INFO" value="Konditionen die bei Angebotserstellung übernommen werden"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Konditionen"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="25e97db1-f796-497d-9842-3efcbb5bebf1"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Sonstiges"/> <column name="ATTRIBUTE_PARENT_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -195,7 +172,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Produkttyp"/> <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -204,7 +180,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="b1c552a0-eab9-417d-9f12-039d41603f6d"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="mittel"/> <column name="ATTRIBUTE_PARENT_ID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -213,7 +188,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="9e20d257-e2a7-4ef7-9253-1d8ed971b7b9"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="D"/> <column name="ATTRIBUTE_PARENT_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -222,7 +196,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="0a6cbbc0-bd0e-4794-96ef-3d458d5fdb70"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="1 mittel"/> <column name="ATTRIBUTE_PARENT_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -231,7 +204,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="32612c75-b32c-4043-88c4-e8237acf8d5c"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="liebt Geselligkeit"/> <column name="ATTRIBUTE_PARENT_ID" value="25e97db1-f796-497d-9842-3efcbb5bebf1"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -240,7 +212,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="6db07a20-86bc-48da-8b27-b39bdd73b86b"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Projektverschiebung Kunde"/> <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -249,7 +220,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="85c9cdd8-f7a6-4210-840e-fab8628f4dbe"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Qualitätsproblem Kunde"/> <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -258,7 +228,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="7c39913b-a07c-4332-96ff-7b34b566ff49"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Wein"/> <column name="ATTRIBUTE_PARENT_ID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -266,7 +235,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="07fc6730-6c83-4996-bfd9-41c18765a10a"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Wechsel Entscheidungsträger"/> <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -275,7 +243,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="26385e16-6b2f-428c-9c28-1bfa9c2ccf6f"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Finanzdienstleistung"/> <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -284,7 +251,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Sport"/> <column name="ATTRIBUTE_PARENT_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -293,7 +259,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="7f01bfa6-ce9d-4964-b1e2-3cd5464d076a"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Gerät/Maschine"/> <column name="ATTRIBUTE_PARENT_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -301,7 +266,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="e857f9ee-fb27-4507-8381-46ba0a181cef"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Jahresurlaub"/> <column name="ATTRIBUTE_PARENT_ID" value="acaf54c3-9613-4740-aa22-4f6ebd0d6cb0"/> <column name="ATTRIBUTE_TYPE" value="NUMBER "/> @@ -309,7 +273,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="005b2ec8-68f3-4cbe-b9e5-783526e4c288"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Fernreisen"/> <column name="ATTRIBUTE_PARENT_ID" value="25e97db1-f796-497d-9842-3efcbb5bebf1"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -317,7 +280,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="4dce5406-9a91-4a92-b55e-d1313c18f9c6"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Teilberechnung"/> <column name="ATTRIBUTE_PARENT_ID" value="965823ef-fe63-41f8-9b0b-432f17ac31a7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -326,7 +288,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="9cfa5ce3-f1ae-4d18-9a65-0571f5ffb786"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="PERS"/> <column name="ATTRIBUTE_PARENT_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -335,14 +296,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Beurteilung"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Branche"/> <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -350,7 +309,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Zielgruppe"/> <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -359,7 +317,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="bb0c6356-33be-4e7c-a409-9ef5145f7aae"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Dienstleistung"/> <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -368,7 +325,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="17746b46-2702-447a-b749-a92bfdf4bb38"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Kunde"/> <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -376,7 +332,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="d0a9eb78-6dcf-48e0-ba91-04a3ba104d26"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Interessent"/> <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -385,7 +340,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="e4a60941-513f-4e75-a787-f00070ecb00a"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Hersteller"/> <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -394,7 +348,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="1d30d0ab-6103-4972-84c0-fd23eef15ca1"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Wettbewerber"/> <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -403,7 +356,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Betreuung"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> <column name="SORTING" valueNumeric="1"/> @@ -411,21 +363,18 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="786148de-56b3-497e-88db-2ff5e4dc0bd7"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Kontaktierung"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="1d4c071b-237e-4a11-abff-0acaeaf6f8b1"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Signatur"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="79ee6a0f-5192-4db3-9b05-156fd18b01b4"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Bier"/> <column name="ATTRIBUTE_PARENT_ID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -434,7 +383,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Genuss"/> <column name="ATTRIBUTE_PARENT_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -443,7 +391,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="a3972e57-d081-463a-a33c-5d4d3af6d8f2"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Motorrad"/> <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -452,7 +399,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="6819c616-a580-4bd6-ba41-9ba1db569dc4"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Drehzahl (rpm)"/> <column name="ATTRIBUTE_PARENT_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> <column name="ATTRIBUTE_TYPE" value="NUMBER "/> @@ -461,7 +407,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="4c28a67b-dbc5-4399-bf33-b52e4cf82ffd"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="ORG"/> <column name="ATTRIBUTE_PARENT_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -469,7 +414,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="2318607b-556a-4537-92f0-9870ee9a9201"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Zigarren"/> <column name="ATTRIBUTE_PARENT_ID" value="7621696c-40ce-4cf2-92ec-74bc940e49ec"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -478,7 +422,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="43321e69-c8aa-4b0e-9c4e-8cde74f5c0fc"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Verschleißteil"/> <column name="ATTRIBUTE_PARENT_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -487,7 +430,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="9882c4bc-a3d9-43a9-8238-81ef39387869"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Maschinenbau"/> <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -495,7 +437,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Loyalität"/> <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -504,7 +445,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="b93fc811-e0dc-4e50-9ca6-107f43ac4c0c"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Tabellen Daten"/> <column name="ATTRIBUTE_PARENT_ID" value="be31d7a5-9a02-4ae0-8265-916d32c1fccb"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -512,14 +452,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="915d566f-acbe-448c-a7b6-11898adc3880"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Liefersperre"/> <column name="ATTRIBUTE_TYPE" value="BOOLEAN "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="d14f6eea-8760-43bf-ad3a-e7c3e4416392"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Partner"/> <column name="ATTRIBUTE_PARENT_ID" value="c7d28377-8cb1-4f92-a9ac-ed08041a782b"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -528,7 +466,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Geburtstagsliste"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -537,7 +474,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="62b43c0f-9afb-4b57-8b7d-de38d43a9d47"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Nein"/> <column name="ATTRIBUTE_PARENT_ID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -546,7 +482,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="ddf607c0-a45b-4255-bf4e-b2d515df4b86"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Ja"/> <column name="ATTRIBUTE_PARENT_ID" value="f310ae37-5ec3-47c6-839b-a92fc8fcd252"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -554,14 +489,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Projektart"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="3265f271-2e85-42b2-84af-c9e23e8a1e8c"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Intern"/> <column name="ATTRIBUTE_PARENT_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -570,7 +503,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="615d3850-ef32-4988-9a8d-7b702b489194"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Partner"/> <column name="ATTRIBUTE_PARENT_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -579,7 +511,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="be3b5fe2-2146-4eab-80a4-3c1cf4d6156a"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Bestandskunde"/> <column name="ATTRIBUTE_PARENT_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -588,7 +519,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="87204e4b-2db2-4eb4-b216-5e16b227561e"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Interessent"/> <column name="ATTRIBUTE_PARENT_ID" value="fd3963bc-8e60-411a-9911-b97eb73e5cf7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -596,7 +526,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="4a9625ed-0cd9-445f-ae13-5bdbfdf3f38c"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Fussball"/> <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -604,7 +533,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="66271d11-a275-4141-8f84-86ab2ed3fedf"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Förderband"/> <column name="ATTRIBUTE_PARENT_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> <column name="ATTRIBUTE_TYPE" value="BOOLEAN "/> @@ -613,7 +541,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="fa0171cf-2e0d-4ff0-bbe7-8ff083a96593"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="weitere Daten"/> <column name="ATTRIBUTE_PARENT_ID" value="be31d7a5-9a02-4ae0-8265-916d32c1fccb"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -622,7 +549,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="974bbd28-08b3-41a4-bd74-7d9c3c778249"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="kein Risiko"/> <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -631,7 +557,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="9350afa2-7181-4eb4-b731-3699fe71b0f6"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="schlecht"/> <column name="ATTRIBUTE_PARENT_ID" value="dc52ede6-2b79-488c-b7bb-48877bd5d198"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -640,7 +565,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="d8949d8f-051b-4f5b-ba61-5af49e9499cc"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Ersatzteil"/> <column name="ATTRIBUTE_PARENT_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -649,7 +573,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="23a4d394-9fae-4205-a811-730d5109c115"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Segeln"/> <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -658,7 +581,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="b78ef891-16a3-4354-bc95-7b70ef5b4e2e"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Werkzeugwechsler"/> <column name="ATTRIBUTE_PARENT_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> <column name="ATTRIBUTE_TYPE" value="BOOLEAN "/> @@ -667,7 +589,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="617da3f5-d8bc-45ff-85a1-258621ea2a0b"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Logistik"/> <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -676,7 +597,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="1a3c1c77-e57c-4481-a67f-adf7e084ea90"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="IT"/> <column name="ATTRIBUTE_PARENT_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -685,7 +605,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="953e3b5e-0ca7-4215-8dee-b0ba28ef1bf9"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Zahlungsproblem Kunde"/> <column name="ATTRIBUTE_PARENT_ID" value="691452ec-3b9f-43dc-91a2-645a97b775b2"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -693,7 +612,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="2bdb04cb-4cd3-4454-802c-8e2b4a5e2e36"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Behörde"/> <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -702,7 +620,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="30be2556-e09b-4169-be32-d4bafeb89a2f"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Tourismus"/> <column name="ATTRIBUTE_PARENT_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -711,7 +628,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="acafca42-8ef4-4c21-abe8-1c2ca358a5aa"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Handel"/> <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -720,7 +636,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="79378933-9f74-4391-b876-4528b582661f"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Bauwesen"/> <column name="ATTRIBUTE_PARENT_ID" value="7e9927a4-41e4-426f-bddd-c3e9ee3b093e"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -729,7 +644,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="c85a5ebe-80fe-4176-a92a-35d2200baa07"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="2 gross"/> <column name="ATTRIBUTE_PARENT_ID" value="e73ed929-8631-46de-b28f-eb1423abb808"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -738,7 +652,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="7b687991-601c-4d75-b201-00a6cc9c6b93"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Gewicht (kg)"/> <column name="ATTRIBUTE_PARENT_ID" value="10dc7354-cb50-4354-8412-2c35b569e3ad"/> <column name="ATTRIBUTE_TYPE" value="NUMBER "/> @@ -746,7 +659,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Bonität"/> <column name="ATTRIBUTE_PARENT_ID" value="e32cd923-3774-41c1-95d5-57b79e52e568"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -755,7 +667,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Beruf"/> <column name="ATTRIBUTE_PARENT_ID" value="0644222a-2b3b-4f5e-a85a-d24c32fa0e72"/> <column name="ATTRIBUTE_TYPE" value="COMBO "/> @@ -763,14 +674,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="acaf54c3-9613-4740-aa22-4f6ebd0d6cb0"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Personal"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="957d61a4-0038-46e0-b5a3-fc2a5d413004"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="C"/> <column name="ATTRIBUTE_PARENT_ID" value="f11f65d0-4352-4f81-85d0-bfd034275e34"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -779,14 +688,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="be31d7a5-9a02-4ae0-8265-916d32c1fccb"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="zusätzliche Daten"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="4d4ef830-68e6-4228-9e4f-13614d841328"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Wirtschaft"/> <column name="ATTRIBUTE_PARENT_ID" value="da8e8568-63e0-41d3-a83f-2d8ae4982ba5"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -794,7 +701,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="bb62ae03-be34-4d34-885c-27591c5bf1b4"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Golf"/> <column name="ATTRIBUTE_PARENT_ID" value="65f0027d-7939-4342-b531-f31f10c3c045"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -803,7 +709,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="0afb463f-6ce4-4dfb-b093-09a8fcd925a3"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="2"/> <column name="ATTRIBUTE_NAME" value="Bauteil"/> <column name="ATTRIBUTE_PARENT_ID" value="a844a395-e857-447d-b8f8-fa850bbceb82"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -812,14 +717,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="bad29370-3c47-4ac7-8d5d-4e86439000ef"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Mitarbeiterkonto"/> <column name="ATTRIBUTE_TYPE" value="GROUP "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="97c6f6ec-2ed2-4c26-8612-b524e3ef15db"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="DOCUMENT"/> <column name="ATTRIBUTE_PARENT_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -828,7 +731,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="fffbb6b5-05ea-4f76-83c6-cf2cb29ef576"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="unvollständige Lieferung"/> <column name="ATTRIBUTE_PARENT_ID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -837,7 +739,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="5c188c8c-14b2-4c66-ad48-65b750e05353"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Qualitätsbeanstandung"/> <column name="ATTRIBUTE_PARENT_ID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -846,7 +747,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="3600aba4-01d4-4ca3-a3e7-79e0b946a2b1"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="fehlerhafte Lieferung"/> <column name="ATTRIBUTE_PARENT_ID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -855,7 +755,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="66b64741-a896-4404-874a-b83b3525fcff"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Transportschaden"/> <column name="ATTRIBUTE_PARENT_ID" value="0ecd14d9-837c-47fc-9676-afe71f7e5518"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -863,7 +762,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="c0fb9a3a-89a5-46a4-9b95-f48c9481375e"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="EVENT"/> <column name="ATTRIBUTE_PARENT_ID" value="9e9568c5-ad8a-4c1e-a6e6-72c9b4a3acf7"/> <column name="ATTRIBUTE_TYPE" value="COMBOVALUE "/> @@ -872,7 +770,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="292fae38-6557-466d-8843-3b1b4a1f6599"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Zahlungskondition"/> <column name="ATTRIBUTE_PARENT_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> @@ -881,7 +778,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="3a6e11fc-b00a-4cf3-975a-a5e8b60fc5cb"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Lieferkondition"/> <column name="ATTRIBUTE_PARENT_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> @@ -890,7 +786,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Preisliste"/> <column name="ATTRIBUTE_PARENT_ID" value="ab545654-1fce-4993-b763-0ec469781302"/> <column name="ATTRIBUTE_TYPE" value="KEYWORD "/> @@ -900,14 +795,12 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="e7886e41-252e-414c-a169-5d1481d010c8"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Lieferant"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="44d53f3a-a8cd-4e79-bc09-a6e17d678e7e"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Rückantwort Kampagne"/> <column name="ATTRIBUTE_PARENT_ID" value="786148de-56b3-497e-88db-2ff5e4dc0bd7"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -915,7 +808,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="e8999504-5851-4934-a3f1-fb4b513d41e9"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="schreibt für"/> <column name="ATTRIBUTE_PARENT_ID" value="1d4c071b-237e-4a11-abff-0acaeaf6f8b1"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -923,21 +815,18 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="33cb83f1-aee2-469e-b57d-666ac6725f61"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="Unterkampagne von"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="093c7337-c134-4be5-a215-dc94804c3511"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="0"/> <column name="ATTRIBUTE_NAME" value="übergeordnete Kampagne von"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> </insert> <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="28fd7a4b-72d8-40ff-a893-a9479abcf19e"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Feiertag"/> <column name="ATTRIBUTE_PARENT_ID" value="bad29370-3c47-4ac7-8d5d-4e86439000ef"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -945,7 +834,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="14847ea6-b6fd-43f6-a819-af2b1e53177e"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Innendienst"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -953,7 +841,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="cd90b9e3-e663-4248-b9ed-4e25ed330c58"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Aussendienst"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -961,7 +848,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="7abdc3a7-f46b-4021-b695-7fde6b21c6a4"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Service"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -969,7 +855,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="2f963668-9e8c-41d7-aee4-6beaf37492e4"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="0"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Besuchsfrequenz"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -977,7 +862,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="ff84c147-27c7-4698-83ff-0e25b1d33851"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Vorgesetzter von"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -985,7 +869,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="d637fc6c-9452-4498-8379-ec71d946cbab"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="berichtet an"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -993,7 +876,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="6bdb658c-94bc-4e68-aefb-a38483ee68b1"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Gebiet"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -1001,7 +883,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="3e5736c4-93ff-4471-96f5-48bb34ab53d2"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Urlaubsgenehmigung durch"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> @@ -1009,7 +890,6 @@ <insert tableName="AB_ATTRIBUTE"> <column name="AB_ATTRIBUTEID" value="3f119858-9d69-4903-a572-d286be151f73"/> <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/> - <column name="ATTRIBUTE_LEVEL" valueNumeric="1"/> <column name="ATTRIBUTE_NAME" value="Urlaubsprüfung durch"/> <column name="ATTRIBUTE_PARENT_ID" value="83e627b7-39da-4519-8023-ed384d3a0a42"/> <column name="ATTRIBUTE_TYPE" value="TEXT "/> diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index 789fed08a6e8f435f0ad4882405654c0b571f04d..5b0dbdab58bafb3df873199148777d6d2418d1b9 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -3386,20 +3386,6 @@ <title></title> <description></description> </entityFieldDb> - <entityFieldDb> - <name>CREATOR</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="50" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <entityFieldDb> <name>PARENT_CONTEXT</name> <dbName></dbName> @@ -3484,6 +3470,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>RESPONSIBLE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -4466,20 +4466,6 @@ <title></title> <description></description> </entityFieldDb> - <entityFieldDb> - <name>ATTRIBUTE_LEVEL</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="4" /> - <size v="10" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <entityFieldDb> <name>KEYWORD_CONTAINER</name> <dbName></dbName> diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index cd65065c38663b5ab510ec227d4807fbf1260f4d..8b3af6c8559617e7842a27bf0e3dc875726432e4 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -118,6 +118,7 @@ <name>MainDocuments</name> <title>Maindocuments</title> <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Activity_entity/entityfields/maindocuments/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Document_entity</entityName> @@ -260,13 +261,13 @@ </children> </entityProvider> <entityField> - <name>CREATOR</name> - <title>Creator</title> + <name>RESPONSIBLE</name> + <title>Responsible</title> <consumer>Employees</consumer> <linkedContext>Person</linkedContext> <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/creator/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Activity_entity/entityfields/creator/displayValueProcess.js</displayValueProcess> + <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/responsible/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Activity_entity/entityfields/responsible/displayValueProcess.js</displayValueProcess> </entityField> <entityConsumer> <name>ModuleTrees</name> @@ -478,10 +479,6 @@ <name>DIRECTION.displayValue</name> <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/direction.displayvalue/expression.js</expression> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CREATOR.value</name> - <recordfield>ACTIVITY.CREATOR</recordfield> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>PARENT_CONTEXT.value</name> <recordfield>ACTIVITY.PARENT_CONTEXT</recordfield> @@ -494,10 +491,6 @@ <name>CATEGORY.displayValue</name> <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js</expression> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CREATOR.displayValue</name> - <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/creator.displayvalue/expression.js</expression> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>USER_NEW.value</name> <recordfield>ACTIVITY.USER_NEW</recordfield> @@ -514,6 +507,14 @@ <name>DATE_EDIT.value</name> <recordfield>ACTIVITY.DATE_EDIT</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>RESPONSIBLE.displayValue</name> + <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/responsible.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>RESPONSIBLE.value</name> + <recordfield>ACTIVITY.RESPONSIBLE</recordfield> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/Activity_entity/entityfields/maindocuments/stateProcess.js b/entity/Activity_entity/entityfields/maindocuments/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..fb349d978f74911958575fd56fcf2cce34dee071 --- /dev/null +++ b/entity/Activity_entity/entityfields/maindocuments/stateProcess.js @@ -0,0 +1,14 @@ +import("system.result"); +import("system.db"); +import("system.vars"); +import("system.neon"); +import("Sql_lib"); + +if (0 == db.getBinaryCount("ACTIVITY", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT")) +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} +else +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/entity/Activity_entity/entityfields/creator/displayValueProcess.js b/entity/Activity_entity/entityfields/responsible/displayValueProcess.js similarity index 100% rename from entity/Activity_entity/entityfields/creator/displayValueProcess.js rename to entity/Activity_entity/entityfields/responsible/displayValueProcess.js diff --git a/entity/Activity_entity/entityfields/creator/valueProcess.js b/entity/Activity_entity/entityfields/responsible/valueProcess.js similarity index 100% rename from entity/Activity_entity/entityfields/creator/valueProcess.js rename to entity/Activity_entity/entityfields/responsible/valueProcess.js diff --git a/entity/Activity_entity/recordcontainers/db/conditionProcess.js b/entity/Activity_entity/recordcontainers/db/conditionProcess.js index c772668cbde4f80831fa000cd266d7e6d8cc97af..9e14d0b2ef2ed8f4ad75bbee6884c2d96c9bcd92 100644 --- a/entity/Activity_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Activity_entity/recordcontainers/db/conditionProcess.js @@ -23,7 +23,7 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars. } if(vars.exists("$param.OnlyInnate_param") && vars.get("$param.OnlyInnate_param")) { - cond.andPrepare("ACTIVITY.CREATOR", vars.get("$sys.user")); + cond.andPrepare("ACTIVITY.RESPONSIBLE", vars.get("$sys.user")); } //TODO: use a preparedCondition when available #1030812 #1034026 diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/creator.displayvalue/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/creator.displayvalue/expression.js deleted file mode 100644 index 411a003b91936f9c3e8681311ff40e1f1e010ad6..0000000000000000000000000000000000000000 --- a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/creator.displayvalue/expression.js +++ /dev/null @@ -1,4 +0,0 @@ -import("system.result"); -import("Person_lib"); - -result.string(PersUtils.getResolvingDisplaySubSql("CREATOR")) \ No newline at end of file diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/responsible.displayvalue/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/responsible.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..fdec89201f8a11f9163187314f21c55ba7f15735 --- /dev/null +++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/responsible.displayvalue/expression.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Person_lib"); + +result.string(PersUtils.getResolvingDisplaySubSql("RESPONSIBLE")) \ No newline at end of file diff --git a/entity/Analyses_entity/Analyses_entity.aod b/entity/Analyses_entity/Analyses_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..0635170ed56f31e67ceaad1404f8b70c22998761 --- /dev/null +++ b/entity/Analyses_entity/Analyses_entity.aod @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.1"> + <name>Analyses_entity</name> + <title>Analyses</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <icon>VAADIN:GRID_BIG_O</icon> + <recordContainer>jdito</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityField> + <name>NEW_TASKS</name> + <title>New tasks</title> + <contentType>NUMBER</contentType> + <valueProcess>%aditoprj%/entity/Analyses_entity/entityfields/new_tasks/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>OVERDUE_TASKS</name> + <title>Overdue tasks</title> + <contentType>NUMBER</contentType> + <valueProcess>%aditoprj%/entity/Analyses_entity/entityfields/overdue_tasks/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>IMMINENT_APPOINTMENTS</name> + <title>Imminent appointments for today </title> + <contentType>NUMBER</contentType> + <valueProcess>%aditoprj%/entity/Analyses_entity/entityfields/imminent_appointments/valueProcess.js</valueProcess> + </entityField> + </entityFields> + <recordContainers> + <jDitoRecordContainer> + <name>jdito</name> + <jDitoRecordAlias>Data_alias</jDitoRecordAlias> + </jDitoRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Analyses_entity/entityfields/imminent_appointments/valueProcess.js b/entity/Analyses_entity/entityfields/imminent_appointments/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..946744b43d4d64f0d1591aeedc090210abde57c7 --- /dev/null +++ b/entity/Analyses_entity/entityfields/imminent_appointments/valueProcess.js @@ -0,0 +1,55 @@ +import("system.SQLTYPES"); +import("system.logging"); +import("system.db"); +import("system.datetime"); +import("system.result"); +import("system.vars"); +import("Date_lib"); +import("Sql_lib"); +import("system.calendars"); +import("Calendar_lib"); + +var pFilter = reset_filterEvent(); +var conditions = []; +var conditioncount = 0; +var user = undefined; +var stati = []; +var entries = []; + +var startnumber = Number(vars.get("$sys.date")); +var endnumber = startnumber + 43200000 ; + +var start = startnumber + ""; +var end = endnumber + ""; + +if ( pFilter.tentative == "true" ) + stati.push(calendars.STATUS_TENTATIVE); + +if ( pFilter.cancelled == "true" ) + stati.push(calendars.STATUS_CANCELLED); + +if ( pFilter.confirmed == "true" ) + stati.push(mapCalendarStatus(calendars.STATUS_CONFIRMED, calendars.getBackendType() )); + +if (getCalendarSystemType(calendars.VEVENT) == calendars.BACKEND_EXCHANGEWS && pFilter.free == "true") + stati.push(calendars.STATUS_FREE); + +if ( pFilter.user != "" ) + user = (pFilter.user).trim(); + +for ( var z = 0; z < stati.length; z++ ) + _addEntryCondition(conditions, ++conditioncount, + { + TYPE: calendars.VEVENT, + START: start, + END: end, + USER: user, + STATUS: stati[z] + }); + +conditions["COUNT"] = String(conditioncount); +entries = calendars.getEntries(conditions); + +logging.log("entries: " + entries.toSource()); + +result.string(entries.length); \ No newline at end of file diff --git a/entity/Analyses_entity/entityfields/new_tasks/valueProcess.js b/entity/Analyses_entity/entityfields/new_tasks/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d139fcf5123f04e673e7ce07f2623849d73be9f7 --- /dev/null +++ b/entity/Analyses_entity/entityfields/new_tasks/valueProcess.js @@ -0,0 +1,11 @@ +import("system.datetime"); +import("system.db"); +import("system.result"); +import("system.vars"); +import("Date_lib"); +import("Sql_lib"); +import("system.SQLTYPES") + +var opentask = db.cell("select count(STATUS) from TASK join AB_KEYWORD_ENTRY on KEYID = STATUS and CONTAINER = 'TaskStatus' and TITLE = 'new' group by KEYID, AB_KEYWORD_ENTRY.TITLE"); + +result.string(opentask); \ No newline at end of file diff --git a/entity/Analyses_entity/entityfields/overdue_tasks/valueProcess.js b/entity/Analyses_entity/entityfields/overdue_tasks/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..310743e11054a6f806f4a8c0810856072f76ca36 --- /dev/null +++ b/entity/Analyses_entity/entityfields/overdue_tasks/valueProcess.js @@ -0,0 +1,15 @@ +import("system.db"); +import("system.datetime"); +import("system.result"); +import("system.vars"); +import("Date_lib"); +import("Sql_lib"); + + +var overduetask = db.cell(SqlCondition.begin() + .andPrepare("TASK.MATURITY_DATE", vars.get("$sys.date"), "# < ?") + .buildSql("select count(TASKID) from TASK", "1=2")); + +result.string(overduetask); + + diff --git a/entity/AttributeRelationTree_entity/AttributeRelationTree_entity.aod b/entity/AttributeRelationTree_entity/AttributeRelationTree_entity.aod index bb483a46acd306a1096488ef3a58288d6e768fd0..4867a9611400b6a61e8136b5fc7051e8ff79775b 100644 --- a/entity/AttributeRelationTree_entity/AttributeRelationTree_entity.aod +++ b/entity/AttributeRelationTree_entity/AttributeRelationTree_entity.aod @@ -10,9 +10,6 @@ <entityField> <name>PARENT_ID</name> </entityField> - <entityField> - <name>TITLE</name> - </entityField> <entityField> <name>UID</name> </entityField> @@ -74,16 +71,53 @@ </entityDependency> </dependencies> </entityProvider> + <entityField> + <name>AB_ATTRIBUTE_ID</name> + <title>Attribute</title> + <consumer>SpecificAttribute</consumer> + <onValueChange>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/ab_attribute_id/onValueChange.js</onValueChange> + </entityField> + <entityField> + <name>VALUE</name> + <title>Value</title> + <contentTypeProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/value/contentTypeProcess.js</contentTypeProcess> + <resolution>DAY</resolution> + <mandatory v="true" /> + <possibleItemsProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/value/possibleItemsProcess.js</possibleItemsProcess> + </entityField> + <entityConsumer> + <name>SpecificAttribute</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Attribute_entity</entityName> + <fieldName>SpecificAttribute</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <jDitoRecordContainer> <name>jdito</name> <jDitoRecordAlias>Data_alias</jDitoRecordAlias> <contentProcess>%aditoprj%/entity/AttributeRelationTree_entity/recordcontainers/jdito/contentProcess.js</contentProcess> + <onInsert>%aditoprj%/entity/AttributeRelationTree_entity/recordcontainers/jdito/onInsert.js</onInsert> + <onUpdate>%aditoprj%/entity/AttributeRelationTree_entity/recordcontainers/jdito/onUpdate.js</onUpdate> + <onDelete>%aditoprj%/entity/AttributeRelationTree_entity/recordcontainers/jdito/onDelete.js</onDelete> <recordFields> <element>UID.value</element> <element>PARENT_ID.value</element> - <element>TITLE.value</element> + <element>VALUE.value</element> + <element>VALUE.displayValue</element> + <element>AB_ATTRIBUTE_ID.value</element> + <element>AB_ATTRIBUTE_ID.displayValue</element> + <element>ATTRIBUTE_TYPE.value</element> </recordFields> </jDitoRecordContainer> </recordContainers> diff --git a/entity/AttributeRelationTree_entity/entityfields/ab_attribute_id/onValueChange.js b/entity/AttributeRelationTree_entity/entityfields/ab_attribute_id/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..1cebe1b3feaf01b51d151221f833a7255541bfb5 --- /dev/null +++ b/entity/AttributeRelationTree_entity/entityfields/ab_attribute_id/onValueChange.js @@ -0,0 +1,8 @@ +import("system.vars"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT || + vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + neon.setFieldValue("$field.VALUE", null); +} \ No newline at end of file diff --git a/entity/AttributeRelationTree_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js b/entity/AttributeRelationTree_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..5c2ba1e99bd66da1cbc065319b7644302880879f --- /dev/null +++ b/entity/AttributeRelationTree_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.exists("$param.ObjectType_param") ? vars.get("$param.ObjectType_param") : ""); diff --git a/entity/AttributeRelationTree_entity/entityfields/value/contentTypeProcess.js b/entity/AttributeRelationTree_entity/entityfields/value/contentTypeProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..55d32c91b7003e4a973558a6460268ef5b6d962b --- /dev/null +++ b/entity/AttributeRelationTree_entity/entityfields/value/contentTypeProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("system.result"); +import("Attribute_lib"); + +var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); +result.string(AttributeTypeUtil.getContentType(attributeType)); \ No newline at end of file diff --git a/entity/AttributeRelationTree_entity/entityfields/value/possibleItemsProcess.js b/entity/AttributeRelationTree_entity/entityfields/value/possibleItemsProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..da3691199cda4881eb44136b7de67a7004952f83 --- /dev/null +++ b/entity/AttributeRelationTree_entity/entityfields/value/possibleItemsProcess.js @@ -0,0 +1,46 @@ +import("system.translate"); +import("system.db"); +import("system.result"); +import("system.vars"); +import("Attribute_lib"); +import("Sql_lib"); + +var attributeId = vars.get("$field.AB_ATTRIBUTE_ID"); +var attrType = AttributeUtil.getAttributeType(attributeId); + +if (attrType == $AttributeTypes.COMBO) +{ + var valueSql = SqlCondition.begin() + .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_ACTIVE", "1") + .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", attributeId) + .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE) + .buildSql("select AB_ATTRIBUTEID, ATTRIBUTE_NAME from AB_ATTRIBUTE", "1=2", "order by ATTRIBUTE_NAME"); + var valueList = db.table(valueSql); + + result.object(valueList); +} +else if (attrType == $AttributeTypes.BOOLEAN) +{ + result.object([ + ["1", translate.text("Yes")], + ["0", translate.text("No")] + ]); +} + +//TODO this is a workaround for keywords, when it's possible to use the consumer remove this +else if (attrType == $AttributeTypes.KEYWORD) +{ + var attrKeywordSelect = "select KEYWORD_CONTAINER from AB_ATTRIBUTE"; + attrKeywordSelect = SqlCondition.begin() + .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.AB_ATTRIBUTE_ID") + .buildSql(attrKeywordSelect); + + var sql = SqlCondition.begin() + .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", db.cell(attrKeywordSelect)) + .buildSql("select AB_KEYWORD_ENTRY.KEYID, AB_KEYWORD_ENTRY.TITLE from AB_KEYWORD_ENTRY"); + var keywords = db.table(sql).map(function (row) + { + return [row[0], translate.text(row[1])]; + }); + result.object(keywords); +} \ No newline at end of file diff --git a/entity/AttributeRelationTree_entity/recordcontainers/jdito/contentProcess.js b/entity/AttributeRelationTree_entity/recordcontainers/jdito/contentProcess.js index 3bc714d701a23a938e5cca97131fd2ee59a579cb..d887ea8db65ef4766a8182d7ae984c3c8212dfcd 100644 --- a/entity/AttributeRelationTree_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/AttributeRelationTree_entity/recordcontainers/jdito/contentProcess.js @@ -8,9 +8,42 @@ var objectType = vars.get("$param.ObjectType_param"); var rowId = vars.get("$param.ObjectRowId_param"); var attributeObj = {}; var allAttributes = []; -var sqlSelect = "select AB_ATTRIBUTEID, ATTRIBUTE_PARENT_ID, ATTRIBUTE_NAME from AB_ATTRIBUTE"; +var sqlSelect = "select AB_ATTRIBUTEID, ATTRIBUTE_PARENT_ID, ATTRIBUTE_NAME, ATTRIBUTE_NAME, ATTRIBUTE_NAME, ATTRIBUTE_NAME, ATTRIBUTE_TYPE from AB_ATTRIBUTE"; + + + +var attrCond = SqlCondition.begin() + .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", rowId); +if (objectType != null) + attrCond.andPrepare("AB_ATTRIBUTERELATION.OBJECT_TYPE", objectType); + +var defaultFields = [ + "AB_ATTRIBUTERELATIONID", + "AB_ATTRIBUTE_ID", + "AB_ATTRIBUTE.ATTRIBUTE_TYPE", + "AB_ATTRIBUTE.KEYWORD_CONTAINER", + "COMBOVAL.ATTRIBUTE_NAME" +]; +var valueFields = AttributeTypeUtil.getAllDatabaseFields(); +var attributeSql = attrCond.buildSql("select " + defaultFields.join(", ") + ", " + valueFields.join(", ") + + " from AB_ATTRIBUTERELATION join AB_ATTRIBUTE on AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID" + + " left join AB_ATTRIBUTE COMBOVAL on " + $AttributeTypes.COMBO.databaseField + " = COMBOVAL.AB_ATTRIBUTEID"); + +var attributeNameMap = {}; +var attributeValues = db.table(attributeSql).map(function (row) +{ + let attributeId = row[1]; + let attributeName = ""; + let value = row[AttributeTypeUtil.getTypeColumnIndex(row[2]) + defaultFields.length]; + let viewValue; + if (row[2].trim() == $AttributeTypes.COMBO) + viewValue = row[4]; + else + viewValue = AttributeTypeUtil.getAttributeViewValue(row[2].trim(), value, row[3]); + + return [row[0], attributeId, value, viewValue, attributeId, attributeName, row[2]]; +}); -var attributeValues = AttributeRelationUtils.getAllAttributes(rowId, objectType, false, true); _fetchAttributes(attributeValues.map(function (row) {return row[1]})); @@ -44,11 +77,10 @@ function _sortArrayForTree (pArray) { var rows = {}; var allIds = {}; - var idIndex = 1; - var parentIdIndex = 4; + var idIndex = 0; + var parentIdIndex = 1; pArray.forEach(function (row) {allIds[row[idIndex]] = true;}); - var index = 0; for (let itemsAdded = true; itemsAdded; itemsAdded = oldIndex != index) @@ -63,9 +95,8 @@ function _sortArrayForTree (pArray) }; }, rows); } - var sortedArray = new Array(Object.keys(rows).length); + var sortedArray = new Array(index); for (let i in rows) sortedArray[rows[i].index] = rows[i].data; - return sortedArray; } \ No newline at end of file diff --git a/entity/AttributeRelationTree_entity/recordcontainers/jdito/onDelete.js b/entity/AttributeRelationTree_entity/recordcontainers/jdito/onDelete.js new file mode 100644 index 0000000000000000000000000000000000000000..219317e107752606f09b507bbdd68e17a018af4c --- /dev/null +++ b/entity/AttributeRelationTree_entity/recordcontainers/jdito/onDelete.js @@ -0,0 +1,10 @@ +import("system.neon"); +import("system.vars"); +import("Sql_lib"); +import("system.db"); + +if (vars.get("$field.AB_ATTRIBUTE_ID")) +{ + db.deleteData("AB_ATTRIBUTERELATION", SqlCondition.begin().andPrepareVars("AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID", "$field.UID").build("1=2")); + neon.refresh(); +} \ No newline at end of file diff --git a/entity/AttributeRelationTree_entity/recordcontainers/jdito/onInsert.js b/entity/AttributeRelationTree_entity/recordcontainers/jdito/onInsert.js new file mode 100644 index 0000000000000000000000000000000000000000..ba344ff704777c942370bfbe0731b2a80e69660a --- /dev/null +++ b/entity/AttributeRelationTree_entity/recordcontainers/jdito/onInsert.js @@ -0,0 +1,31 @@ +import("system.datetime"); +import("system.util"); +import("system.db"); +import("system.vars"); +import("Attribute_lib"); + +var type = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); +var valueField = AttributeTypeUtil.getDatabaseField(type); + +if (valueField) +{ + var columns = [ + "AB_ATTRIBUTERELATIONID", + "AB_ATTRIBUTE_ID", + "OBJECT_ROWID", + "OBJECT_TYPE", + "DATE_NEW", + "USER_NEW", + valueField + ]; + var values = [ + util.getNewUUID(), + vars.get("$field.AB_ATTRIBUTE_ID"), + vars.get("$param.ObjectRowId_param"), + vars.get("$param.ObjectType_param"), + String(datetime.date()), + vars.get("$sys.user"), + vars.get("$field.VALUE") + ]; + db.insertData("AB_ATTRIBUTERELATION", columns, null, values); +} \ No newline at end of file diff --git a/entity/AttributeRelationTree_entity/recordcontainers/jdito/onUpdate.js b/entity/AttributeRelationTree_entity/recordcontainers/jdito/onUpdate.js new file mode 100644 index 0000000000000000000000000000000000000000..ffe8298ae35f313e717bb0895c2ca41e3a84141e --- /dev/null +++ b/entity/AttributeRelationTree_entity/recordcontainers/jdito/onUpdate.js @@ -0,0 +1,25 @@ +import("Sql_lib"); +import("system.util"); +import("system.db"); +import("system.vars"); +import("Attribute_lib"); + +var type = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); + +var columns = [ + "AB_ATTRIBUTE_ID" +]; +var values = [ + vars.get("$field.AB_ATTRIBUTE_ID") +]; + +var dbFields = AttributeTypeUtil.getAllDatabaseFields(); +dbFields.forEach(function (row) +{ + columns.push(row); + values.push(""); +}); +values[AttributeTypeUtil.getTypeColumnIndex(type) + 1] = vars.get("$field.VALUE"); + +db.updateData("AB_ATTRIBUTERELATION", columns, null, values, + SqlCondition.begin().andPrepareVars("AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID", "$field.UID")); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js b/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js index 1e7cfe8ada6f58bd12a58cf076c0a887ceee54f7..55d32c91b7003e4a973558a6460268ef5b6d962b 100644 --- a/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js +++ b/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js @@ -2,5 +2,5 @@ import("system.vars"); import("system.result"); import("Attribute_lib"); -var attrType = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeContentType(); -result.string(attrType); \ No newline at end of file +var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); +result.string(AttributeTypeUtil.getContentType(attributeType)); \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js b/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js index c2cd0971b53da78645efc3ea3db900d49d9d412a..9a11a4c055e222f0f397c6bfe71862f12e362553 100644 --- a/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js +++ b/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js @@ -4,7 +4,7 @@ import("system.vars"); import("Attribute_lib"); import("Keyword_lib"); -var attrType = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeType(); +var attrType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); var value; if (attrType == $AttributeTypes.COMBO) value = AttributeUtil.getSimpleAttributeName(vars.get("$field.ID_VALUE")); diff --git a/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js b/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js index 5d8c07fa23edf16c4178d05f5de69dec3196dd17..150cb4b05da6e73456d57d8573aa7b77865a2960 100644 --- a/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js +++ b/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js @@ -1,10 +1,33 @@ +import("system.neon"); import("system.vars"); import("Entity_lib"); import("Attribute_lib"); var attrValue = vars.exists("$field.valueProxy") ? vars.get("$field.valueProxy") : ""; attrValue = ProcessHandlingUtils.getOnValidationValue(attrValue); -var attribute = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")); -if(attrValue != null) - attribute.setAttributeValue(attrValue); \ No newline at end of file +if (attrValue != null) +{ + var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); + var attrField = (function () + { + switch (this) + { + case $AttributeTypes.TEXT: + return "$field.CHAR_VALUE"; + case $AttributeTypes.DATE: + return "$field.DATE_VALUE"; + case $AttributeTypes.NUMBER: + return "$field.NUMBER_VALUE"; + case $AttributeTypes.BOOLEAN: + return "$field.INT_VALUE"; + case $AttributeTypes.COMBO: + case $AttributeTypes.KEYWORD: + return "$field.ID_VALUE"; + default: + return null; + } + }).call(attributeType); + if (attrField) + neon.setFieldValue(attrField, attrValue); +} \ No newline at end of file diff --git a/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js b/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js index 4a7f1e46eda7a88afbfe7523691dd836a6f774bf..4f20aef0cd61ad7176e01ec946b5b3a0934e28b6 100644 --- a/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js +++ b/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js @@ -6,7 +6,7 @@ import("Attribute_lib"); import("Sql_lib"); var attributeId = vars.get("$field.AB_ATTRIBUTE_ID"); -var attrType = AttributeHandler.begin(attributeId).getAttributeType(); +var attrType = AttributeUtil.getAttributeType(attributeId); if (attrType == $AttributeTypes.COMBO) { diff --git a/entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js b/entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js index bea46eecb189b5b83f3704ecf8ea3f019d0581c4..572e01f1e130b05c78e5bf8762959e16daa895d0 100644 --- a/entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js +++ b/entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js @@ -1,20 +1,39 @@ +import("system.logging"); import("system.neon"); import("system.result"); import("system.vars"); import("Attribute_lib"); -"$field.CHAR_VALUE"; -"$field.DATE_VALUE"; -"$field.NUMBER_VALUE"; -"$field.INT_VALUE"; -"$field.ID_VALUE"; - if(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW) { - var attrField = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeField(); + var rowId = vars.get("$param.ObjectRowId_param"); + var objectType = vars.get("$param.ObjectType_param"); + var attributeId = vars.get("$field.AB_ATTRIBUTE_ID"); + logging.log(AttributeRelationUtils.getAttribute(attributeId, rowId, objectType)) + logging.log(AttributeRelationUtils.getAttribute(attributeId, rowId, objectType, true)) + + + var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); + var attrField = (function () + { + switch (this) + { + case $AttributeTypes.TEXT: + return "$field.CHAR_VALUE"; + case $AttributeTypes.DATE: + return "$field.DATE_VALUE"; + case $AttributeTypes.NUMBER: + return "$field.NUMBER_VALUE"; + case $AttributeTypes.BOOLEAN: + return "$field.INT_VALUE"; + case $AttributeTypes.COMBO: + case $AttributeTypes.KEYWORD: + return "$field.ID_VALUE"; + } + }).call(attributeType); var value = null; if (attrField != null) //load the value from the correct field for the type - value = vars.get("$field." + attrField); + value = vars.get(attrField); if(value != null && value != "") result.string(value); diff --git a/entity/AttributeUsage_entity/AttributeUsage_entity.aod b/entity/AttributeUsage_entity/AttributeUsage_entity.aod index 1d04eaa1faddc57d89dd575a5bd69803b7ae14fa..592e1c543ee3153657b8835c77f89b5ab4a9b33c 100644 --- a/entity/AttributeUsage_entity/AttributeUsage_entity.aod +++ b/entity/AttributeUsage_entity/AttributeUsage_entity.aod @@ -75,6 +75,14 @@ <name>GetAllContexts_param</name> <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/context/children/getallcontexts_param/valueProcess.js</valueProcess> </entityParameter> + <entityParameter> + <name>UseExclusives_param</name> + <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/context/children/useexclusives_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ExclusiveContexts_param</name> + <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js</valueProcess> + </entityParameter> </children> </entityConsumer> </entityFields> diff --git a/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js b/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9ccd8c87e5829b0b4895728bee6a2d184aaa0424 --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js @@ -0,0 +1,12 @@ +import("system.result"); + +result.object([ + "Organisation", + "Person", + "Contract", + "Product", + "Activity", + "Offer", + "Employee", + "Salesproject" +]); \ No newline at end of file diff --git a/entity/AttributeUsage_entity/entityfields/context/children/useexclusives_param/valueProcess.js b/entity/AttributeUsage_entity/entityfields/context/children/useexclusives_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..cda204045d2aba9ae974e0ce2200ba0cc6c852c0 --- /dev/null +++ b/entity/AttributeUsage_entity/entityfields/context/children/useexclusives_param/valueProcess.js @@ -0,0 +1,2 @@ +import("system.result"); +result.string(true); \ No newline at end of file diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod index a33899be37800f733596dee69847ff941dcd9efc..c453e2a87ae59728697f2b1beab93517727895b8 100644 --- a/entity/Attribute_entity/Attribute_entity.aod +++ b/entity/Attribute_entity/Attribute_entity.aod @@ -52,6 +52,7 @@ <name>AttributeChildren</name> <title>Attributes</title> <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Attribute_entity/entityfields/attributechildren/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Attribute_entity</entityName> @@ -75,7 +76,6 @@ <entityProvider> <name>AttributeParent</name> <fieldType>DEPENDENCY_IN</fieldType> - <recordContainer>db</recordContainer> <dependencies> <entityDependency> <name>18bd148d-bed3-429f-ba54-c5eac76c5083</name> @@ -183,6 +183,12 @@ <fieldName>SpecificAttribute</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>ba3b4d47-7385-49df-bf61-54c99f5b2c81</name> + <entityName>AttributeRelationTree_entity</entityName> + <fieldName>SpecificAttribute</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> @@ -197,6 +203,18 @@ <name>DisplaySimpleName_param</name> <expose v="true" /> </entityParameter> + <entityParameter> + <name>AttrParentId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>AttrParentType_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>GetGroups_param</name> + <expose v="false" /> + </entityParameter> </children> </entityProvider> <entityField> @@ -238,19 +256,13 @@ </entityParameter> <entityField> <name>USAGELIST</name> - <title>Usages</title> + <title>Usage</title> <state>READONLY</state> <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/usagelist/valueProcess.js</valueProcess> </entityField> - <entityField> - <name>NAME_WITH_TYPE</name> - <title>Name</title> - <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/name_with_type/valueProcess.js</valueProcess> - </entityField> <entityProvider> <name>AttributeGroups</name> <fieldType>DEPENDENCY_IN</fieldType> - <recordContainer>db</recordContainer> <children> <entityParameter> <name>GetGroups_param</name> @@ -284,6 +296,7 @@ </entityField> <entityField> <name>UID</name> + <searchable v="false" /> </entityField> </entityFields> <recordContainers> diff --git a/entity/Attribute_entity/entityfields/attribute_type/displayValueProcess.js b/entity/Attribute_entity/entityfields/attribute_type/displayValueProcess.js index 1b16072cc5a33cdaf35fd48c69d9b74e98b526f7..84b0b0897c6ca1df575eb8bf7f5bd4bb3e94c15c 100644 --- a/entity/Attribute_entity/entityfields/attribute_type/displayValueProcess.js +++ b/entity/Attribute_entity/entityfields/attribute_type/displayValueProcess.js @@ -8,7 +8,7 @@ import("KeywordRegistry_basic"); if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$field.ATTRIBUTE_PARENT_ID") != "") { - var type = AttributeHandler.begin(vars.get("$field.ATTRIBUTE_PARENT_ID")).getAttributeType(); + var type = AttributeUtil.getAttributeType(vars.get("$field.ATTRIBUTE_PARENT_ID")); if (type == $AttributeTypes.COMBO) result.string(KeywordUtils.getViewValue($KeywordRegistry.attributeType(), $AttributeTypes.COMBOVALUE)); } \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attribute_type/valueProcess.js b/entity/Attribute_entity/entityfields/attribute_type/valueProcess.js index 8c60a83409d16ed0c06f474820e356a9c71b4fbb..28020da1dda1e2253c7b1693b379f63d9e100d8c 100644 --- a/entity/Attribute_entity/entityfields/attribute_type/valueProcess.js +++ b/entity/Attribute_entity/entityfields/attribute_type/valueProcess.js @@ -6,7 +6,7 @@ import("Attribute_lib"); if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$field.ATTRIBUTE_PARENT_ID") != "") { - var type = AttributeHandler.begin(vars.get("$field.ATTRIBUTE_PARENT_ID")).getAttributeType(); + var type = AttributeUtil.getAttributeType(vars.get("$field.ATTRIBUTE_PARENT_ID")); if (type == $AttributeTypes.COMBO) result.string($AttributeTypes.COMBOVALUE); } \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/attributechildren/stateProcess.js b/entity/Attribute_entity/entityfields/attributechildren/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9dd65f6721c8cca1bc4672b5fd812aeafd8f9e29 --- /dev/null +++ b/entity/Attribute_entity/entityfields/attributechildren/stateProcess.js @@ -0,0 +1,10 @@ +import("system.neon"); +import("system.result"); +import("system.vars"); +import("Attribute_lib"); + +var type = vars.get("$field.ATTRIBUTE_TYPE").trim(); +if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO) + result.string(neon.COMPONENTSTATE_EDITABLE); +else + result.string(neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/name_with_type/valueProcess.js b/entity/Attribute_entity/entityfields/name_with_type/valueProcess.js deleted file mode 100644 index 747a495cf7bb42324c1fb691b2609eae4e6df7cf..0000000000000000000000000000000000000000 --- a/entity/Attribute_entity/entityfields/name_with_type/valueProcess.js +++ /dev/null @@ -1,9 +0,0 @@ -import("system.translate"); -import("system.result"); -import("system.vars"); -import("Attribute_lib"); - -var name = vars.get("$field.ATTRIBUTE_NAME"); -if (vars.get("$field.ATTRIBUTE_TYPE").trim() != $AttributeTypes.COMBOVALUE) - name += " (" + translate.text("Type") + ": " + vars.get("$field.ATTRIBUTE_TYPE.displayValue") + ")"; -result.string(name); \ No newline at end of file diff --git a/entity/Attribute_entity/entityfields/usagelist/valueProcess.js b/entity/Attribute_entity/entityfields/usagelist/valueProcess.js index 675da9521dc245e23992c051dc34239c6f262963..6205c80b1197a27513819bf6f91aa0e6cb3a612b 100644 --- a/entity/Attribute_entity/entityfields/usagelist/valueProcess.js +++ b/entity/Attribute_entity/entityfields/usagelist/valueProcess.js @@ -1,18 +1,18 @@ -import("system.translate"); -import("system.result"); -import("system.db"); -import("system.vars"); -import("Sql_lib"); -import("Attribute_lib"); - -var retStr = "\u00A0"; // \u00A0 -> space character that doesn't get trimmed -if (vars.get("$field.ATTRIBUTE_TYPE").trim() != $AttributeTypes.COMBOVALUE) -{ - var usages = db.array(db.COLUMN, SqlCondition.begin() - .andPrepare("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", vars.get("$field.AB_ATTRIBUTEID")) - .buildSql("select OBJECT_TYPE from AB_ATTRIBUTEUSAGE")); - if (usages.length) - retStr = translate.text("Usage") + ": " + usages.join(", "); -} - +import("system.translate"); +import("system.result"); +import("system.db"); +import("system.vars"); +import("Sql_lib"); +import("Attribute_lib"); + +var retStr = "\u00A0"; // \u00A0 -> space character that doesn't get trimmed +if (vars.get("$field.ATTRIBUTE_TYPE").trim() != $AttributeTypes.COMBOVALUE) +{ + var usages = db.array(db.COLUMN, SqlCondition.begin() + .andPrepare("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", vars.get("$field.AB_ATTRIBUTEID")) + .buildSql("select OBJECT_TYPE from AB_ATTRIBUTEUSAGE")); + if (usages.length) + retStr = usages.join(", "); +} + result.string(retStr); \ No newline at end of file diff --git a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js index c56f881e002f57622f6c794a36084061d48df894..e82365497605a662d78f0d4e2c652c3e0ff5051e 100644 --- a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,5 @@ +import("system.logging"); +import("system.datetime"); import("JditoFilter_lib"); import("KeywordRegistry_basic"); import("Keyword_lib"); @@ -7,11 +9,19 @@ import("system.result"); import("Sql_lib"); import("Attribute_lib"); +var sqlSelect = "select AB_ATTRIBUTEID, AB_ATTRIBUTEID, ATTRIBUTE_ACTIVE, " + + "ATTRIBUTE_NAME, ATTRIBUTE_PARENT_ID, ATTRIBUTE_TYPE, " + + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.attributeType(), "ATTRIBUTE_TYPE") + + ", KEYWORD_CONTAINER from AB_ATTRIBUTE"; + var condition = new SqlCondition(); var getGroups = vars.exists("$param.GetGroups_param") && vars.get("$param.GetGroups_param"); var objectType = vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param"); -if (getGroups) + +if (vars.exists("$local.idvalues") && vars.get("$local.idvalues")) + condition.and("AB_ATTRIBUTEID in ('" + vars.get("$local.idvalues").join("','") + "')"); +else if (getGroups) { //this is for the selection of the superordinate attribute, this condition //filters out the own id and the children to prevent loops @@ -19,7 +29,7 @@ if (getGroups) .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP) .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$param.AttrParentId_param", "# != ?") .and("AB_ATTRIBUTE.AB_ATTRIBUTEID not in ('" + AttributeUtil.getAllChildren(vars.getString("$param.AttrParentId_param")).join("','") + "')") - .build()); + ); } else if (objectType) //if there's an objectType, it comes from the AttributeRelation entity { @@ -34,33 +44,27 @@ else { var type = vars.exists("$param.AttrParentType_param") && vars.get("$param.AttrParentType_param"); if (type == $AttributeTypes.COMBO) - condition = SqlCondition.begin() - .andPrepareVars("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", "$param.AttrParentId_param") - .build(); - else if (type) + condition.andPrepareVars("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", "$param.AttrParentId_param"); + else if (type == $AttributeTypes.GROUP) { - var parentId = vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param"); - if (parentId) - condition.and("AB_ATTRIBUTE.AB_ATTRIBUTEID in ('" + AttributeUtil.getAllChildren(vars.getString("$param.AttrParentId_param")).join("','") + "')"); + var parentId = vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param"); + if (parentId) + condition.and("AB_ATTRIBUTE.AB_ATTRIBUTEID in ('" + AttributeUtil.getAllChildren(vars.getString("$param.AttrParentId_param")).join("','") + "')"); } + else if (type) + condition.and("1=2"); } -var sql = "select AB_ATTRIBUTEID, AB_ATTRIBUTEID, ATTRIBUTE_ACTIVE, " - + "ATTRIBUTE_NAME, ATTRIBUTE_PARENT_ID, ATTRIBUTE_TYPE, " - + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.attributeType(), "ATTRIBUTE_TYPE") - + ", KEYWORD_CONTAINER from AB_ATTRIBUTE"; - -if (vars.exists("$local.idvalues") && vars.get("$local.idvalues")) - condition.and(" AB_ATTRIBUTEID in ('" + vars.get("$local.idvalues").join("','") + "')"); -else if (vars.exists("$local.filter") && vars.get("$local.filter")) +//when there are filters selected, add them to the conditon +if (vars.exists("$local.filter") && vars.get("$local.filter")) { var filter = vars.get("$local.filter"); condition.andSqlCondition((JditoFilterUtils.getSqlCondition(filter, "AB_ATTRIBUTE"))); } -var attributes = db.table(condition.buildSql(sql, "1=1")); +var attributes = db.table(condition.buildSql(sqlSelect, "1=1")); -if (!(vars.exists("$local.idvalues") && vars.get("$local.idvalues"))) +if (attributes.length > 1) attributes = _sortArrayForTree(attributes); result.object(attributes); @@ -82,6 +86,8 @@ function _sortArrayForTree (pArray) var oldIndex = index; pArray.forEach(function (row) { + //item will be added if the id is not already in the object and + //the parent is already added (or the parent is not in the array) if (!(row[idIndex] in this) && (row[parentIdIndex] in this || !allIds[row[parentIdIndex]])) this[row[idIndex]] = { data : row, diff --git a/entity/Attribute_entity/recordcontainers/jdito/onInsert.js b/entity/Attribute_entity/recordcontainers/jdito/onInsert.js index 87565632d7cf592ac1bfe137d87ca62be849a32c..0b179785ecd355f6fa968af68100066ed0ae1d0a 100644 --- a/entity/Attribute_entity/recordcontainers/jdito/onInsert.js +++ b/entity/Attribute_entity/recordcontainers/jdito/onInsert.js @@ -4,7 +4,6 @@ import("system.vars"); var columns = [ "AB_ATTRIBUTEID", "ATTRIBUTE_ACTIVE", - "ATTRIBUTE_LEVEL", "ATTRIBUTE_NAME", "ATTRIBUTE_PARENT_ID", "ATTRIBUTE_TYPE", @@ -13,7 +12,6 @@ var columns = [ var values = [ vars.get("$field.UID"), vars.get("$field.ATTRIBUTE_ACTIVE"), - vars.get("$field.ATTRIBUTE_LEVEL"), vars.get("$field.ATTRIBUTE_NAME"), vars.get("$field.ATTRIBUTE_PARENT_ID"), vars.get("$field.ATTRIBUTE_TYPE"), diff --git a/entity/Attribute_entity/recordcontainers/jdito/onUpdate.js b/entity/Attribute_entity/recordcontainers/jdito/onUpdate.js index 6740df0d149b19858958fbc5b0c9839a721bd4e1..152518a6dc366aea41d1046ad21d913d2b86b537 100644 --- a/entity/Attribute_entity/recordcontainers/jdito/onUpdate.js +++ b/entity/Attribute_entity/recordcontainers/jdito/onUpdate.js @@ -4,7 +4,6 @@ import("system.vars"); var columns = [ "ATTRIBUTE_ACTIVE", - "ATTRIBUTE_LEVEL", "ATTRIBUTE_NAME", "ATTRIBUTE_PARENT_ID", "ATTRIBUTE_TYPE", @@ -12,7 +11,6 @@ var columns = [ ]; var values = [ vars.get("$field.ATTRIBUTE_ACTIVE"), - vars.get("$field.ATTRIBUTE_LEVEL"), vars.get("$field.ATTRIBUTE_NAME"), vars.get("$field.ATTRIBUTE_PARENT_ID"), vars.get("$field.ATTRIBUTE_TYPE"), @@ -23,4 +21,4 @@ var condition = SqlCondition.begin() .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.UID") .build("1=2"); -db.updateData("AB_ATTRIBUTE", columns, null, values, conditon); \ No newline at end of file +db.updateData("AB_ATTRIBUTE", columns, null, values, condition); \ No newline at end of file diff --git a/entity/Context_entity/Context_entity.aod b/entity/Context_entity/Context_entity.aod index ae0b115f7aeb9e8496d700685ebd2bf01c2271c8..f1169026a4f400e22cbff3a169ee330dacb486e0 100644 --- a/entity/Context_entity/Context_entity.aod +++ b/entity/Context_entity/Context_entity.aod @@ -45,13 +45,13 @@ </dependencies> <children> <entityParameter> - <name>excludeContexts_param</name> + <name>ExclusiveContexts_param</name> <expose v="false" /> </entityParameter> </children> </entityProvider> <entityParameter> - <name>excludeContexts_param</name> + <name>ExclusiveContexts_param</name> <expose v="true" /> <description>PARAMETER</description> </entityParameter> @@ -68,8 +68,9 @@ </dependencies> <children> <entityParameter> - <name>excludeContexts_param</name> - <valueProcess>%aditoprj%/entity/Context_entity/entityfields/activitylinkable/children/excludecontexts_param/valueProcess.js</valueProcess> + <name>ExclusiveContexts_param</name> + <valueProcess>%aditoprj%/entity/Context_entity/entityfields/activitylinkable/children/exclusivecontexts_param/valueProcess.js</valueProcess> + <expose v="false" /> </entityParameter> </children> </entityProvider> @@ -86,8 +87,9 @@ </dependencies> <children> <entityParameter> - <name>excludeContexts_param</name> - <valueProcess>%aditoprj%/entity/Context_entity/entityfields/tasklinkable/children/excludecontexts_param/valueProcess.js</valueProcess> + <name>ExclusiveContexts_param</name> + <valueProcess>%aditoprj%/entity/Context_entity/entityfields/tasklinkable/children/exclusivecontexts_param/valueProcess.js</valueProcess> + <expose v="false" /> </entityParameter> </children> </entityProvider> @@ -96,6 +98,11 @@ <expose v="true" /> <description>PARAMETER</description> </entityParameter> + <entityParameter> + <name>UseExclusives_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> </entityFields> <recordContainers> <jDitoRecordContainer> diff --git a/entity/Context_entity/entityfields/activitylinkable/children/excludecontexts_param/valueProcess.js b/entity/Context_entity/entityfields/activitylinkable/children/exclusivecontexts_param/valueProcess.js similarity index 100% rename from entity/Context_entity/entityfields/activitylinkable/children/excludecontexts_param/valueProcess.js rename to entity/Context_entity/entityfields/activitylinkable/children/exclusivecontexts_param/valueProcess.js diff --git a/entity/Context_entity/entityfields/tasklinkable/children/excludecontexts_param/valueProcess.js b/entity/Context_entity/entityfields/tasklinkable/children/exclusivecontexts_param/valueProcess.js similarity index 100% rename from entity/Context_entity/entityfields/tasklinkable/children/excludecontexts_param/valueProcess.js rename to entity/Context_entity/entityfields/tasklinkable/children/exclusivecontexts_param/valueProcess.js diff --git a/entity/Context_entity/recordcontainers/jdito/contentProcess.js b/entity/Context_entity/recordcontainers/jdito/contentProcess.js index 6ae2f8ad3cb2027b7ca6d81d5c7a803cf78b2663..29391c90234a2a5d1408843663ae6e6c4c1e4abd 100644 --- a/entity/Context_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Context_entity/recordcontainers/jdito/contentProcess.js @@ -2,9 +2,10 @@ import("system.vars"); import("system.result"); import("Context_lib"); -var excludeContexts = vars.getString("$param.excludeContexts_param"); +var excludeContexts = vars.getString("$param.ExclusiveContexts_param"); if (excludeContexts) excludeContexts = JSON.parse(excludeContexts); var filterContexts = !(vars.exists("$param.GetAllContexts_param") && vars.get("$param.GetAllContexts_param") == "true"); +var useExclusives = vars.exists("$param.UseExclusives_param") && vars.get("$param.UseExclusives_param") == "true"; -result.object(ContextUtils.getContexts(filterContexts, excludeContexts)); \ No newline at end of file +result.object(ContextUtils.getContexts(filterContexts, excludeContexts, useExclusives)); \ No newline at end of file diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod index 8136cd6d2dc78eafd8bc2d5132e4906de381078d..f152d300ba86ed531c2c72ccb9aa56842f90339e 100644 --- a/entity/Contract_entity/Contract_entity.aod +++ b/entity/Contract_entity/Contract_entity.aod @@ -209,6 +209,7 @@ <name>MainDocuments</name> <title>Maindocuments</title> <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/maindocuments/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Document_entity</entityName> diff --git a/entity/Contract_entity/entityfields/maindocuments/stateProcess.js b/entity/Contract_entity/entityfields/maindocuments/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d22f90760a8cc65ddc9c0752d92c11bb48cfe947 --- /dev/null +++ b/entity/Contract_entity/entityfields/maindocuments/stateProcess.js @@ -0,0 +1,14 @@ +import("system.result"); +import("system.db"); +import("system.vars"); +import("system.neon"); +import("Sql_lib"); + +if (0 == db.getBinaryCount("CONTRACT", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT")) +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} +else +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/entity/Employee_entity/Employee_entity.aod b/entity/Employee_entity/Employee_entity.aod index 748fd22d321b296b99cfb1c9072045c3068be6c6..6a4abbc912058b9bc777eb6f4c75e5276fb55337 100644 --- a/entity/Employee_entity/Employee_entity.aod +++ b/entity/Employee_entity/Employee_entity.aod @@ -1,272 +1,271 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.1"> - <name>Employee_entity</name> - <title>Employee</title> - <majorModelMode>DISTRIBUTED</majorModelMode> - <onValidation>%aditoprj%/entity/Employee_entity/onValidation.js</onValidation> - <afterOperatingState>%aditoprj%/entity/Employee_entity/afterOperatingState.js</afterOperatingState> - <iconId>VAADIN:GROUP</iconId> - <titleProcess>%aditoprj%/entity/Employee_entity/titleProcess.js</titleProcess> - <recordContainer>jdito</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - <lookupIdfield>CONTACT_ID</lookupIdfield> - </entityProvider> - <entityField> - <name>UID</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/uid/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>TITLE</name> - <title>Username</title> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/title/valueProcess.js</valueProcess> - <onValidation>%aditoprj%/entity/Employee_entity/entityfields/title/onValidation.js</onValidation> - </entityField> - <entityField> - <name>CONTACT_ID</name> - <title>Person</title> - <consumer>Contacts</consumer> - <linkedContext>Person</linkedContext> - <mandatory v="true" /> - <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/contact_id/stateProcess.js</stateProcess> - <onValidation>%aditoprj%/entity/Employee_entity/entityfields/contact_id/onValidation.js</onValidation> - <onValueChange>%aditoprj%/entity/Employee_entity/entityfields/contact_id/onValueChange.js</onValueChange> - </entityField> - <entityField> - <name>FIRSTNAME</name> - <title>Firstname</title> - </entityField> - <entityField> - <name>LASTNAME</name> - <title>Lastname</title> - <mandatory v="false" /> - </entityField> - <entityField> - <name>ISACTIVE</name> - <title>Active</title> - <contentType>BOOLEAN</contentType> - <possibleItemsProcess>%aditoprj%/entity/Employee_entity/entityfields/isactive/possibleItemsProcess.js</possibleItemsProcess> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/isactive/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>EMAIL_ADDRESS</name> - <title>Email</title> - <mandatory v="true" /> - <possibleItemsProcess>%aditoprj%/entity/Employee_entity/entityfields/email_address/possibleItemsProcess.js</possibleItemsProcess> - <newItemsAllowed v="true" /> - <onValidation>%aditoprj%/entity/Employee_entity/entityfields/email_address/onValidation.js</onValidation> - </entityField> - <entityField> - <name>PASSWORD</name> - <title>Password</title> - <contentType>PASSWORD</contentType> - <mandatoryProcess>%aditoprj%/entity/Employee_entity/entityfields/password/mandatoryProcess.js</mandatoryProcess> - <searchable v="false" /> - <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/password/stateProcess.js</stateProcess> - </entityField> - <entityField> - <name>CONFIRM_PASSWORD</name> - <title>Confirm password</title> - <contentType>PASSWORD</contentType> - <mandatoryProcess>%aditoprj%/entity/Employee_entity/entityfields/confirm_password/mandatoryProcess.js</mandatoryProcess> - <searchable v="false" /> - <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/confirm_password/stateProcess.js</stateProcess> - </entityField> - <entityActionField> - <name>setPassword</name> - <fieldType>ACTION</fieldType> - <title>Set password</title> - <onActionProcess>%aditoprj%/entity/Employee_entity/entityfields/setpassword/onActionProcess.js</onActionProcess> - <iconId>VAADIN:PASSWORD</iconId> - </entityActionField> - <entityParameter> - <name>PasswordChange_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OnlyActives_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/onlyactives_param/valueProcess.js</valueProcess> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityConsumer> - <name>Contacts</name> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>Person_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>Attributes</name> - <title>Attributes</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>RelationsForSpecificObject</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityFieldGroup> - <name>NAME_fieldGroup</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/name_fieldgroup/valueProcess.js</valueProcess> - <title>Name</title> - <description>FIELDGROUP</description> - <fields> - <element>FIRSTNAME</element> - <element>LASTNAME</element> - </fields> - </entityFieldGroup> - <entityField> - <name>IMAGE</name> - <contentType>IMAGE</contentType> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/image/valueProcess.js</valueProcess> - <onValueChange>%aditoprj%/entity/Employee_entity/entityfields/image/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - </onValueChangeTypes> - </entityField> - <entityField> - <name>DEPARTMENT</name> - <title>Department</title> - <state>INVISIBLE</state> - </entityField> - <entityField> - <name>DESCRIPTION</name> - <title>Description</title> - <contentType>LONG_TEXT</contentType> - </entityField> - <entityField> - <name>ROLES</name> - </entityField> - <entityConsumer> - <name>EmployeeRoles</name> - <title>Roles</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>EmployeeRole_entity</entityName> - <fieldName>EmployeeRoles</fieldName> - </dependency> - <children> - <entityParameter> - <name>UserTitle_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/employeeroles/children/usertitle_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>AttributeTree</name> - <title>Attribute Tree</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>AttributeRelationTree_entity</entityName> - <fieldName>TreeProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Documents</name> - <title>Documents</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>Documents</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentName_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmentname_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityProvider> - <name>Employees</name> - <fieldType>DEPENDENCY_IN</fieldType> - <lookupIdfield>CONTACT_ID</lookupIdfield> - <dependencies> - <entityDependency> - <name>0ca415b9-a940-424e-bee8-05c007b20659</name> - <entityName>Activity_entity</entityName> - <fieldName>Employees</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>73f93f34-bfe9-48fd-b9ce-7f8ba46014c9</name> - <entityName>Timetracking_entity</entityName> - <fieldName>Employees</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>OnlyActives_param</name> - <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/employees/children/onlyactives_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityProvider> - <entityField> - <name>TITLE_ORIGINAL</name> - <searchable v="false" /> - </entityField> - </entityFields> - <recordContainers> - <jDitoRecordContainer> - <name>jdito</name> - <jDitoRecordAlias>Data_alias</jDitoRecordAlias> - <contentProcess>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/contentProcess.js</contentProcess> - <onInsert>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onInsert.js</onInsert> - <onUpdate>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onUpdate.js</onUpdate> - <onDelete>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onDelete.js</onDelete> - <recordFields> - <element>UID.value</element> - <element>TITLE.value</element> - <element>TITLE_ORIGINAL.value</element> - <element>ISACTIVE.value</element> - <element>FIRSTNAME.value</element> - <element>LASTNAME.value</element> - <element>EMAIL_ADDRESS.value</element> - <element>EMAIL_ADDRESS.displayValue</element> - <element>DESCRIPTION.value</element> - <element>CONTACT_ID.value</element> - <element>CONTACT_ID.displayValue</element> - <element>STORED_SELECTIONS.value</element> - </recordFields> - </jDitoRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.1"> + <name>Employee_entity</name> + <title>Employee</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <onValidation>%aditoprj%/entity/Employee_entity/onValidation.js</onValidation> + <afterOperatingState>%aditoprj%/entity/Employee_entity/afterOperatingState.js</afterOperatingState> + <iconId>VAADIN:GROUP</iconId> + <titleProcess>%aditoprj%/entity/Employee_entity/titleProcess.js</titleProcess> + <recordContainer>jdito</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + <lookupIdfield>CONTACT_ID</lookupIdfield> + </entityProvider> + <entityField> + <name>UID</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/uid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>TITLE</name> + <title>Username</title> + <mandatory v="true" /> + <onValidation>%aditoprj%/entity/Employee_entity/entityfields/title/onValidation.js</onValidation> + </entityField> + <entityField> + <name>CONTACT_ID</name> + <title>Person</title> + <consumer>Contacts</consumer> + <linkedContext>Person</linkedContext> + <mandatory v="true" /> + <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/contact_id/stateProcess.js</stateProcess> + <onValidation>%aditoprj%/entity/Employee_entity/entityfields/contact_id/onValidation.js</onValidation> + <onValueChange>%aditoprj%/entity/Employee_entity/entityfields/contact_id/onValueChange.js</onValueChange> + </entityField> + <entityField> + <name>FIRSTNAME</name> + <title>Firstname</title> + </entityField> + <entityField> + <name>LASTNAME</name> + <title>Lastname</title> + <mandatory v="false" /> + </entityField> + <entityField> + <name>ISACTIVE</name> + <title>Active</title> + <contentType>BOOLEAN</contentType> + <possibleItemsProcess>%aditoprj%/entity/Employee_entity/entityfields/isactive/possibleItemsProcess.js</possibleItemsProcess> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/isactive/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>EMAIL_ADDRESS</name> + <title>Email</title> + <mandatory v="true" /> + <possibleItemsProcess>%aditoprj%/entity/Employee_entity/entityfields/email_address/possibleItemsProcess.js</possibleItemsProcess> + <newItemsAllowed v="true" /> + <onValidation>%aditoprj%/entity/Employee_entity/entityfields/email_address/onValidation.js</onValidation> + </entityField> + <entityField> + <name>PASSWORD</name> + <title>Password</title> + <contentType>PASSWORD</contentType> + <mandatoryProcess>%aditoprj%/entity/Employee_entity/entityfields/password/mandatoryProcess.js</mandatoryProcess> + <searchable v="false" /> + <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/password/stateProcess.js</stateProcess> + </entityField> + <entityField> + <name>CONFIRM_PASSWORD</name> + <title>Confirm password</title> + <contentType>PASSWORD</contentType> + <mandatoryProcess>%aditoprj%/entity/Employee_entity/entityfields/confirm_password/mandatoryProcess.js</mandatoryProcess> + <searchable v="false" /> + <stateProcess>%aditoprj%/entity/Employee_entity/entityfields/confirm_password/stateProcess.js</stateProcess> + </entityField> + <entityActionField> + <name>setPassword</name> + <fieldType>ACTION</fieldType> + <title>Set password</title> + <onActionProcess>%aditoprj%/entity/Employee_entity/entityfields/setpassword/onActionProcess.js</onActionProcess> + <iconId>VAADIN:PASSWORD</iconId> + </entityActionField> + <entityParameter> + <name>PasswordChange_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OnlyActives_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/onlyactives_param/valueProcess.js</valueProcess> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityConsumer> + <name>Contacts</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Person_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>Attributes</name> + <title>Attributes</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>RelationsForSpecificObject</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityFieldGroup> + <name>NAME_fieldGroup</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/name_fieldgroup/valueProcess.js</valueProcess> + <title>Name</title> + <description>FIELDGROUP</description> + <fields> + <element>FIRSTNAME</element> + <element>LASTNAME</element> + </fields> + </entityFieldGroup> + <entityField> + <name>IMAGE</name> + <contentType>IMAGE</contentType> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/image/valueProcess.js</valueProcess> + <onValueChange>%aditoprj%/entity/Employee_entity/entityfields/image/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> + </entityField> + <entityField> + <name>DEPARTMENT</name> + <title>Department</title> + <state>INVISIBLE</state> + </entityField> + <entityField> + <name>DESCRIPTION</name> + <title>Description</title> + <contentType>LONG_TEXT</contentType> + </entityField> + <entityField> + <name>ROLES</name> + </entityField> + <entityConsumer> + <name>EmployeeRoles</name> + <title>Roles</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>EmployeeRole_entity</entityName> + <fieldName>EmployeeRoles</fieldName> + </dependency> + <children> + <entityParameter> + <name>UserTitle_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/employeeroles/children/usertitle_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>AttributeTree</name> + <title>Attribute Tree</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>AttributeRelationTree_entity</entityName> + <fieldName>TreeProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Documents</name> + <title>Documents</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>Documents</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentName_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmentname_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityProvider> + <name>Employees</name> + <fieldType>DEPENDENCY_IN</fieldType> + <lookupIdfield>CONTACT_ID</lookupIdfield> + <dependencies> + <entityDependency> + <name>0ca415b9-a940-424e-bee8-05c007b20659</name> + <entityName>Activity_entity</entityName> + <fieldName>Employees</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>73f93f34-bfe9-48fd-b9ce-7f8ba46014c9</name> + <entityName>Timetracking_entity</entityName> + <fieldName>Employees</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>OnlyActives_param</name> + <valueProcess>%aditoprj%/entity/Employee_entity/entityfields/employees/children/onlyactives_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityProvider> + <entityField> + <name>TITLE_ORIGINAL</name> + <searchable v="false" /> + </entityField> + </entityFields> + <recordContainers> + <jDitoRecordContainer> + <name>jdito</name> + <jDitoRecordAlias>Data_alias</jDitoRecordAlias> + <contentProcess>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/contentProcess.js</contentProcess> + <onInsert>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onInsert.js</onInsert> + <onUpdate>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onUpdate.js</onUpdate> + <onDelete>%aditoprj%/entity/Employee_entity/recordcontainers/jdito/onDelete.js</onDelete> + <recordFields> + <element>UID.value</element> + <element>TITLE.value</element> + <element>TITLE_ORIGINAL.value</element> + <element>ISACTIVE.value</element> + <element>FIRSTNAME.value</element> + <element>LASTNAME.value</element> + <element>EMAIL_ADDRESS.value</element> + <element>EMAIL_ADDRESS.displayValue</element> + <element>DESCRIPTION.value</element> + <element>CONTACT_ID.value</element> + <element>CONTACT_ID.displayValue</element> + <element>STORED_SELECTIONS.value</element> + </recordFields> + </jDitoRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Employee_entity/entityfields/contact_id/onValueChange.js b/entity/Employee_entity/entityfields/contact_id/onValueChange.js index 8b8af980eacaa7cf7553115592be5a360dd3406b..26cac2df6b6b30fe19726b66e078f286f4d7400b 100644 --- a/entity/Employee_entity/entityfields/contact_id/onValueChange.js +++ b/entity/Employee_entity/entityfields/contact_id/onValueChange.js @@ -1,25 +1,28 @@ -import("Communication_lib"); -import("Entity_lib"); -import("system.result"); -import("system.db"); -import("system.neon"); -import("system.vars"); -import("Sql_lib"); - -var contactId = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTACT_ID")); -if ((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) - && contactId) -{ - var name = db.array( - db.ROW, - SqlCondition.begin() - .andPrepare("CONTACT.CONTACTID", contactId) - .buildSql("select FIRSTNAME, LASTNAME, (" + CommUtil.getStandardSubSqlMail() + ") from PERSON join CONTACT on CONTACT.PERSON_ID = PERSON.PERSONID") - ); - - neon.setFieldValues({ - "$field.FIRSTNAME" : name[0] || "", - "$field.LASTNAME" : name[1] || "", - "$field.EMAIL_ADDRESS" : name[2] || "" - }); +import("Communication_lib"); +import("Entity_lib"); +import("system.result"); +import("system.db"); +import("system.neon"); +import("system.vars"); +import("Sql_lib"); +import("Employee_lib"); + +var contactId = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTACT_ID")); +if ((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) + && contactId) +{ + var name = db.array( + db.ROW, + SqlCondition.begin() + .andPrepare("CONTACT.CONTACTID", contactId) + .buildSql("select FIRSTNAME, LASTNAME, (" + CommUtil.getStandardSubSqlMail() + ") from PERSON join CONTACT on CONTACT.PERSON_ID = PERSON.PERSONID") + ); + var username = EmployeeUtils.generateUserName(name[0], name[1], "f.l+"); + + neon.setFieldValues({ + "$field.FIRSTNAME" : name[0] || "", + "$field.LASTNAME" : name[1] || "", + "$field.EMAIL_ADDRESS" : name[2] || "", + "$field.TITLE" : username + }); } \ No newline at end of file diff --git a/entity/Employee_entity/entityfields/title/valueProcess.js b/entity/Employee_entity/entityfields/title/valueProcess.js deleted file mode 100644 index 058b37c3c1c367ab44f6212d3e684707bb3a398b..0000000000000000000000000000000000000000 --- a/entity/Employee_entity/entityfields/title/valueProcess.js +++ /dev/null @@ -1,7 +0,0 @@ -import("system.neon"); -import("system.vars"); -import("system.result"); -import("Employee_lib"); - -if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT && !vars.get("$field.TITLE")) - result.string(EmployeeUtils.generateUserName(vars.get("$field.FIRSTNAME"), vars.get("$field.LASTNAME"), "f.l+")); \ No newline at end of file diff --git a/entity/ObjectTree_entity/ObjectTree_entity.aod b/entity/ObjectTree_entity/ObjectTree_entity.aod index 732a7815ac7d2253db4ed90aa3965728076c95b4..620cadd28d3cfbeb7ab04e7384a33d8c7e590d32 100644 --- a/entity/ObjectTree_entity/ObjectTree_entity.aod +++ b/entity/ObjectTree_entity/ObjectTree_entity.aod @@ -106,7 +106,7 @@ </entityField> <entityField> <name>TARGET_ID</name> - <title>Relation</title> + <title>Object</title> <consumer>Objects</consumer> <linkedContextProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_id/linkedContextProcess.js</linkedContextProcess> <mandatory v="true" /> diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 51dc0bd7bfd69c2c7c0234e4865cb7fe70415659..8eb0cd55594b9dc03df9911c4af906bf77251226 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -310,6 +310,7 @@ <entityConsumer> <name>MainDocuments</name> <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/maindocuments/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Document_entity</entityName> diff --git a/entity/Offer_entity/entityfields/maindocuments/stateProcess.js b/entity/Offer_entity/entityfields/maindocuments/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..5c640c079ddca224a84ea8fe108d10d39d0f926c --- /dev/null +++ b/entity/Offer_entity/entityfields/maindocuments/stateProcess.js @@ -0,0 +1,14 @@ +import("system.result"); +import("system.db"); +import("system.vars"); +import("system.neon"); +import("Sql_lib"); + +if (0 == db.getBinaryCount("OFFER", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT")) +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} +else +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod index 92de79ba4fa97d6419751e7271a6bc246005e0b2..df53ce2634c44af5cc9ac01735311f1f258e8b35 100644 --- a/entity/Order_entity/Order_entity.aod +++ b/entity/Order_entity/Order_entity.aod @@ -263,6 +263,7 @@ <entityConsumer> <name>MainDocuments</name> <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Order_entity/entityfields/maindocuments/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Document_entity</entityName> diff --git a/entity/Order_entity/entityfields/maindocuments/stateProcess.js b/entity/Order_entity/entityfields/maindocuments/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9104233a61bb17be448f09b778adfa11c61162de --- /dev/null +++ b/entity/Order_entity/entityfields/maindocuments/stateProcess.js @@ -0,0 +1,14 @@ +import("system.result"); +import("system.db"); +import("system.vars"); +import("system.neon"); +import("Sql_lib"); + +if (0 == db.getBinaryCount("SALESORDER", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT")) +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} +else +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js b/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js index f8f18bbb44f53cdf36e79af50410f0ccf70c2585..821415ae694dd9c3d98a7703f4c59b81a37f524b 100644 --- a/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js +++ b/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js @@ -1,3 +1,3 @@ import("system.vars"); import("system.result"); -result.string(vars.get("$field.PERSON_ID")); \ No newline at end of file +result.string(vars.get("$field.CONTACTID")); \ No newline at end of file diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod index f8474184d24ac58559ce37fe1aa4455afc5f16f4..c18c81539817cfb4a9a47c84b90f11bc9e29dc82 100644 --- a/entity/Product_entity/Product_entity.aod +++ b/entity/Product_entity/Product_entity.aod @@ -242,6 +242,7 @@ <entityConsumer> <name>MainDocuments</name> <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Product_entity/entityfields/maindocuments/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Document_entity</entityName> diff --git a/entity/Product_entity/entityfields/maindocuments/stateProcess.js b/entity/Product_entity/entityfields/maindocuments/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..72587c51cbebb63a1d3ec977426cc04e3ede0ecf --- /dev/null +++ b/entity/Product_entity/entityfields/maindocuments/stateProcess.js @@ -0,0 +1,14 @@ +import("system.result"); +import("system.db"); +import("system.vars"); +import("system.neon"); +import("Sql_lib"); + +if (0 == db.getBinaryCount("PRODUCT", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT")) +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} +else +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/entity/SalesprojectAnalyses_entity/recordcontainers/jdito/contentProcess.js b/entity/SalesprojectAnalyses_entity/recordcontainers/jdito/contentProcess.js index e65797a6adb0da41ded6a02f5b1ba74a45d3c7d3..443d47dfa6d3813e180e916b9c2d0328f6a4bd9d 100644 --- a/entity/SalesprojectAnalyses_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/SalesprojectAnalyses_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.vars"); import("system.datetime"); import("system.db"); @@ -19,8 +20,7 @@ for(i = 0; i < phases.length; i++){ phases[i][1] = "Offer"; } } - - + result.object(phases); diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index a7c8206d47e7428825c0f1c5f304530f20e5f385..122da5bbb42e5b8908159ce9b647750d9b1038dc 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -348,6 +348,7 @@ <entityConsumer> <name>MainDocuments</name> <fieldType>DEPENDENCY_OUT</fieldType> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js</stateProcess> <dependency> <name>dependency</name> <entityName>Document_entity</entityName> diff --git a/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js b/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..08207c042cac0a6a659b044a2572c39de7550047 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js @@ -0,0 +1,14 @@ +import("system.result"); +import("system.db"); +import("system.vars"); +import("system.neon"); +import("Sql_lib"); + +if (0 == db.getBinaryCount("SALESPROJECT", "DOCUMENT", vars.get("$sys.uid"), SqlUtils.getSystemAlias(), "MAINDOCUMENT")) +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} +else +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod index 1f5d2049a1880f6c66d2ab5d0e68b620ca0c5e52..6b5d3f17e9deff309d1a461e653e609bebf73499 100644 --- a/entity/Task_entity/Task_entity.aod +++ b/entity/Task_entity/Task_entity.aod @@ -388,7 +388,6 @@ <name>SUBJECT_DETAILS</name> <title>subject</title> <linkedContext>Task</linkedContext> - <mandatory v="true" /> </entityField> </entityFields> <recordContainers> diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index c3ee7d877f3d269da36b01d0933bf562b9707051..13793063795110edb8f57b6d918f5ea573608779 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -2865,6 +2865,36 @@ <entry> <key>This cannot be undone!</key> </entry> + <entry> + <key>Overdue tasks</key> + </entry> + <entry> + <key>Open tasks</key> + </entry> + <entry> + <key>[%0]the tableName is not a string after interpreting</key> + </entry> + <entry> + <key>[%0]%1 has to be a string or array but it is %2</key> + </entry> + <entry> + <key>[%0]has now an incorrect length; estimated 2 elements but got %1</key> + </entry> + <entry> + <key>[%0]the columnName is not a string after interpreting</key> + </entry> + <entry> + <key>[%0]%1 is an object but seems not to be a valid array or array-like</key> + </entry> + <entry> + <key>Responsible</key> + </entry> + <entry> + <key>New tasks</key> + </entry> + <entry> + <key>Imminent appointments for today</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index c50f65492bcce2295d8bed1c178044b9d7188142..d3dbd1c345bcb93dd0892cad11e35ad25e293052 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -18,6 +18,10 @@ <key>Company</key> <value>Firma</value> </entry> + <entry> + <key>Open tasks</key> + <value>Offene Aufgaben</value> + </entry> <entry> <key>Picture</key> <value>Bild</value> @@ -26,6 +30,10 @@ <key>Office staff</key> <value>Innendienst</value> </entry> + <entry> + <key>Overdue tasks</key> + <value>Überfällige Aufgaben</value> + </entry> <entry> <key>Confirm password</key> <value>Passwort prüfen</value> @@ -34,6 +42,10 @@ <key>Human Resources</key> <value>Personal</value> </entry> + <entry> + <key>Imminent appointments for today</key> + <value>Bevorstehende Termine für heute </value> + </entry> <entry> <key>Entrydate (Day)</key> <value>Eingangsdatum (Tag)</value> @@ -82,6 +94,10 @@ <key>${ADDRESS_STATE}</key> <value>Staat</value> </entry> + <entry> + <key>New tasks</key> + <value>Neue Aufgaben</value> + </entry> <entry> <key>New module</key> <value>Neuanlage</value> @@ -3009,6 +3025,7 @@ </entry> <entry> <key>Group</key> + <value>Gruppe</value> </entry> <entry> <key>Combobox</key> @@ -3676,6 +3693,25 @@ <entry> <key>Would you like to clear the forecast and set the state to \"%0\"?</key> </entry> + <entry> + <key>[%0]the tableName is not a string after interpreting</key> + </entry> + <entry> + <key>[%0]%1 has to be a string or array but it is %2</key> + </entry> + <entry> + <key>[%0]has now an incorrect length; estimated 2 elements but got %1</key> + </entry> + <entry> + <key>[%0]the columnName is not a string after interpreting</key> + </entry> + <entry> + <key>[%0]%1 is an object but seems not to be a valid array or array-like</key> + </entry> + <entry> + <key>Responsible</key> + <value>Verantwortlich</value> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index d928e37d3dd103737d20031ddce232595e85c0ad..d5516c9d095f4dc3b196aa75c5a6902f0c9ff5dc 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -2897,6 +2897,36 @@ <entry> <key>This cannot be undone!</key> </entry> + <entry> + <key>Overdue tasks</key> + </entry> + <entry> + <key>Open tasks</key> + </entry> + <entry> + <key>[%0]the tableName is not a string after interpreting</key> + </entry> + <entry> + <key>[%0]%1 has to be a string or array but it is %2</key> + </entry> + <entry> + <key>[%0]has now an incorrect length; estimated 2 elements but got %1</key> + </entry> + <entry> + <key>[%0]the columnName is not a string after interpreting</key> + </entry> + <entry> + <key>[%0]%1 is an object but seems not to be a valid array or array-like</key> + </entry> + <entry> + <key>Responsible</key> + </entry> + <entry> + <key>New tasks</key> + </entry> + <entry> + <key>Imminent appointments for today</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonContext/Analyses/Analyses.aod b/neonContext/Analyses/Analyses.aod new file mode 100644 index 0000000000000000000000000000000000000000..ea8a1ab388a5dfea3efe36fa25c0ddbbe6bab0fb --- /dev/null +++ b/neonContext/Analyses/Analyses.aod @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> + <name>Analyses</name> + <title>Analyses</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>MyDashboardScoreCard_view</filterview> + <entity>Analyses_entity</entity> + <references> + <neonViewReference> + <name>f995b030-7b74-4513-89ca-57c6979ac06f</name> + <view>MyDashboardScoreCard_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/AttributeRelationTree/AttributeRelationTree.aod b/neonContext/AttributeRelationTree/AttributeRelationTree.aod index bcd7bec8f8c74b3791ebdd93a728c950493b2781..be8de92fa69a5d08edd83d856cb8f2dc0516a26c 100644 --- a/neonContext/AttributeRelationTree/AttributeRelationTree.aod +++ b/neonContext/AttributeRelationTree/AttributeRelationTree.aod @@ -1,12 +1,17 @@ -<?xml version="1.0" encoding="UTF-8"?> -<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> - <name>AttributeRelationTree</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <entity>AttributeRelationTree_entity</entity> - <references> - <neonViewReference> - <name>55f89863-72b0-4179-8494-b1e320d79de9</name> - <view>AttributeRelationTree_view</view> - </neonViewReference> - </references> -</neonContext> +<?xml version="1.0" encoding="UTF-8"?> +<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> + <name>AttributeRelationTree</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <editview>AttributeRelationTreeEdit_view</editview> + <entity>AttributeRelationTree_entity</entity> + <references> + <neonViewReference> + <name>55f89863-72b0-4179-8494-b1e320d79de9</name> + <view>AttributeRelationTree_view</view> + </neonViewReference> + <neonViewReference> + <name>591d27d7-e963-4ff0-9d82-2e24b18e6b5c</name> + <view>AttributeRelationTreeEdit_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonView/ActivityEdit_view/ActivityEdit_view.aod b/neonView/ActivityEdit_view/ActivityEdit_view.aod index 5c306e04cb11a4044f1a5aaec99b17a5dd734f44..4a16fe2dd5f1e1ef88a07a1e8230ba5c1b62a17d 100644 --- a/neonView/ActivityEdit_view/ActivityEdit_view.aod +++ b/neonView/ActivityEdit_view/ActivityEdit_view.aod @@ -38,7 +38,7 @@ </entityFieldLink> <entityFieldLink> <name>91514e62-f4f7-4eb7-84c0-8d94adbb3408</name> - <entityField>CREATOR</entityField> + <entityField>RESPONSIBLE</entityField> </entityFieldLink> </fields> </genericViewTemplate> @@ -47,5 +47,10 @@ <entityField>Links</entityField> <view>ActivityLinkMultiEdit_view</view> </neonViewReference> + <neonViewReference> + <name>7fcf9c09-189a-47b7-a171-9975676ed704</name> + <entityField>Attributes</entityField> + <view>AttributeRelationEdit_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/ActivityPreview_view/ActivityPreview_view.aod b/neonView/ActivityPreview_view/ActivityPreview_view.aod index e142cb9bf33ee4d6acce56e5463e8ca7e6f05c67..695059b3a6af398a2ffb8990642ed12832a7cbc2 100644 --- a/neonView/ActivityPreview_view/ActivityPreview_view.aod +++ b/neonView/ActivityPreview_view/ActivityPreview_view.aod @@ -35,7 +35,7 @@ </entityFieldLink> <entityFieldLink> <name>c4569e50-223e-4b99-8253-e8fa72ef45a0</name> - <entityField>CREATOR</entityField> + <entityField>RESPONSIBLE</entityField> </entityFieldLink> </fields> </genericViewTemplate> diff --git a/neonView/AttributeFilter_view/AttributeFilter_view.aod b/neonView/AttributeFilter_view/AttributeFilter_view.aod index 0b65a9ac7b1714029130c254f1f20168b244bbd6..cadb8afc80a55d8af99a17f82f798828a6200a72 100644 --- a/neonView/AttributeFilter_view/AttributeFilter_view.aod +++ b/neonView/AttributeFilter_view/AttributeFilter_view.aod @@ -10,14 +10,27 @@ </groupLayout> </layout> <children> - <treeViewTemplate> - <name>AttributesTreetable</name> + <treeTableViewTemplate> + <name>AttributeTreeTable</name> <parentField>ATTRIBUTE_PARENT_ID</parentField> <favoriteActionGroup1>AttributeActions</favoriteActionGroup1> - <titleField>NAME_WITH_TYPE</titleField> - <descriptionField>USAGELIST</descriptionField> + <showChildrenCount v="false" /> <entityField>#ENTITY</entityField> - </treeViewTemplate> + <columns> + <neonTableColumn> + <name>a776a053-6712-44f9-943f-da26d1ce11ee</name> + <entityField>ATTRIBUTE_NAME</entityField> + </neonTableColumn> + <neonTableColumn> + <name>b975154d-8bac-4182-9030-e3b3d744c642</name> + <entityField>ATTRIBUTE_TYPE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>ad92d325-6cdb-4fa0-a99b-27c937c89936</name> + <entityField>USAGELIST</entityField> + </neonTableColumn> + </columns> + </treeTableViewTemplate> <tableViewTemplate> <name>AttributesTable</name> <entityField>#ENTITY</entityField> diff --git a/neonView/AttributeRelationTreeEdit_view/AttributeRelationTreeEdit_view.aod b/neonView/AttributeRelationTreeEdit_view/AttributeRelationTreeEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..a08a9caf68eae886534365f3357e585d2b79b59a --- /dev/null +++ b/neonView/AttributeRelationTreeEdit_view/AttributeRelationTreeEdit_view.aod @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>AttributeRelationTreeEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <isSmall v="true" /> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericViewTemplate> + <name>Generic</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>e5635cd6-1a95-455a-af89-5baf4259caa0</name> + <entityField>AB_ATTRIBUTE_ID</entityField> + </entityFieldLink> + <entityFieldLink> + <name>abec86c9-3d77-4129-b34b-d30da0526572</name> + <entityField>VALUE</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod b/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod index 47d34ce205514a2df8cb6cb601ec8925ba2ff69d..0dbe7b672e013f65aec5bdb8f094a0b52aa983ae 100644 --- a/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod +++ b/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod @@ -1,18 +1,18 @@ -<?xml version="1.0" encoding="UTF-8"?> -<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> - <name>AttributeRelationTree_view</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <layout> - <boxLayout> - <name>layout</name> - </boxLayout> - </layout> - <children> - <treeViewTemplate> - <name>AttributeRelationTree</name> - <parentField>PARENT_ID</parentField> - <titleField>TITLE</titleField> - <entityField>#ENTITY</entityField> - </treeViewTemplate> - </children> -</neonView> +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>AttributeRelationTree_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <treeViewTemplate> + <name>AttributeRelationTree</name> + <parentField>PARENT_ID</parentField> + <titleField>VALUE</titleField> + <entityField>#ENTITY</entityField> + </treeViewTemplate> + </children> +</neonView> diff --git a/neonView/ContractEdit_view/ContractEdit_view.aod b/neonView/ContractEdit_view/ContractEdit_view.aod index ec6443f7b56cc44a107522a5d858d7a836bc2e87..21e04e53a2be56f8e8c2d0a5a6b3f0b5bdbec3ef 100644 --- a/neonView/ContractEdit_view/ContractEdit_view.aod +++ b/neonView/ContractEdit_view/ContractEdit_view.aod @@ -51,5 +51,10 @@ </entityFieldLink> </fields> </genericViewTemplate> + <neonViewReference> + <name>49eafd04-4d72-4a11-8818-97407e0fe154</name> + <entityField>Attributes</entityField> + <view>AttributeRelationEdit_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/EmployeeEdit_view/EmployeeEdit_view.aod b/neonView/EmployeeEdit_view/EmployeeEdit_view.aod index 71614eff593bccfb770ea91b005d958a6feecad7..8e719f0f4e6da00b873fa069ad2d49791caded82 100644 --- a/neonView/EmployeeEdit_view/EmployeeEdit_view.aod +++ b/neonView/EmployeeEdit_view/EmployeeEdit_view.aod @@ -56,5 +56,10 @@ <entityField>EmployeeRoles</entityField> <view>EmployeeRoleEdit_view</view> </neonViewReference> + <neonViewReference> + <name>07e77840-e140-4ba0-ac09-d8e10e7d88a2</name> + <entityField>Attributes</entityField> + <view>AttributeRelationEdit_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/MyDashboardScoreCard_view/MyDashboardScoreCard_view.aod b/neonView/MyDashboardScoreCard_view/MyDashboardScoreCard_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..3af9cd695738d1d3221860143ba5d17aac3b842f --- /dev/null +++ b/neonView/MyDashboardScoreCard_view/MyDashboardScoreCard_view.aod @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>MyDashboardScoreCard_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <dashletConfigurations> + <neonDashletConfiguration> + <name>Information</name> + <title>To-Do</title> + <fragment>Analyses/full</fragment> + <singleton v="true" /> + <icon>VAADIN:CLIPBOARD_CHECK</icon> + <categories> + <neonDashletCategory> + <name>tasks</name> + <title>Tasks</title> + </neonDashletCategory> + <neonDashletCategory> + <name>calendar</name> + <title>Calendar</title> + </neonDashletCategory> + </categories> + </neonDashletConfiguration> + </dashletConfigurations> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <scoreCardViewTemplate> + <name>Scorecard</name> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>158d3dd5-4de6-470b-b61d-6de1e9907264</name> + <entityField>OVERDUE_TASKS</entityField> + </entityFieldLink> + <entityFieldLink> + <name>5bbd7580-6fdd-4134-b33a-1082f4891c7c</name> + <entityField>NEW_TASKS</entityField> + </entityFieldLink> + <entityFieldLink> + <name>8e420371-4106-4748-85c2-d386a22921d8</name> + <entityField>IMMINENT_APPOINTMENTS</entityField> + </entityFieldLink> + </fields> + </scoreCardViewTemplate> + </children> +</neonView> diff --git a/neonView/ProductEdit_view/ProductEdit_view.aod b/neonView/ProductEdit_view/ProductEdit_view.aod index 687d513b1e6fbfbdf724e4835f2323124f9f0543..04a5f765b82c18a34e08728c52168bdd8f3bdd55 100644 --- a/neonView/ProductEdit_view/ProductEdit_view.aod +++ b/neonView/ProductEdit_view/ProductEdit_view.aod @@ -59,5 +59,10 @@ </entityFieldLink> </fields> </genericViewTemplate> + <neonViewReference> + <name>34659538-e8a5-4f76-9710-a322548885ef</name> + <entityField>Attributes</entityField> + <view>AttributeRelationEdit_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod index d2651987d7b1400048898ae5d5ad86b2f5b670d3..9ea49e77d55ab825acb182efe6aa5d52b72d676b 100644 --- a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod +++ b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod @@ -28,6 +28,11 @@ <name>9dbe03b3-e5d3-4db8-b542-506b13322d4f</name> <entityField>SalesprojectForecasts</entityField> <view>SalesprojectForecastFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>349a82ad-4a83-4718-b37e-b0adf1ddb0b2</name> + <entityField>SalesprojectMilestones</entityField> + <view>SalesprojectMilestoneChart_view</view> </neonViewReference> <neonViewReference> <name>5d7248e8-3f3e-4262-8f13-6d5eff7165c1</name> @@ -59,10 +64,5 @@ <entityField>Documents</entityField> <view>DocumentFilter_view</view> </neonViewReference> - <neonViewReference> - <name>349a82ad-4a83-4718-b37e-b0adf1ddb0b2</name> - <entityField>SalesprojectMilestones</entityField> - <view>SalesprojectMilestoneChart_view</view> - </neonViewReference> </children> </neonView> diff --git a/neonView/TaskFilter_view/TaskFilter_view.aod b/neonView/TaskFilter_view/TaskFilter_view.aod index b075f1542cc2f91349f2aee9d820156dd96184cc..717a502b59d6551ee6dd7b19d0379d8c0e76dfe0 100644 --- a/neonView/TaskFilter_view/TaskFilter_view.aod +++ b/neonView/TaskFilter_view/TaskFilter_view.aod @@ -5,8 +5,8 @@ <filterable v="true" /> <dashletConfigurations> <neonDashletConfiguration> - <name></name> - <title>MyTasks</title> + <name>mytasks</name> + <title>My Tasks</title> <description>Show my tasks</description> <fragment>Task/filter</fragment> <singleton v="true" /> diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod index 35430f5089fee2c2b0e5c87d3278c5f9d34a897c..2e627c2e517e6de8e51a348a72ea341be0d36ca5 100644 --- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod +++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod @@ -2,7 +2,7 @@ <preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.1.0"> <name>_____PREFERENCES_PROJECT</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <projectName>xRM-Basic5</projectName> + <projectName>xRM-Basic2019</projectName> <jditoMaxContentSize v="57671680" /> <calendarCategoriesEvent> <entry> diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js index 4833062c4d4339456153be1f9e59a7978ce05498..77622496e39d17b337328ae1a7c66461aeb10bde 100644 --- a/process/Attribute_lib/process.js +++ b/process/Attribute_lib/process.js @@ -155,6 +155,22 @@ AttributeUtil.hasRelations = function (pAttributeId) ) == "true"; } +/** + * returns the type of an attribute + * + * @param {String} pAttributeId the id of the attribute + * + * @result {String} attribute type + */ +AttributeUtil.getAttributeType = function (pAttributeId) +{ + var attrTypeSelect = "select ATTRIBUTE_TYPE from AB_ATTRIBUTE"; + attrTypeSelect = SqlCondition.begin() + .andPrepare("AB_ATTRIBUTE.AB_ATTRIBUTEID", pAttributeId) + .buildSql(attrTypeSelect); + return db.cell(attrTypeSelect).trim(); +} + /*********************************************************************************************************************/ /** @@ -171,25 +187,39 @@ function AttributeRelationUtils () {} * @param {String} pAttributeId attribute-id * @param {String} pObjectRowId row-id of the dataset * @param {String} [pObjectType=null] object-type + * @param {String} [pGetViewValue=false] if true the values are resolved and formatted * * @return {String|null} the value of the attribute */ -AttributeRelationUtils.getAttribute = function (pAttributeId, pObjectRowId, pObjectType) +AttributeRelationUtils.getAttribute = function (pAttributeId, pObjectRowId, pObjectType, pGetViewValue) { var attrCond = SqlCondition.begin() - .andPrepare("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", pAttributeId) - .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", pObjectRowId); + .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", pObjectRowId) + .andPrepare("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID", pAttributeId); if (pObjectType != null) - attrCond.andPrepare("AB_ATTRIBUTERELATION.OBJECT_TYPE", pAttributeId); + attrCond.andPrepare("AB_ATTRIBUTERELATION.OBJECT_TYPE", pObjectType); + + var defaultFields = [ + "AB_ATTRIBUTE.ATTRIBUTE_TYPE", + "AB_ATTRIBUTE.KEYWORD_CONTAINER", + "COMBOVAL.ATTRIBUTE_NAME" + ]; + var valueFields = AttributeTypeUtil.getAllDatabaseFields(); + var attributeSql = attrCond.buildSql("select " + defaultFields.join(", ") + ", " + valueFields.join(", ") + + " from AB_ATTRIBUTERELATION join AB_ATTRIBUTE on AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID" + + " left join AB_ATTRIBUTE COMBOVAL on " + $AttributeTypes.COMBO.databaseField + " = COMBOVAL.AB_ATTRIBUTEID"); - var attributeSql = attrCond.buildSql("select ATTRIBUTE_TYPE, " + AttributeTypeUtil.getAllDatabaseFields().join(", ") - + " from AB_ATTRIBUTERELATION join AB_ATTRIBUTE on AB_ATTRIBUTE_ID = AB_ATTRIBUTEID"); var attributeValues = db.array(db.ROW, attributeSql); - if (attributeValues.length == 0) + if (!attributeValues.length) return null; - var valueIndex = AttributeTypeUtil.getTypeColumnIndex(attributeValues[0]) + 1; - return attributeValues[valueIndex]; + let value = attributeValues[AttributeTypeUtil.getTypeColumnIndex(attributeValues[0]) + defaultFields.length]; + if (pGetViewValue && attributeValues[1].trim() == $AttributeTypes.COMBO) + value = attributeValues[2]; + else if (pGetViewValue) + value = AttributeTypeUtil.getAttributeViewValue(attributeValues[0].trim(), value, attributeValues[1]); + + return value; } /** @@ -197,43 +227,45 @@ AttributeRelationUtils.getAttribute = function (pAttributeId, pObjectRowId, pObj * * @param {String} pObjectRowId object rowid * @param {String} [pObjectType=null] object-type - * @param {String} [pResolveNames=false] if true the full attribute names are used instead of the ids - * @param {String} [pGetUID=false] include the attributeRelation id + * @param {String} [pUseAttributeIds=false] if true the ids are used instead of the full attribute names + * @param {String} [pUseIdValues=false] if true the values are not resolved or formatted * - * @return {String[][]} two-dimensional array a row is [attributeId|attributeName, value] or if pGetUID is true, [attriuteRelationId, attributeId|attributeName, value] + * @return {String[][]} two-dimensional array a row is [attributeId|attributeName, value] */ -AttributeRelationUtils.getAllAttributes = function (pObjectRowId, pObjectType, pResolveNames, pGetUID) +AttributeRelationUtils.getAllAttributes = function (pObjectRowId, pObjectType, pUseAttributeIds, pUseIdValues) { var attrCond = SqlCondition.begin() .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", pObjectRowId); if (pObjectType != null) attrCond.andPrepare("AB_ATTRIBUTERELATION.OBJECT_TYPE", pObjectType); - var attributeSql = attrCond.buildSql("select AB_ATTRIBUTERELATIONID, AB_ATTRIBUTE_ID, AB_ATTRIBUTE.ATTRIBUTE_TYPE, AB_ATTRIBUTE.KEYWORD_CONTAINER, COMBOVAL.ATTRIBUTE_NAME, " - + AttributeTypeUtil.getAllDatabaseFields().join(", ") + var defaultFields = [ + "AB_ATTRIBUTE_ID", + "AB_ATTRIBUTE.ATTRIBUTE_TYPE", + "AB_ATTRIBUTE.KEYWORD_CONTAINER", + "COMBOVAL.ATTRIBUTE_NAME" + ]; + var valueFields = AttributeTypeUtil.getAllDatabaseFields(); + var attributeSql = attrCond.buildSql("select " + defaultFields.join(", ") + ", " + valueFields.join(", ") + " from AB_ATTRIBUTERELATION join AB_ATTRIBUTE on AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID" + " left join AB_ATTRIBUTE COMBOVAL on " + $AttributeTypes.COMBO.databaseField + " = COMBOVAL.AB_ATTRIBUTEID"); var attributeNameMap = {}; var attributeValues = db.table(attributeSql).map(function (row) { - let attribute = row[1]; - if (pResolveNames) + let attribute = row[0]; + if (!pUseAttributeIds) { if (!(attribute in attributeNameMap)) attributeNameMap[attribute] = AttributeUtil.getFullAttributeName(attribute); attribute = attributeNameMap[attribute]; } - let value; - if (row[2].trim() == $AttributeTypes.COMBO) - value = row[4]; - else - { - value = row[AttributeTypeUtil.getTypeColumnIndex(row[2]) + 5]; - value = AttributeTypeUtil.getAttributeViewValue(row[2].trim(), value, row[3]); - } - if (pGetUID) - return [row[0], attribute, value]; + let value = row[AttributeTypeUtil.getTypeColumnIndex(row[1]) + defaultFields.length]; + if (!pUseIdValues && row[1].trim() == $AttributeTypes.COMBO) + value = row[3]; + else if (!pUseIdValues) + value = AttributeTypeUtil.getAttributeViewValue(row[1].trim(), value, row[2]); + return [attribute, value]; }); @@ -255,81 +287,6 @@ AttributeRelationUtils.setAttribute = function () /*********************************************************************************************************************/ -/** - * This is used in the AttributeRelation enitiy to make the work with attributes there - * easier. You probaly won't need this for anything else. - * - * @param {String} pAttrId the id of the attribute - * - * @class - */ -function AttributeHandler (pAttrId) //TODO: find out if this class is necessary, maybe there is a more elegant solution, this could also be static -{ - this.attributeId = pAttrId; - this._attributeType = null; -} - -/** - * Returns a new AttributeHandler for the given Attribute - */ -AttributeHandler.begin = function (pAttrId) -{ - return new AttributeHandler(pAttrId); -} - -/** - * gets the type of the attribute by the attributeId, after the first call the value - * is stored so that the sql selection is done only once - * - * @return {String} attribute type - */ -AttributeHandler.prototype.getAttributeType = function () //TODO: maybe the type should be an own field in the entity instead of getting the type from the attribute id -{ - if (this._attributeType == null && this.attributeId != null) - { - var attrTypeSelect = "select ATTRIBUTE_TYPE from AB_ATTRIBUTE"; - attrTypeSelect = SqlCondition.begin() - .andPrepare("AB_ATTRIBUTE.AB_ATTRIBUTEID", this.attributeId) - .buildSql(attrTypeSelect); - this._attributeType = db.cell(attrTypeSelect).trim(); - } - return this._attributeType; -} - -/** - * returns the field that belongs to the type of the attribute - * - * @return {String} attribute field - */ -AttributeHandler.prototype.getAttributeField = function () -{ - return AttributeTypeUtil.getEntityField(this.getAttributeType()); -} - -/** - * returns the content type that belongs to the type of the attribute - * - * @return {String} attribute field - */ -AttributeHandler.prototype.getAttributeContentType = function () -{ - return AttributeTypeUtil.getContentType(this.getAttributeType()); -} - -/** - * Sets the value to the AttributeField and also return s the value again. - * - * @param pValue the value - * - * @return {Any} the value - */ -AttributeHandler.prototype.setAttributeValue = function (pValue) -{ - var field = "$field." + this.getAttributeField(); - if (field != null && vars.exists(field)) - neon.setFieldValue(field, pValue) - return pValue; -} /** * Object for the enumeration and management of all attribute types. @@ -341,7 +298,6 @@ AttributeHandler.prototype.setAttributeValue = function (pValue) * keyword = the key of the corresponding keyword * contentType = the value that is returned in the contentType process for the attribute * databaseField = the database field that holds values of attributes with the type - * entityField = the field in the AttributeRelation enity that holds the value of the attribute for that type * * The display name is controlled by the keyword 'AttributeType' */ @@ -351,15 +307,13 @@ $AttributeTypes.TEXT = { toString : function () {return this.keyword}, keyword : "TEXT", contentType : "TEXT", - databaseField : "CHAR_VALUE", - entityField : "CHAR_VALUE" + databaseField : "CHAR_VALUE" }; $AttributeTypes.DATE = { toString : function () {return this.keyword}, keyword : "DATE", contentType : "DATE", - databaseField : "DATE_VALUE", - entityField : "DATE_VALUE", + databaseField : "DATE_VALUE", getViewValue : function (pValue) { return datetime.toDate(pValue, translate.text("dd.MM.yyyy")); @@ -369,15 +323,13 @@ $AttributeTypes.NUMBER = { toString : function () {return this.keyword}, keyword : "NUMBER", contentType : "NUMBER", - databaseField : "NUMBER_VALUE", - entityField : "NUMBER_VALUE" + databaseField : "NUMBER_VALUE" }; $AttributeTypes.BOOLEAN = { toString : function () {return this.keyword}, keyword : "BOOLEAN", contentType : "BOOLEAN", - databaseField : "INT_VALUE", - entityField : "INT_VALUE", + databaseField : "INT_VALUE", getViewValue : function (pValue) { return pValue == "1" ? translate.text("Yes") : translate.text("No"); @@ -387,29 +339,25 @@ $AttributeTypes.COMBO = { toString : function () {return this.keyword}, keyword : "COMBO", contentType : "UNKNOWN", - databaseField : "ID_VALUE", - entityField : "ID_VALUE" + databaseField : "ID_VALUE" }; $AttributeTypes.COMBOVALUE = { toString : function () {return this.keyword}, keyword : "COMBOVALUE", contentType : null, - databaseField : null, - entityField : null + databaseField : null }; $AttributeTypes.GROUP = { toString : function () {return this.keyword}, keyword : "GROUP", contentType : null, - databaseField : null, - entityField : null + databaseField : null }; $AttributeTypes.KEYWORD = { toString : function () {return this.keyword}, keyword : "KEYWORD", contentType : "UNKNOWN", databaseField : "ID_VALUE", - entityField : "ID_VALUE", getViewValue : function (pValue, pKeyword) { return KeywordUtils.getViewValue(pKeyword, pValue); diff --git a/process/Calendar_lib/process.js b/process/Calendar_lib/process.js index 232cf4c3be3db1c4c5a3f0dc30769600b30cd180..5095c0e83d4d28cbb9be1dda09e274e143152668 100644 --- a/process/Calendar_lib/process.js +++ b/process/Calendar_lib/process.js @@ -748,6 +748,10 @@ function _addEntryCondition(pConditions, pIndex, pValues) if (pValues[params[i]] != undefined) pConditions[params[i] + "_" + pIndex] = pValues[params[i]]; } +CalendarUtil.addEntryCondition = function(pConditions, pIndex, pValues) +{ + _addEntryCondition(pConditions, pIndex, pValues); +} /* * Liefert Events zu bestimmten Usern/Daten in einem Array. * diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js index 881dbcdf80a726edd9f13f4d1ccd402719345ef1..ee1242dde2f44628e793fdf78919a49c5a1b9e69 100644 --- a/process/Context_lib/process.js +++ b/process/Context_lib/process.js @@ -42,30 +42,34 @@ ContextUtils.getContextName = function(pContextId) /** * * @param {Boolean} [pFilter=false] filter only for contexts which have a mapping in ContextUtils.getSelectMap - * @param {String[]} [pExcludeContexts] contextIds that shall not be included (so this is a additional filter to the pFiler param) + * @param {String[]} [pExclusiveContexts] contextIds that shall not be included (so this is a additional filter to the pFilter param) + * @param {Boolean} [pUseExclusives=false] decides whether the items in pExclusiveContexts are excluded (false) or + * everything that is not in pExclusiveContexts is excluded (true) * * @return {String[][]} the contexts [[contextId, contextName, contextTitle], [... ], ...] */ -ContextUtils.getContexts = function(pFilter, pExcludeContexts) +ContextUtils.getContexts = function(pFilter, pExclusiveContexts, pUseExclusives) { if (pFilter == undefined) pFilter = false; + if (pUseExclusives == undefined) + pUseExclusives = false; var contexts = project.getDataModels(project.DATAMODEL_KIND_CONTEXT); if (pFilter) { contexts = contexts.filter(function(pContext) { - if (pExcludeContexts && pExcludeContexts.indexOf(pContext[0]) > -1) + if (pExclusiveContexts && pExclusiveContexts.indexOf(pContext[0]) > -1 != pUseExclusives) return false; // filter only contexts which have defined mappings in Context_lib return ContextUtils.getSelectMap ()[pContext[0]] != undefined; }); } - else if (pExcludeContexts) + else if (pExclusiveContexts) { contexts = contexts.filter(function(pContext) { - if (pExcludeContexts && pExcludeContexts.indexOf(pContext[0]) > -1) + if (pExclusiveContexts && pExclusiveContexts.indexOf(pContext[0]) > -1 != pUseExclusives) return false; return true; }); @@ -357,7 +361,7 @@ ContextUtils.getNameSubselectSql = function(pContextIdDbField, pRowIdDbField) var selectMap = ContextUtils.getSelectMap () for (let contextId in selectMap) { - select += "when '" + contextId + "' then (select " + selectMap[contextId].titleExpression + " from " + selectMap[contextId].getFullFromClause() + (pRowIdDbField ? " where " + selectMap[pContextId].getFullIdField() + " = " + pRowIdDbField : " ") + ") "; + select += "when '" + contextId + "' then (select " + selectMap[contextId].titleExpression + " from " + selectMap[contextId].getFullFromClause() + (pRowIdDbField ? " where " + selectMap[contextId].getFullIdField() + " = " + pRowIdDbField : " ") + ") "; } select += "else 'Not defined in ContextUtils.getNameSql()!'"; diff --git a/process/Employee_lib/process.js b/process/Employee_lib/process.js index 17ca0efa8f9fb5878a1b5ff4599310c11d48f7b9..1394a104183042a9a94d00947089892e44e2fb30 100644 --- a/process/Employee_lib/process.js +++ b/process/Employee_lib/process.js @@ -100,7 +100,7 @@ EmployeeUtils.hasRelations = function (pContactId) //sql queries with selects on tables where an employee can be used var queries = [ SqlCondition.begin() - .andPrepare("ACTIVITY.CREATOR", pContactId) + .andPrepare("ACTIVITY.RESPONSIBLE", pContactId) .buildSql("select 1 from ACTIVITY"), SqlCondition.begin() .andPrepare("TASK.REQUESTOR_CONTACT_ID", pContactId) diff --git a/process/JditoFilter_lib/process.js b/process/JditoFilter_lib/process.js index 47338a2ea2b09bb468ef588daa1784a150f5fad0..4f27dfaec8b3cfe738feae91f9e1cea90f6b8320 100644 --- a/process/JditoFilter_lib/process.js +++ b/process/JditoFilter_lib/process.js @@ -112,6 +112,23 @@ JditoFilterUtils.filterRecords = function (pColumns, pRecords, pFilter) }, filter); } +/** + * builds an sql condition from the given filter + * + * @param {String|Object} pFilter the filter as JSON + * @param {String} pTable the database table + * @param {Object} pColumnMap custom mapping for the fields to the DB columns, this is necessary + * if the fields are from different tables + * + * @example + * if (vars.exists("$local.filter") && vars.get("$local.filter")) + * { + * var filter = vars.get("$local.filter"); + * condition.andSqlCondition((JditoFilterUtils.getSqlCondition(filter, "AB_ATTRIBUTE"))); + * } + * + * @return {SqlCondition} the SqlCondition object + */ JditoFilterUtils.getSqlCondition = function (pFilter, pTable, pColumnMap) { var condition = new SqlCondition(); diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js index 971a45c6306a22c4b6508ffbe6a0fd8cfc834aa3..a74c939dcfbcd1555009d27ff9f07618d548323f 100644 --- a/process/Keyword_lib/process.js +++ b/process/Keyword_lib/process.js @@ -257,6 +257,17 @@ function KeywordAttribute(pContainerName, pAttributeName) this.dbField = this.type.trim(); } +KeywordAttribute.prototype.getValue = function(pKeyId) +{ + var sql = SqlCondition.begin() + .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", this.container) + .andPrepare("AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ATTRIBUTE_ID", this.id) + .andPrepare("AB_KEYWORD_ENTRY.KEYID", pKeyId) + .buildSql("select " + this.dbField + " from AB_KEYWORD_ENTRY join AB_KEYWORD_ATTRIBUTERELATION on AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID = AB_KEYWORD_ATTRIBUTERELATION.AB_KEYWORD_ENTRY_ID"); + + return db.cell(sql); +} + /** * provides methods for interactions with the sepcial-keywords "LANGUAGE" * diff --git a/process/Organisation_lib/process.js b/process/Organisation_lib/process.js index 7f7bba96f84861008454d5cd16c1b4243afe2177..6072424e6228442074a63db68852cf478a1ecfe0 100644 --- a/process/Organisation_lib/process.js +++ b/process/Organisation_lib/process.js @@ -121,7 +121,7 @@ OrgUtils.openOrgReport = function(pOrgId) }); histData = ReportData.begin(["ENTRYDATE", "MEDIUM", "LOGIN", "INFO"]).add(histData); - var attr = AttributeRelationUtils.getAllAttributes(pOrgId, null, true) + var attr = AttributeRelationUtils.getAllAttributes(pOrgId) .map(function (row) {return row.join(": ")}) .join("\n");