diff --git a/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/alter_bulkmailrecipient_drop_problem.xml b/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/alter_bulkmailrecipient_drop_problem.xml new file mode 100644 index 0000000000000000000000000000000000000000..025b383dbb9bb2dd9562a5ed8ab0b391b66a0d37 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/alter_bulkmailrecipient_drop_problem.xml @@ -0,0 +1,8 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="m.groppe" id="2b6407d3-ca7c-4215-913a-1c3f216e26ff"> + <dropColumn tableName="BULKMAILRECIPIENT" columnName="PROBLEM"/> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/changelog.xml b/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..f29e1064b9dc0389d7784fc9af3bbd218e07798c --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/changelog.xml @@ -0,0 +1,8 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="delete_bulkmailproblem_keyword.xml"/> + <include relativeToChangelogFile="true" file="insert_bulkmail_failed_status.xml"/> + <include relativeToChangelogFile="true" file="alter_bulkmailrecipient_drop_problem.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/delete_bulkmailproblem_keyword.xml b/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/delete_bulkmailproblem_keyword.xml new file mode 100644 index 0000000000000000000000000000000000000000..27929bb3e45cc1b3e3f77f41474a81dad55ba780 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/delete_bulkmailproblem_keyword.xml @@ -0,0 +1,25 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="m.groppe" id="85f8e0b2-57a7-427e-8c88-85ce0ea015df"> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="9f11c52f-4c79-4027-877a-0f6eb828fa22" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="a18e7a37-c5f6-4f7b-8db6-3018dedbd43f" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_CATEGORY"> + <where>AB_KEYWORD_CATEGORYID = ?</where> + <whereParams> + <param value="e685dcfe-cbf9-4a3f-b45f-3f449779a48f" /> + </whereParams> + </delete> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/insert_bulkmail_failed_status.xml b/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/insert_bulkmail_failed_status.xml new file mode 100644 index 0000000000000000000000000000000000000000..63b07b792d09e9b5b0a60eb3b692bd213e4dcf4f --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/Bulkmail/insert_bulkmail_failed_status.xml @@ -0,0 +1,16 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="m.groppe" id="19c6a8a0-fe0a-4139-ad62-d99a26d95c48"> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="c40e1342-ab42-46fc-a146-55dc7420b1c2"/> + <column name="KEYID" value="BULKMAILFAILED"/> + <column name="TITLE" value="Failed"/> + <column name="CONTAINER" value="BulkMailStatus"/> + <column name="SORTING" valueNumeric="6"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="AB_KEYWORD_CATEGORY_ID" value="76fc02b9-a1b6-4c76-bdd5-a52d0e1ef286"/> + </insert> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/add_KnowledgeType.xml b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/add_KnowledgeType.xml new file mode 100644 index 0000000000000000000000000000000000000000..5d7e247cd11f99383b4b13482b08ec717e37ea9e --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/add_KnowledgeType.xml @@ -0,0 +1,15 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="v.broens" id="b2f597ae-19fc-4391-a111-fd1308377a5d"> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="SOLUTION"/> + <column name="KEYID" value="SOLUTION"/> + <column name="TITLE" value="solution"/> + <column name="CONTAINER" value="KnowledgeType"/> + <column name="SORTING" valueNumeric="3"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + <column name="AB_KEYWORD_CATEGORY_ID" value="6a4a5250-6231-4bf7-8c16-bb5994c4e2d0"/> + </insert> + </changeSet> +</databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/alter_KnowledgeManagement.xml b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/alter_KnowledgeManagement.xml new file mode 100644 index 0000000000000000000000000000000000000000..adc0584f7c9a79ad80df56760a5e53a24676e322 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/alter_KnowledgeManagement.xml @@ -0,0 +1,18 @@ +<?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="V.Broens" id="39c0f2fd-4bc8-4c10-a66a-0ac87d270e54"> + <addColumn tableName="KNOWLEDGEMANAGEMENT"> + <column name="USEINALLTICKETCATEGORIES" type="TINYINT" defaultValueNumeric="0"> + <constraints nullable="false"/> + </column> + <column name="USEINALLINBOXES" type="TINYINT" defaultValueNumeric="0"> + <constraints nullable="false"/> + </column> + <column name="NUMBEROFVIEWS" type="INT" defaultValueNumeric="0"> + <constraints nullable="false"/> + </column> + <column name="KNOWLEDGEMANAGEMENTCATEGORY_ID" type="CHAR(36)"/> + <column name="SUMMARY" type="NVARCHAR(255)"/> + </addColumn> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/changelog.xml b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..44670bc349037a350068cedf60ce7b7208cd461c --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/changelog.xml @@ -0,0 +1,10 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="alter_KnowledgeManagement.xml"/> + <include relativeToChangelogFile="true" file="create_KnowledgeManagementTicketCategory.xml"/> + <include relativeToChangelogFile="true" file="create_KnowledgeManagementInboxes.xml"/> + <include relativeToChangelogFile="true" file="add_KnowledgeType.xml"/> + <include relativeToChangelogFile="true" file="create_KnowledgeManagementCategory.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementCategory.xml b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementCategory.xml new file mode 100644 index 0000000000000000000000000000000000000000..04bfa8ff62aa81cea6ddaf9546e3b3f62b93af5d --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementCategory.xml @@ -0,0 +1,22 @@ +<?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="V.Broens" id="33dfd54f-e8ba-43d0-bcac-4ff6bac8a8a4"> + <createTable tableName="KNOWLEDGEMANAGEMENTCATEGORY"> + <column name="KNOWLEDGEMANAGEMENTCATEGORYID" type="CHAR(36)"> + <constraints primaryKey="true" primaryKeyName="PK_KNOWLEDGEMANAGEMENT_CATEGORYID"/> + </column> + <column name="NAME" type="NVARCHAR(50))"/> + <column name="USER_NEW" type="NVARCHAR(50)"> + <constraints nullable="false"/> + </column> + <column name="DATE_NEW" type="DATETIME"> + <constraints nullable="false"/> + </column> + <column name="USER_EDIT" type="NVARCHAR(50)" /> + <column name="DATE_EDIT" type="DATETIME" /> + <column name="ICON" type="NCLOB" /> + <column name="ORDERNO" type="SMALLINT" /> + <column name="SUMMARY" type="NVARCHAR(255)"/> + </createTable> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementInboxes.xml b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementInboxes.xml new file mode 100644 index 0000000000000000000000000000000000000000..70976f8a4f2533c363cc8d33b7bbb250f167de9c --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementInboxes.xml @@ -0,0 +1,20 @@ +<?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="V.Broens" id="b72f5652-d0b2-47df-bb35-1256925f29e1"> + <createTable tableName="KNOWLEDGEMANAGEMENTINBOX"> + <column name="KNOWLEDGEMANAGEMENTINBOXID" type="CHAR(36)"> + <constraints primaryKey="true" primaryKeyName="PK_KNOWLEDGEMANAGEMENT_TICKETCATEGORYID"/> + </column> + <column name="KNOWLEDGEMANAGEMENT_ID" type="CHAR(36)"/> + <column name="INBOX_ID" type="CHAR(36)"/> + <column name="USER_NEW" type="NVARCHAR(50)"> + <constraints nullable="false"/> + </column> + <column name="DATE_NEW" type="DATETIME"> + <constraints nullable="false"/> + </column> + <column name="USER_EDIT" type="NVARCHAR(50)" /> + <column name="DATE_EDIT" type="DATETIME" /> + </createTable> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementTicketCategory.xml b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementTicketCategory.xml new file mode 100644 index 0000000000000000000000000000000000000000..0da3462d7c3bd69da18ce758b76651f86612b133 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/KnowledgeManagement/create_KnowledgeManagementTicketCategory.xml @@ -0,0 +1,20 @@ +<?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="V.Broens" id="63f2499b-68b6-457e-bbbb-c156f43d23ff"> + <createTable tableName="KNOWLEDGEMANAGEMENTTICKETCATEGORY"> + <column name="KNOWLEDGEMANAGEMENTTICKETCATEGORYID" type="CHAR(36)"> + <constraints primaryKey="true" primaryKeyName="PK_KNOWLEDGEMANAGEMENT_TICKETCATEGORYID"/> + </column> + <column name="KNOWLEDGEMANAGEMENT_ID" type="CHAR(36)"/> + <column name="CLASSIFICATION" type="VARCHAR(36)"/> + <column name="USER_NEW" type="NVARCHAR(50)"> + <constraints nullable="false"/> + </column> + <column name="DATE_NEW" type="DATETIME"> + <constraints nullable="false"/> + </column> + <column name="USER_EDIT" type="NVARCHAR(50)" /> + <column name="DATE_EDIT" type="DATETIME" /> + </createTable> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/LikeButton/changelog.xml b/.liquibase/Data_alias/basic/2021.2.3/LikeButton/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..47bbb8d41bc389d8ac8d7858b52859efbdfc16f6 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/LikeButton/changelog.xml @@ -0,0 +1,6 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="create_LikeButton.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.3/LikeButton/create_LikeButton.xml b/.liquibase/Data_alias/basic/2021.2.3/LikeButton/create_LikeButton.xml new file mode 100644 index 0000000000000000000000000000000000000000..8642f994f03e4f6e72b1a83fe997adcee9e45b70 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/LikeButton/create_LikeButton.xml @@ -0,0 +1,15 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="v.broens" id="56e131ee-87cb-41e2-996b-8028a94684a3"> + <createTable tableName="LIKEBUTTON"> + <column name="LIKEBUTTONID" type="CHAR(36)"> + <constraints primaryKey = "true" nullable = "false"/> + </column> + <column name="CONTACT_ID" type="CHAR(36))"/> + <column name="OBJECT_ROWID" type="CHAR(36)"/> + <column name="OBJECT_TYPE" type="NVARCHAR(63)"/> + </createTable> + </changeSet> +</databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2021.2.3/changelog.xml b/.liquibase/Data_alias/basic/2021.2.3/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..0b1cca496ec06d72313be4791d52593e97b65029 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.3/changelog.xml @@ -0,0 +1,8 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <include relativeToChangelogFile="true" file="KnowledgeManagement/changelog.xml"/> + <include relativeToChangelogFile="true" file="LikeButton/changelog.xml"/> + <include relativeToChangelogFile="true" file="Bulkmail/changelog.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/changelog.xml b/.liquibase/Data_alias/changelog.xml index 016d430cf95592e23f9d9fb70a64d13fa2a8304a..d1fdd2655aee0087ea08f4742d0706072dc533dc 100644 --- a/.liquibase/Data_alias/changelog.xml +++ b/.liquibase/Data_alias/changelog.xml @@ -30,7 +30,8 @@ <include relativeToChangelogFile="true" file="basic/2021.2.0/changelog.xml"/> <include relativeToChangelogFile="true" file="basic/2021.2.1/changelog.xml"/> <include relativeToChangelogFile="true" file="basic/2021.2.2/changelog.xml"/> + <include relativeToChangelogFile="true" file="basic/2021.2.3/changelog.xml"/> <include relativeToChangelogFile="true" file="basic/workflows/changelog.xml" context="workflow"/> <include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/> -</databaseChangeLog> \ No newline at end of file +</databaseChangeLog> diff --git a/.liquibase/_____SYSTEMALIAS/basic/mosaico/insert_mosaicoWebserviceUser.xml b/.liquibase/_____SYSTEMALIAS/basic/mosaico/insert_mosaicoWebserviceUser.xml new file mode 100644 index 0000000000000000000000000000000000000000..c1ededd71cb19586780632907e0027a5a833ff5b --- /dev/null +++ b/.liquibase/_____SYSTEMALIAS/basic/mosaico/insert_mosaicoWebserviceUser.xml @@ -0,0 +1,77 @@ +<?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="m.groppe" id="bc1352c8-615e-4e97-a23f-9522271ebb88"> + <insert tableName="ASYS_USERS"> + <column name="GROUPID" value="BASIC"/> + <column name="NAME" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="DATE_EDIT" valueDate="2021-11-24T16:39:01"/> + <column name="ID" value="6352844d-efc7-4873-b233-a9f38d47f7a9"/> + <column name="PROPVAL" value="1637768341797"/> + <column name="PROPKEY" value="lastModified"/> + <column name="DATE_NEW" valueDate="2021-11-24T16:34:49"/> + </insert> + <insert tableName="ASYS_USERS"> + <column name="GROUPID" value="BASIC"/> + <column name="NAME" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="DATE_EDIT" valueDate="2021-11-24T16:34:49"/> + <column name="ID" value="a86f8d9c-462d-4481-81e0-c69a9d386525"/> + <column name="PROPVAL" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="PROPKEY" value="name"/> + <column name="DATE_NEW" valueDate="2021-11-24T16:34:49"/> + </insert> + <insert tableName="ASYS_USERS"> + <column name="GROUPID" value="BASIC"/> + <column name="NAME" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="DATE_EDIT" valueDate="2021-11-24T16:34:49"/> + <column name="ID" value="30a55877-3cf1-4762-b9b6-7cc58508aaa5"/> + <column name="PROPVAL" value="mosaicoWebservice"/> + <column name="PROPKEY" value="title"/> + <column name="DATE_NEW" valueDate="2021-11-24T16:34:49"/> + </insert> + <insert tableName="ASYS_USERS"> + <column name="GROUPID" value="BASIC"/> + <column name="NAME" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="DATE_EDIT" valueDate="2021-11-24T16:34:49"/> + <column name="ID" value="23409ff7-f234-4b73-8fb0-65a88aeeb8cf"/> + <column name="PROPVAL" value="mosaico@domain.local"/> + <column name="PROPKEY" value="email"/> + <column name="DATE_NEW" valueDate="2021-11-24T16:34:49"/> + </insert> + <insert tableName="ASYS_USERS"> + <column name="GROUPID" value="ROLE"/> + <column name="NAME" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="DATE_EDIT" valueDate="2021-11-24T16:34:49"/> + <column name="ID" value="e78e2b78-1e3b-47cb-a6ef-e361642e2e85"/> + <column name="PROPVAL" value="INTERNAL_WEBSERVICE"/> + <column name="PROPKEY" value="roleNames"/> + <column name="DATE_NEW" valueDate="2021-11-24T16:34:49"/> + </insert> + <insert tableName="ASYS_USERS"> + <column name="GROUPID" value="BASIC"/> + <column name="NAME" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="DATE_EDIT" valueDate="2021-11-24T16:34:49"/> + <column name="ID" value="bdf76bcc-6a34-4d3a-93f9-cd4f98804d1a"/> + <column name="PROPVAL" value="mosaico@domain.local"/> + <column name="PROPKEY" value="calendarID"/> + <column name="DATE_NEW" valueDate="2021-11-24T16:34:49"/> + </insert> + <insert tableName="ASYS_USERS"> + <column name="GROUPID" value="PASSWORD"/> + <column name="NAME" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="DATE_EDIT" valueDate="2021-11-24T16:37:03"/> + <column name="ID" value="d53e9db4-f3a1-43c6-8d38-4d8c5b9b3473"/> + <column name="PROPVAL" value="SHA256S:249D7F44D7D245C7266E62C21C72F1565F2A1C2B076CA821B8EAC4EFB661B4D1:88F3122AD175CCDFDB591B2F4002DF57DF519DA910655DE73D9DFEDDFC85D800"/> + <column name="PROPKEY" value="password"/> + <column name="DATE_NEW" valueDate="2021-11-24T16:37:03"/> + </insert> + <insert tableName="ASYS_USERS"> + <column name="GROUPID" value="PASSWORD"/> + <column name="NAME" value="_____USER_3e626d92-1304-4d8c-acd4-8fdc051ffa5b"/> + <column name="DATE_EDIT" valueDate="2021-11-24T16:37:03"/> + <column name="ID" value="1e7424e2-7b3c-49d1-8f57-d896bc247b0f"/> + <column name="PROPVAL" value="1637768223896"/> + <column name="PROPKEY" value="passwordChanged"/> + <column name="DATE_NEW" valueDate="2021-11-24T16:37:03"/> + </insert> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/_____SYSTEMALIAS/changelog.xml b/.liquibase/_____SYSTEMALIAS/changelog.xml index 40897d5582f04861c07ae8d2ca69453d47912712..a18e97913674c3c03655a7c7ae44b5fc831c19d4 100644 --- a/.liquibase/_____SYSTEMALIAS/changelog.xml +++ b/.liquibase/_____SYSTEMALIAS/changelog.xml @@ -2,6 +2,7 @@ <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"> <include relativeToChangelogFile="true" file="basic/init/init.xml"/> <include relativeToChangelogFile="true" file="basic/mailbridge/mailbridgeUser.xml"/> + <include relativeToChangelogFile="true" file="basic/mosaico/insert_mosaicoWebserviceUser"/> <include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/> diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index e0fe2ce5865b77fc70df40d6a685472d792643d2..ba1fab51c67bced627727bc281adc7ce921dd37e 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -2305,6 +2305,20 @@ <title>Product price Id</title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>CURRENCYRATE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -3193,6 +3207,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>CURRENCYRATE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -3545,8 +3573,8 @@ <name>SHOWPRICE</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="-7" /> - <size v="3" /> + <columnType v="5" /> + <size v="5" /> <scale v="0" /> <notNull v="false" /> <isUnique v="false" /> @@ -3899,6 +3927,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>CURRENCYRATE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -5027,6 +5069,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>CURRENCYRATE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -10356,9 +10412,9 @@ <name>VOLUME</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="4" /> - <size v="10" /> - <scale v="0" /> + <columnType v="2" /> + <size v="14" /> + <scale v="2" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> @@ -11241,20 +11297,6 @@ <title></title> <description></description> </entityFieldDb> - <entityFieldDb> - <name>PROBLEM</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <entityFieldDb> <name>EMAIL_ADDRESS</name> <dbName></dbName> @@ -17086,6 +17128,76 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>SUMMARY</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USEINALLTICKETCATEGORIES</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="-7" /> + <size v="3" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USEINALLINBOXES</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="-7" /> + <size v="3" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>NUMBEROFVIEWS</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>KNOWLEDGEMANAGEMENTCATEGORY_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -22540,6 +22652,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>CURRENCYRATE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -25506,11 +25632,11 @@ </entityFields> </entityDb> <entityDb> - <name>ASYS_VERSIONHISTORY</name> + <name>AB_CURRENCY</name> <category></category> <dbName></dbName> - <idColumn></idColumn> - <idGeneratorType v="1" /> + <idColumn>ISO4</idColumn> + <idGeneratorType v="0" /> <idGeneratorInterval v="1" /> <documentation></documentation> <title></title> @@ -25525,13 +25651,13 @@ </auditSyncConfig> <entityFields> <entityFieldDb> - <name>TABLE_NAME</name> + <name>NUMBERCODE</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="12" /> - <size v="255" /> + <columnType v="4" /> + <size v="10" /> <scale v="0" /> - <notNull v="true" /> + <notNull v="false" /> <isUnique v="false" /> <index v="false" /> <documentation></documentation> @@ -25539,39 +25665,53 @@ <description></description> </entityFieldDb> <entityFieldDb> - <name>VERSION</name> + <name>SIGN</name> <dbName></dbName> <primaryKey v="false" /> <columnType v="12" /> - <size v="36" /> + <size v="100" /> <scale v="0" /> - <notNull v="true" /> + <notNull v="false" /> <isUnique v="false" /> - <index v="true" /> + <index v="false" /> <documentation></documentation> <title></title> <description></description> </entityFieldDb> <entityFieldDb> - <name>DATE_NEW</name> + <name>ISACTIVE</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="93" /> - <size v="23" /> + <columnType v="5" /> + <size v="5" /> <scale v="0" /> <notNull v="true" /> <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ISO4</name> + <dbName></dbName> + <primaryKey v="true" /> + <columnType v="1" /> + <size v="3" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="true" /> <index v="true" /> <documentation></documentation> <title></title> <description></description> </entityFieldDb> <entityFieldDb> - <name>OPERATION_DESCRIPTION</name> + <name>NAME</name> <dbName></dbName> <primaryKey v="false" /> <columnType v="12" /> - <size v="255" /> + <size v="100" /> <scale v="0" /> <notNull v="true" /> <isUnique v="false" /> @@ -25580,14 +25720,49 @@ <title></title> <description></description> </entityFieldDb> + </entityFields> + </entityDb> + <entityDb> + <name>CURRENCYRATE</name> + <category></category> + <dbName></dbName> + <idColumn>CURRENCYRATEID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <documentation></documentation> + <title></title> + <description></description> + <auditSyncConfig> + <name>auditSyncConfig</name> + <auditMode v="0" /> + <syncActive v="false" /> + <syncComplete v="true" /> + <syncDirection v="1" /> + <syncIds></syncIds> + </auditSyncConfig> + <entityFields> <entityFieldDb> - <name>USER_NEW</name> + <name>CURRENCYRATEID</name> <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> + <primaryKey v="true" /> + <columnType v="1" /> <size v="36" /> <scale v="0" /> <notNull v="true" /> + <isUnique v="true" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>TARGETCURRENCYISO</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="3" /> + <scale v="0" /> + <notNull v="false" /> <isUnique v="false" /> <index v="false" /> <documentation></documentation> @@ -25595,13 +25770,636 @@ <description></description> </entityFieldDb> <entityFieldDb> - <name>OPERATION_TYPE</name> + <name>CURRENCYRATE</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="12" /> - <size v="255" /> + <columnType v="8" /> + <size v="52" /> <scale v="0" /> - <notNull v="true" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>SOURCECURRENCYISO</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="3" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>VALID_FROM</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> + <entityDb> + <name>ASYS_VERSIONHISTORY</name> + <category></category> + <dbName></dbName> + <idColumn></idColumn> + <idGeneratorType v="1" /> + <idGeneratorInterval v="1" /> + <documentation></documentation> + <title></title> + <description></description> + <auditSyncConfig> + <name>auditSyncConfig</name> + <auditMode v="0" /> + <syncActive v="false" /> + <syncComplete v="true" /> + <syncDirection v="1" /> + <syncIds></syncIds> + </auditSyncConfig> + <entityFields> + <entityFieldDb> + <name>TABLE_NAME</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>VERSION</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="23" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OPERATION_DESCRIPTION</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OPERATION_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> + <entityDb> + <name>KNOWLEDGEMANAGEMENTTICKETCATEGORY</name> + <category></category> + <dbName></dbName> + <idColumn>KNOWLEDGEMANAGEMENTTICKETCATEGORYID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <documentation></documentation> + <title></title> + <description></description> + <auditSyncConfig> + <name>auditSyncConfig</name> + <auditMode v="0" /> + <syncActive v="false" /> + <syncComplete v="true" /> + <syncDirection v="1" /> + <syncIds></syncIds> + </auditSyncConfig> + <entityFields> + <entityFieldDb> + <name>DATE_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>KNOWLEDGEMANAGEMENT_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>CLASSIFICATION</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>KNOWLEDGEMANAGEMENTTICKETCATEGORYID</name> + <dbName></dbName> + <primaryKey v="true" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="true" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_EDIT</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> + <name>KNOWLEDGEMANAGEMENTCATEGORY</name> + <category></category> + <dbName></dbName> + <idColumn>KNOWLEDGEMANAGEMENTCATEGORYID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <documentation></documentation> + <title></title> + <description></description> + <auditSyncConfig> + <name>auditSyncConfig</name> + <auditMode v="0" /> + <syncActive v="false" /> + <syncComplete v="true" /> + <syncDirection v="1" /> + <syncIds></syncIds> + </auditSyncConfig> + <entityFields> + <entityFieldDb> + <name>SUMMARY</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="255" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ORDERNO</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="5" /> + <size v="5" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ICON</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="-1" /> + <size v="2147483647" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>KNOWLEDGEMANAGEMENTCATEGORYID</name> + <dbName></dbName> + <primaryKey v="true" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="true" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_EDIT</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>NAME</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> + <name>LIKEBUTTON</name> + <category></category> + <dbName></dbName> + <idColumn>LIKEBUTTONID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <documentation></documentation> + <title></title> + <description></description> + <auditSyncConfig> + <name>auditSyncConfig</name> + <auditMode v="0" /> + <syncActive v="false" /> + <syncComplete v="true" /> + <syncDirection v="1" /> + <syncIds></syncIds> + </auditSyncConfig> + <entityFields> + <entityFieldDb> + <name>LIKEBUTTONID</name> + <dbName></dbName> + <primaryKey v="true" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="true" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_ROWID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>CONTACT_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> + <entityDb> + <name>KNOWLEDGEMANAGEMENTINBOX</name> + <category></category> + <dbName></dbName> + <idColumn>KNOWLEDGEMANAGEMENTINBOXID</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <documentation></documentation> + <title></title> + <description></description> + <auditSyncConfig> + <name>auditSyncConfig</name> + <auditMode v="0" /> + <syncActive v="false" /> + <syncComplete v="true" /> + <syncDirection v="1" /> + <syncIds></syncIds> + </auditSyncConfig> + <entityFields> + <entityFieldDb> + <name>KNOWLEDGEMANAGEMENTINBOXID</name> + <dbName></dbName> + <primaryKey v="true" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="true" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>KNOWLEDGEMANAGEMENT_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>INBOX_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_EDIT</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> diff --git a/aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod b/aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod index c0c4b00661a6a2b38fe821cd45215b5ff7d1e164..9aaf174fec9f94ba3900d6b9a17bba87e33a85b8 100644 --- a/aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod +++ b/aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod @@ -7513,20 +7513,6 @@ <title></title> <description></description> </entityFieldDb> - <entityFieldDb> - <name>PROBLEM</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="12" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <entityFieldDb> <name>BULKMAILRECIPIENTID</name> <dbName></dbName> diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod index 398dbbf9241d918d6a018d63ef044619687c9029..a120cb9231fb8c8d54b29efc1bcf5c23c61b5377 100644 --- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod +++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod @@ -378,6 +378,10 @@ <name>Group5</name> <kind v="123" /> <childNodes> + <entityNode> + <name>KnowledgeManagementCategory</name> + <kind v="10077" /> + </entityNode> <entityNode> <name>INTERNAL_EVERYONE</name> <kind v="159" /> diff --git a/cypress.json b/cypress.json index 316ecafbaa23430ee5c1905117ff1a301b9eacc6..6099676a75eb22dc14d9e1db38ab4549e0dba193 100644 --- a/cypress.json +++ b/cypress.json @@ -3,7 +3,8 @@ "defaultCommandTimeout": 25000, "env": { "DEFAULT_LOCALE": "de-DE", - "CYPRESS_INCLUDE_TAGS": "DEFAULT,QA" + "CYPRESS_INCLUDE_TAGS": "DEFAULT,QA", + "ADMIN_PASSWORD": "" }, "reporter": "../node_modules/mochawesome/src/mochawesome.js", "reporterOptions": { diff --git a/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js b/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js index c6ea91ecd1d6cef3113e7db772e506a53299d23c..e0a720422221e8a94078a8594e53145359fc1567 100644 --- a/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js +++ b/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js @@ -12,10 +12,11 @@ if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW) } else if(vars.get("$field.ACTIVITYID")) { - var count = new SqlBuilder().selectCount() - .from("ADVERTISING") - .where("ADVERTISING.OBJECT_ROWID", "ACTIVITY.ACTIVITYID") - .toString() + var count = new SqlBuilder() + .selectCount() + .from("ADVERTISING") + .where("ADVERTISING.OBJECT_ROWID", "ACTIVITY.ACTIVITYID") + .cell(); result.string(count); } diff --git a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod index 70f7df7f4ad5bf2715a2454845ee7abdbc065921..1046c7f1073eae176fa019e29afaf57b814b3d93 100644 --- a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod +++ b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod @@ -119,10 +119,6 @@ </entityActionField> </children> </entityActionGroup> - <entityField> - <name>PROBLEM</name> - <title>Problem</title> - </entityField> <entityConsumer> <name>EmailAdresses</name> <dependency> @@ -190,13 +186,7 @@ <entityParameter> <name>ExcludedStatus_param</name> <valueProcess>%aditoprj%/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludedstatus_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ExcludeCommunicationRejecting_param</name> - <valueProcess>%aditoprj%/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludecommunicationrejecting_param/valueProcess.js</valueProcess> - <expose v="false" /> - <title></title> + <expose v="true" /> </entityParameter> </children> </entityProvider> @@ -293,14 +283,6 @@ <recordfield>BULKMAILRECIPIENT.EMAIL_ADDRESS</recordfield> <isFilterable v="true" /> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROBLEM.value</name> - <recordfield>BULKMAILRECIPIENT.PROBLEM</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROBLEM.displayValue</name> - <expression>%aditoprj%/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/problem.displayvalue/expression.js</expression> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>IS_TEST_RECIPIENT.value</name> <recordfield>BULKMAILRECIPIENT.IS_TEST_RECIPIENT</recordfield> diff --git a/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludecommunicationrejecting_param/valueProcess.js b/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludecommunicationrejecting_param/valueProcess.js deleted file mode 100644 index 40effa0178464da0c7850912345f19c7fa95975a..0000000000000000000000000000000000000000 --- a/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludecommunicationrejecting_param/valueProcess.js +++ /dev/null @@ -1,3 +0,0 @@ -import("system.result"); - -result.string(true); \ No newline at end of file diff --git a/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludedstatus_param/valueProcess.js b/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludedstatus_param/valueProcess.js index 492f4b9cfe105df811d83daafb6e792c09f758b2..5991cbeae673acd85f1ffb3eb99da7b637a46c5f 100644 --- a/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludedstatus_param/valueProcess.js +++ b/entity/BulkMailRecipient_entity/entityfields/recipientstobemailed/children/excludedstatus_param/valueProcess.js @@ -3,6 +3,8 @@ import("system.result"); result.string(JSON.stringify([ $KeywordRegistry.bulkMailRecipientStatus$sent(), - $KeywordRegistry.bulkMailRecipientStatus$hardBounce(), - $KeywordRegistry.bulkMailRecipientStatus$failed() + $KeywordRegistry.bulkMailRecipientStatus$failed(), + $KeywordRegistry.bulkMailRecipientStatus$softBounce(), + $KeywordRegistry.bulkMailRecipientStatus$hardBounce(), + $KeywordRegistry.bulkMailRecipientStatus$added() ])); \ No newline at end of file diff --git a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js index 2b9b21b9b789c2d7823fc09837e0bac6469a8c68..39ae66b34c14d31a1a0b565835f0b92d2b1ae78e 100644 --- a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js +++ b/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js @@ -1,30 +1,7 @@ -import("system.vars"); -import("Util_lib"); -import("Sql_lib"); -import("Contact_lib"); -import("system.translate"); import("system.result"); import("Keyword_lib"); import("KeywordRegistry_basic"); -import("MarketingCondition_lib"); var keywordSql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.bulkMailRecipientStatus(), "BULKMAILRECIPIENT.STATUS"); -var sql; -if (!Utils.toBoolean(vars.get("$param.ExcludeCommunicationRejecting_param"))) -{ - var communicationSettingsCondition = new CommunicationSettingsCondition() - .medium($KeywordRegistry.communicationMediumCampaign$mail(), "BULKMAILRECIPIENT.EMAIL_ADDRESS") - .rejected() - .existSettings() - .buildCondition(); - - sql = SqlBuilder.caseWhen(communicationSettingsCondition) - .thenString(translate.text("Advertising ban")) - .elseValue(keywordSql); -} -else -{ - sql = keywordSql; -} - -result.string(sql.toString()); + +result.string(keywordSql.toString()); diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod index 7d370947a623fbbc3218d72e73046c7451c00865..a20a8140185ca68c3efaf49f8dddee4636277095 100644 --- a/entity/BulkMail_entity/BulkMail_entity.aod +++ b/entity/BulkMail_entity/BulkMail_entity.aod @@ -602,6 +602,13 @@ <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/sendmail/stateProcess.js</stateProcess> <tooltipProcess>%aditoprj%/entity/BulkMail_entity/entityfields/sendmail/tooltipProcess.js</tooltipProcess> </entityActionField> + <entityActionField> + <name>ContinueMailing_action</name> + <title>Continue mailing</title> + <onActionProcess>%aditoprj%/entity/BulkMail_entity/entityfields/continuemailing_action/onActionProcess.js</onActionProcess> + <iconId>NEON:RECURRING_APPOINTMENT</iconId> + <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/continuemailing_action/stateProcess.js</stateProcess> + </entityActionField> <entityActionField> <name>downloadTemplate</name> <title>Download template</title> diff --git a/entity/BulkMail_entity/entityfields/continuemailing_action/onActionProcess.js b/entity/BulkMail_entity/entityfields/continuemailing_action/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1eec20a3a5185d7fb9f35717eff13a65fd13f12d --- /dev/null +++ b/entity/BulkMail_entity/entityfields/continuemailing_action/onActionProcess.js @@ -0,0 +1,19 @@ +import("system.translate"); +import("system.question"); +import("Sql_lib"); +import("system.neon"); +import("system.vars"); +import("Bulkmail_lib"); +import("system.db"); +import("KeywordRegistry_basic"); + +var send = question.askYesNo(translate.text("Bulk mail"), translate.text("Should the mail be sent now?"), false); +if (send) +{ + //UPDATE BULKMAIL STATUS + newWhere("BULKMAIL.BULKMAILID", "$field.BULKMAILID") + .updateFields({"STATUS" : $KeywordRegistry.bulkMailStatus$beingSent()}); + + neon.refreshAll(); + BulkMailUtils.sendBulkMailOnServer(vars.get("$field.BULKMAILID")); +} \ No newline at end of file diff --git a/entity/BulkMail_entity/entityfields/continuemailing_action/stateProcess.js b/entity/BulkMail_entity/entityfields/continuemailing_action/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..df467a0cf000de3ab3f27c43971af080dd24655e --- /dev/null +++ b/entity/BulkMail_entity/entityfields/continuemailing_action/stateProcess.js @@ -0,0 +1,17 @@ +import("KeywordRegistry_basic"); +import("system.result"); +import("system.vars"); +import("system.tools"); +import("Bulkmail_lib"); +import("system.neon"); + +if (tools.currentUserHasRole("INTERNAL_ADMINISTRATOR") + && vars.get("$field.STATUS") === $KeywordRegistry.bulkMailStatus$failed() + && BulkMailUtils.hasPendingRecipient(vars.get("$field.BULKMAILID"))) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} +else +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} \ No newline at end of file diff --git a/entity/BulkMail_entity/recordcontainers/db/onDBInsert.js b/entity/BulkMail_entity/recordcontainers/db/onDBInsert.js index 0fcb3e3f16afbaa4c7be3b0c9fae3fa58a08042f..7ceed04d82a542a694b07638eb59b990978baaf6 100644 --- a/entity/BulkMail_entity/recordcontainers/db/onDBInsert.js +++ b/entity/BulkMail_entity/recordcontainers/db/onDBInsert.js @@ -55,7 +55,7 @@ if (vars.get("$param.CopyBulkMailId_param") && Utils.toBoolean(vars.get("$field. return sqlBuilder.buildInsertStatement({ "BULKMAIL_ID": bulkMailId, "CONTACT_ID": contactId, - "STATUS": $KeywordRegistry.bulkMailRecipientStatus$pending(), + "STATUS": $KeywordRegistry.bulkMailRecipientStatus$added(), "EMAIL_ADDRESS": email, "IS_TEST_RECIPIENT": test }, "BULKMAILRECIPIENT", "BULKMAILRECIPIENTID"); diff --git a/entity/DocumentTemplateTicketCategory_entity/DocumentTemplateTicketCategory_entity.aod b/entity/DocumentTemplateTicketCategory_entity/DocumentTemplateTicketCategory_entity.aod index fb3d1cdf65752ee6fc02bb022c88ffee5b0ce4a0..e020ee18f0a04effb85044eee5d801fb6a847643 100644 --- a/entity/DocumentTemplateTicketCategory_entity/DocumentTemplateTicketCategory_entity.aod +++ b/entity/DocumentTemplateTicketCategory_entity/DocumentTemplateTicketCategory_entity.aod @@ -21,7 +21,7 @@ <entityField> <name>CLASSIFICATION</name> <title>Category</title> - <consumer>KeywordsCathegories</consumer> + <consumer>KeywordsCategories</consumer> <displayValueProcess>%aditoprj%/entity/DocumentTemplateTicketCategory_entity/entityfields/classification/displayValueProcess.js</displayValueProcess> </entityField> <entityParameter> @@ -29,7 +29,7 @@ <expose v="true" /> </entityParameter> <entityConsumer> - <name>KeywordsCathegories</name> + <name>KeywordsCategories</name> <dependency> <name>dependency</name> <entityName>KeywordEntry_entity</entityName> @@ -38,12 +38,12 @@ <children> <entityParameter> <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplateTicketCategory_entity/entityfields/keywordscathegories/children/containername_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/DocumentTemplateTicketCategory_entity/entityfields/keywordscategories/children/containername_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> <entityProvider> - <name>DocumentTemplateClasificationsProv</name> + <name>DocumentTemplateClassificationsProv</name> <titlePlural>Service ticket categories</titlePlural> <children> <entityParameter> diff --git a/entity/DocumentTemplateTicketCategory_entity/entityfields/keywordscathegories/children/containername_param/valueProcess.js b/entity/DocumentTemplateTicketCategory_entity/entityfields/keywordscategories/children/containername_param/valueProcess.js similarity index 100% rename from entity/DocumentTemplateTicketCategory_entity/entityfields/keywordscathegories/children/containername_param/valueProcess.js rename to entity/DocumentTemplateTicketCategory_entity/entityfields/keywordscategories/children/containername_param/valueProcess.js diff --git a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod index 83929ce1e780a18979c94cd5716189833be06e38..ac9f857fd98cd924db917c433489a5698906afac 100644 --- a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod +++ b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod @@ -232,7 +232,7 @@ <expose v="true" /> </entityParameter> <entityParameter> - <name>ClasifcationMail_param</name> + <name>ClassificationMail_param</name> <expose v="true" /> </entityParameter> </children> @@ -299,7 +299,7 @@ <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documenttemplate_objecttype/valueProcess.js</valueProcess> </entityField> <entityParameter> - <name>ClasifcationMail_param</name> + <name>ClassificationMail_param</name> <expose v="true" /> </entityParameter> <entityProvider> @@ -319,7 +319,7 @@ <dependency> <name>dependency</name> <entityName>DocumentTemplateTicketCategory_entity</entityName> - <fieldName>DocumentTemplateClasificationsProv</fieldName> + <fieldName>DocumentTemplateClassificationsProv</fieldName> </dependency> <children> <entityParameter> diff --git a/entity/EmployeeGroupContactRelation_entity/entityfields/contact_id/onValidation.js b/entity/EmployeeGroupContactRelation_entity/entityfields/contact_id/onValidation.js index 89007aafec39152c565838fe3b89fdeefe7c4c3c..27fb9b3c27b2712280f57c5ee8f100f9cdb32df0 100644 --- a/entity/EmployeeGroupContactRelation_entity/entityfields/contact_id/onValidation.js +++ b/entity/EmployeeGroupContactRelation_entity/entityfields/contact_id/onValidation.js @@ -4,7 +4,7 @@ import("system.result"); import("system.vars"); import("Sql_lib"); -var sql = new SqlBuilder() +var count = new SqlBuilder() .selectCount("CONTACT_ID") .from("EMPLOYEEGROUP_CONTACT_RELATION") .where("EMPLOYEEGROUP_CONTACT_RELATION.CONTACT_ID", vars.get("$field.CONTACT_ID")) @@ -12,8 +12,7 @@ var sql = new SqlBuilder() .andIfSet("EMPLOYEEGROUP_CONTACT_RELATION.EMPLOYEEGROUP_CONTACT_RELATIONID", vars.get("$field.EMPLOYEEGROUP_CONTACT_RELATIONID"),SqlBuilder.NOT_EQUAL()) .cell(); - -if (sql > 0 ) +if (count > 0) { result.string(translate.text("Employee already selected") + "."); } diff --git a/entity/EmployeeGroupRuleGroupRelation_entity/EmployeeGroupRuleGroupRelation_entity.aod b/entity/EmployeeGroupRuleGroupRelation_entity/EmployeeGroupRuleGroupRelation_entity.aod index 9e50a6dabeb63ed49f42e7aa9867e2a7ae4b628a..1d5e3b2957745ad457e04db5b47881837b37d7c9 100644 --- a/entity/EmployeeGroupRuleGroupRelation_entity/EmployeeGroupRuleGroupRelation_entity.aod +++ b/entity/EmployeeGroupRuleGroupRelation_entity/EmployeeGroupRuleGroupRelation_entity.aod @@ -20,6 +20,7 @@ <title>Employee group filter group</title> <consumer>EmpGorupRuGroups</consumer> <displayValueProcess>%aditoprj%/entity/EmployeeGroupRuleGroupRelation_entity/entityfields/employeegroup_rulegroup_id/displayValueProcess.js</displayValueProcess> + <onValidation>%aditoprj%/entity/EmployeeGroupRuleGroupRelation_entity/entityfields/employeegroup_rulegroup_id/onValidation.js</onValidation> </entityField> <entityField> <name>EMPLOYEEGROUP_RULEGROUP_RELATIONID</name> diff --git a/entity/EmployeeGroupRuleGroupRelation_entity/entityfields/employeegroup_rulegroup_id/onValidation.js b/entity/EmployeeGroupRuleGroupRelation_entity/entityfields/employeegroup_rulegroup_id/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..c3791daf0720f42b772ac6653674f916b9190a5e --- /dev/null +++ b/entity/EmployeeGroupRuleGroupRelation_entity/entityfields/employeegroup_rulegroup_id/onValidation.js @@ -0,0 +1,18 @@ +import("system.neon"); +import("system.translate"); +import("system.result"); +import("system.vars"); +import("Sql_lib"); + +var count = new SqlBuilder() + .selectCount("EMPLOYEEGROUP_RULEGROUP_ID") + .from("EMPLOYEEGROUP_RULEGROUP_RELATION") + .where("EMPLOYEEGROUP_RULEGROUP_RELATION.EMPLOYEEGROUP_RULEGROUP_ID", vars.get("$field.EMPLOYEEGROUP_RULEGROUP_ID")) + .and("EMPLOYEEGROUP_RULEGROUP_RELATION.EMPLOYEEGROUP_ID", vars.get("$field.EMPLOYEEGROUP_ID")) + .andIfSet("EMPLOYEEGROUP_RULEGROUP_RELATION.EMPLOYEEGROUP_RULEGROUP_RELATIONID", vars.get("$field.EMPLOYEEGROUP_RULEGROUP_RELATIONID"),SqlBuilder.NOT_EQUAL()) + .cell(); + +if (count > 0) +{ + result.string(translate.text("Rulegroup already selected") + "."); +} \ No newline at end of file diff --git a/entity/EmployeeGroupRuleGroup_entity/entityfields/name/onValidation.js b/entity/EmployeeGroupRuleGroup_entity/entityfields/name/onValidation.js index 51c6c78bd8d0d652995e37eaca003fec14c6ea74..de38c88fe4c6fe38606fca313693d4c97b459286 100644 --- a/entity/EmployeeGroupRuleGroup_entity/entityfields/name/onValidation.js +++ b/entity/EmployeeGroupRuleGroup_entity/entityfields/name/onValidation.js @@ -4,14 +4,14 @@ import("system.result"); import("system.vars"); import("Sql_lib"); -var sql = new SqlBuilder() +var count = new SqlBuilder() .selectCount("NAME") .from("EMPLOYEEGROUP_RULEGROUP") .where("EMPLOYEEGROUP_RULEGROUP.NAME", vars.get("$field.NAME")) - .and("EMPLOYEEGROUP_RULEGROUP.EMPLOYEEGROUP_RULEGROUPID", vars.get("sys.uid"),SqlBuilder.NOT_EQUAL()) + .andIfSet("EMPLOYEEGROUP_RULEGROUP.EMPLOYEEGROUP_RULEGROUPID", vars.get("$field.EMPLOYEEGROUP_RULEGROUPID"),SqlBuilder.NOT_EQUAL()) .cell(); -if (sql > 0) +if (count > 0) { result.string(translate.text("Name has to be unique") + "."); } \ No newline at end of file diff --git a/entity/EmployeeGroupRuleGroup_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js b/entity/EmployeeGroupRuleGroup_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js index bb49dedeca7eb9b5e9066e15a6a0119f3f737f10..94d98457fc41c79ce0b6940bf45fad65af21423a 100644 --- a/entity/EmployeeGroupRuleGroup_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js +++ b/entity/EmployeeGroupRuleGroup_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js @@ -1,4 +1,3 @@ -import("system.logging"); import("system.result"); import("Keyword_lib"); import("KeywordRegistry_basic"); @@ -6,6 +5,4 @@ import("system.util"); var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.employeeGroupStatus(), "STATE"); - - result.string(sql); \ No newline at end of file diff --git a/entity/EmployeeGroupRule_entity/entityfields/name/onValidation.js b/entity/EmployeeGroupRule_entity/entityfields/name/onValidation.js index 6cd8121c41e8437c62ae7265945b9ff48507a15e..8c83356e370abcf4960d35d7c525dccf2d50a676 100644 --- a/entity/EmployeeGroupRule_entity/entityfields/name/onValidation.js +++ b/entity/EmployeeGroupRule_entity/entityfields/name/onValidation.js @@ -4,13 +4,15 @@ import("system.result"); import("system.vars"); import("Sql_lib"); -var sql = new SqlBuilder() - .selectCount("NAME") - .from("EMPLOYEEGROUP_RULEGROUP") - .where("EMPLOYEEGROUP_RULEGROUP.NAME", vars.get("$field.NAME")) - .andIfSet("EMPLOYEEGROUP_RULEGROUP.EMPLOYEEGROUP_RULEGROUPID", vars.get("$field.EMPLOYEEGROUP_RULEGROUP_ID"),SqlBuilder.NOT_EQUAL()) - .cell(); -if (sql > 0) +var count = new SqlBuilder() + .selectCount("NAME") + .from("EMPLOYEEGROUP_RULE") + .where("EMPLOYEEGROUP_RULE.NAME", vars.get("$field.NAME")) + .and("EMPLOYEEGROUP_RULE.EMPLOYEEGROUP_RULEGROUP_ID", vars.get("$field.EMPLOYEEGROUP_RULEGROUP_ID")) + .andIfSet("EMPLOYEEGROUP_RULE.EMPLOYEEGROUP_RULEID", vars.get("$field.EMPLOYEEGROUP_RULEID"),SqlBuilder.NOT_EQUAL()) + .cell(); + +if (count > 0) { result.string(translate.text("Name has to be unique") + "."); } \ No newline at end of file diff --git a/entity/EmployeeGroup_entity/entityfields/groupname/onValidation.js b/entity/EmployeeGroup_entity/entityfields/groupname/onValidation.js index 4d5b4ab6249c90e9e99530f3eb71af910ca7ce41..7927ea768952f97af77979221b7425cbce2083bf 100644 --- a/entity/EmployeeGroup_entity/entityfields/groupname/onValidation.js +++ b/entity/EmployeeGroup_entity/entityfields/groupname/onValidation.js @@ -4,13 +4,14 @@ import("system.result"); import("system.vars"); import("Sql_lib"); -var sql = new SqlBuilder() - .selectCount("GROUPNAME") - .from("EMPLOYEEGROUP") - .where("EMPLOYEEGROUP.GROUPNAME", vars.get("$field.GROUPNAME")) - .and("EMPLOYEEGROUP.EMPLOYEEGROUPID", vars.get("sys.uid"),SqlBuilder.NOT_EQUAL()) - .cell(); -if (sql > 0) +var count = new SqlBuilder() + .selectCount("GROUPNAME") + .from("EMPLOYEEGROUP") + .where("EMPLOYEEGROUP.GROUPNAME", vars.get("$field.GROUPNAME")) + .andIfSet("EMPLOYEEGROUP.EMPLOYEEGROUPID", vars.get("$field.EMPLOYEEGROUPID"),SqlBuilder.NOT_EQUAL()) + .cell(); + +if (count > 0) { result.string(translate.text("Name has to be unique") + "."); } \ No newline at end of file diff --git a/entity/EmployeeGroup_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/EmployeeGroup_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js index 457e173653479529664f2ade1cbd2d77f25ac394..58cb64faa1a57231010dd72bb8ca8048c26979f7 100644 --- a/entity/EmployeeGroup_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js +++ b/entity/EmployeeGroup_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js @@ -1,4 +1,3 @@ -import("system.logging"); import("system.result"); import("Keyword_lib"); import("KeywordRegistry_basic"); @@ -6,6 +5,4 @@ import("system.util"); var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.employeeGroupStatus(), "STATUS"); - - result.string(sql); \ No newline at end of file diff --git a/entity/InboxFilterGroupRelation_entity/entityfields/inboxfiltergroup_id/onValidation.js b/entity/InboxFilterGroupRelation_entity/entityfields/inboxfiltergroup_id/onValidation.js index 1d234c44a60d6d854f716b853f947d021ea8e13d..7795eca99963e039cd845fac6942fbf4c678aa6b 100644 --- a/entity/InboxFilterGroupRelation_entity/entityfields/inboxfiltergroup_id/onValidation.js +++ b/entity/InboxFilterGroupRelation_entity/entityfields/inboxfiltergroup_id/onValidation.js @@ -4,14 +4,16 @@ import("system.result"); import("system.vars"); import("Sql_lib"); -var sql = new SqlBuilder() - .selectCount("INBOXFILTERGROUP_ID") - .from("INBOXFILTERGROUP_RELATION") - .where("INBOXFILTERGROUP_RELATION.INBOXFILTERGROUP_ID", vars.get("$field.INBOXFILTERGROUP_ID")) - .cell(); +var count = new SqlBuilder() + .selectCount("INBOXFILTERGROUP_ID") + .from("INBOXFILTERGROUP_RELATION") + .where("INBOXFILTERGROUP_RELATION.INBOXFILTERGROUP_ID", vars.get("$field.INBOXFILTERGROUP_ID")) + .and("INBOXFILTERGROUP_RELATION.INBOX_ID", vars.get("$field.INBOX_ID")) + .andIfSet("INBOXFILTERGROUP_RELATION.INBOXFILTERGROUP_RELATIONID", vars.get("$field.INBOXFILTERGROUP_RELATIONID"),SqlBuilder.NOT_EQUAL()) + .cell(); -if (sql > 0) +if (count > 0) { result.string(translate.text("Rulegroup already selected") + "."); -} +} diff --git a/entity/InboxFilterGroup_entity/entityfields/name/onValidation.js b/entity/InboxFilterGroup_entity/entityfields/name/onValidation.js index 5f2a7b84bb1a7be48d3319a6978042734c878416..be35d6f5b2fe34016e9339d8ba48947e47602984 100644 --- a/entity/InboxFilterGroup_entity/entityfields/name/onValidation.js +++ b/entity/InboxFilterGroup_entity/entityfields/name/onValidation.js @@ -4,16 +4,14 @@ import("system.result"); import("system.vars"); import("Sql_lib"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) -{ - var sql = new SqlBuilder() +var count = new SqlBuilder() .selectCount("NAME") .from("INBOXFILTERGROUP") .where("INBOXFILTERGROUP.NAME", vars.get("$field.NAME")) + .andIfSet("INBOXFILTERGROUP.INBOXFILTERGROUPID", vars.get("$field.INBOXFILTERGROUPID"),SqlBuilder.NOT_EQUAL()) .cell(); - if (sql > 0) - { - result.string(translate.text("Name has to be unique") + "."); - } -} +if (count > 0) +{ + result.string(translate.text("Name has to be unique") + "."); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/KnowledgeManagementCategory_entity.aod b/entity/KnowledgeManagementCategory_entity/KnowledgeManagementCategory_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..8cbe4a14ded1a3b7ee1157e6e4e6d4796030c48d --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/KnowledgeManagementCategory_entity.aod @@ -0,0 +1,141 @@ +<?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.22" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.22"> + <name>KnowledgeManagementCategory_entity</name> + <title>Knowledge category</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <grantCreate v="false" /> + <grantCreateProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/grantCreateProcess.js</grantCreateProcess> + <grantUpdate v="false" /> + <grantUpdateProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/grantUpdateProcess.js</grantUpdateProcess> + <grantDelete v="false" /> + <grantDeleteProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/grantDeleteProcess.js</grantDeleteProcess> + <titlePlural>Knowledge categories</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityProvider> + <name>#PROVIDER_AGGREGATES</name> + <useAggregates v="true" /> + </entityProvider> + <entityField> + <name>KNOWLEDGEMANAGEMENTCATEGORYID</name> + </entityField> + <entityField> + <name>NAME</name> + <title>Name</title> + <mandatory v="true" /> + </entityField> + <entityField> + <name>DATE_NEW</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityProvider> + <name>KnowledgeManagementCategories</name> + </entityProvider> + <entityField> + <name>ICON</name> + <title>Icon</title> + <contentType>IMAGE</contentType> + <mandatory v="true" /> + </entityField> + <entityConsumer> + <name>KnowledgeManagementEntries</name> + <dependency> + <name>dependency</name> + <entityName>KnowledgeManagement_entity</entityName> + <fieldName>Provider</fieldName> + </dependency> + <children> + <entityParameter> + <name>Category_param</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/entityfields/knowledgemanagemententries/children/category_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>ORDERNO</name> + <title>order</title> + </entityField> + <entityField> + <name>numberOfArticles</name> + <displayValueProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/entityfields/numberofarticles/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>SUMMARY</name> + <title>Summary</title> + <contentType>LONG_TEXT</contentType> + </entityField> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <orderClauseProcess>%aditoprj%/entity/KnowledgeManagementCategory_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <alias>Data_alias</alias> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>KNOWLEDGEMANAGEMENTCATEGORYID.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.KNOWLEDGEMANAGEMENTCATEGORYID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>NAME.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.NAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ICON.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.ICON</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ORDERNO.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.ORDERNO</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>numberOfArticles.value</name> + <expression>%aditoprj%/entity/KnowledgeManagementCategory_entity/recordcontainers/db/recordfieldmappings/numberofarticles.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SUMMARY.value</name> + <recordfield>KNOWLEDGEMANAGEMENTCATEGORY.SUMMARY</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + <linkInformation> + <linkInformation> + <name>14b22e62-6305-47f5-bd5a-20bb9cc2ad68</name> + <tableName>KNOWLEDGEMANAGEMENTCATEGORY</tableName> + <primaryKey>KNOWLEDGEMANAGEMENTCATEGORYID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/KnowledgeManagementCategory_entity/entityfields/date_edit/valueProcess.js b/entity/KnowledgeManagementCategory_entity/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..24a5c38e010cb67d1243bfbbe67938d0251cc0e1 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/entityfields/date_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/entityfields/date_new/valueProcess.js b/entity/KnowledgeManagementCategory_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4f9b8563e6464ea5602efa9f8b12506a0b3db374 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/entityfields/knowledgemanagemententries/children/category_param/valueProcess.js b/entity/KnowledgeManagementCategory_entity/entityfields/knowledgemanagemententries/children/category_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..198b83be9d7addcfb4e98006c7c4746793f838b2 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/entityfields/knowledgemanagemententries/children/category_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); + + +result.string(vars.get("$field.KNOWLEDGEMANAGEMENTCATEGORYID")); \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/entityfields/numberofarticles/displayValueProcess.js b/entity/KnowledgeManagementCategory_entity/entityfields/numberofarticles/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6bac4b08f200d947eba2845b440b91f6aa56d7f7 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/entityfields/numberofarticles/displayValueProcess.js @@ -0,0 +1,14 @@ +import("system.vars"); +import("system.translate"); +import("system.result"); + +var numberofarticles = vars.get("this.value"); + +if(numberofarticles == null) +{ + result.string(translate.text("Entries") + ": 0"); +} +else +{ + result.string(translate.text("Entries") + ": " + vars.get("$this.value")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/entityfields/user_edit/valueProcess.js b/entity/KnowledgeManagementCategory_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..101f9115ca7d48575761308d7d8403f96c241128 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/entityfields/user_new/valueProcess.js b/entity/KnowledgeManagementCategory_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d4d90b08dd78fadbba8b3d6e4aa4d5b719072f14 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/grantCreateProcess.js b/entity/KnowledgeManagementCategory_entity/grantCreateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..14edd3e5db0e49cc565605c4e57dd2d4e53d9596 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/grantCreateProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(AdminViewUtils.userHasAdminRole()); \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/grantDeleteProcess.js b/entity/KnowledgeManagementCategory_entity/grantDeleteProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..14edd3e5db0e49cc565605c4e57dd2d4e53d9596 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/grantDeleteProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(AdminViewUtils.userHasAdminRole()); \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/grantUpdateProcess.js b/entity/KnowledgeManagementCategory_entity/grantUpdateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..14edd3e5db0e49cc565605c4e57dd2d4e53d9596 --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/grantUpdateProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(AdminViewUtils.userHasAdminRole()); \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/recordcontainers/db/orderClauseProcess.js b/entity/KnowledgeManagementCategory_entity/recordcontainers/db/orderClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0bed230ddd5362b5d71bdbde014bf70c1ddac08a --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/recordcontainers/db/orderClauseProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("system.db"); + +result.object({"KNOWLEDGEMANAGEMENTCATEGORY.ORDERNO": db.ASCENDING}); \ No newline at end of file diff --git a/entity/KnowledgeManagementCategory_entity/recordcontainers/db/recordfieldmappings/numberofarticles.value/expression.js b/entity/KnowledgeManagementCategory_entity/recordcontainers/db/recordfieldmappings/numberofarticles.value/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..c84064cfa14e619a6f78ac71fbc81b99d0e8e71d --- /dev/null +++ b/entity/KnowledgeManagementCategory_entity/recordcontainers/db/recordfieldmappings/numberofarticles.value/expression.js @@ -0,0 +1,11 @@ +import("system.result"); +import("Sql_lib"); + + +var sql = new SqlBuilder() + .selectCount("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID") + .from("KNOWLEDGEMANAGEMENT") + .where("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTCATEGORY_ID = KNOWLEDGEMANAGEMENTCATEGORY.KNOWLEDGEMANAGEMENTCATEGORYID") + .toString(); + +result.string(sql); \ No newline at end of file diff --git a/entity/KnowledgeManagementInbox_entity/KnowledgeManagementInbox_entity.aod b/entity/KnowledgeManagementInbox_entity/KnowledgeManagementInbox_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..c21d4f9066b17b04ffcbc9ea083207dd2ca1af0c --- /dev/null +++ b/entity/KnowledgeManagementInbox_entity/KnowledgeManagementInbox_entity.aod @@ -0,0 +1,116 @@ +<?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.22" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.22"> + <name>KnowledgeManagementInbox_entity</name> + <title>Inbox</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <titlePlural>Inboxes</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityProvider> + <name>#PROVIDER_AGGREGATES</name> + <useAggregates v="true" /> + </entityProvider> + <entityField> + <name>DATE_NEW</name> + <contentType>DATE</contentType> + <valueProcess>%aditoprj%/entity/KnowledgeManagementInbox_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <contentType>DATE</contentType> + <valueProcess>%aditoprj%/entity/KnowledgeManagementInbox_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementInbox_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementInbox_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>KNOWLEDGEMANAGEMENT_ID</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementInbox_entity/entityfields/knowledgemanagement_id/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>KNOWLEDGEMANAGEMENTINBOXID</name> + </entityField> + <entityField> + <name>INBOX_ID</name> + <consumer>Inboxes</consumer> + </entityField> + <entityParameter> + <name>KnowledgeManagementId_param</name> + <expose v="true" /> + </entityParameter> + <entityProvider> + <name>KnowledgeManagementInboxesProv</name> + <children> + <entityParameter> + <name>KnowledgeManagementId_param</name> + <mandatory v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityConsumer> + <name>Inboxes</name> + <dependency> + <name>dependency</name> + <entityName>Inbox_entity</entityName> + <fieldName>Indexes</fieldName> + </dependency> + </entityConsumer> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>KNOWLEDGEMANAGEMENTINBOX.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>KNOWLEDGEMANAGEMENTINBOX.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>INBOX_ID.value</name> + <recordfield>KNOWLEDGEMANAGEMENTINBOX.INBOX_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>KNOWLEDGEMANAGEMENT_ID.value</name> + <recordfield>KNOWLEDGEMANAGEMENTINBOX.KNOWLEDGEMANAGEMENT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>KNOWLEDGEMANAGEMENTINBOXID.value</name> + <recordfield>KNOWLEDGEMANAGEMENTINBOX.KNOWLEDGEMANAGEMENTINBOXID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>KNOWLEDGEMANAGEMENTINBOX.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>KNOWLEDGEMANAGEMENTINBOX.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>INBOX_ID.displayValue</name> + <expression>%aditoprj%/entity/KnowledgeManagementInbox_entity/recordcontainers/db/recordfieldmappings/inbox_id.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + </recordFieldMappings> + <linkInformation> + <linkInformation> + <name>e9683624-d1e6-47a2-9d27-d67a9ad286f2</name> + <tableName>KNOWLEDGEMANAGEMENTINBOX</tableName> + <primaryKey>KNOWLEDGEMANAGEMENTINBOXID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/KnowledgeManagementInbox_entity/entityfields/date_edit/valueProcess.js b/entity/KnowledgeManagementInbox_entity/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2af46a8e46789056c6c341a8e4e087f8e1edc0c4 --- /dev/null +++ b/entity/KnowledgeManagementInbox_entity/entityfields/date_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementInbox_entity/entityfields/date_new/valueProcess.js b/entity/KnowledgeManagementInbox_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d5cf2ff4f91546bf853125bec438493692a5e048 --- /dev/null +++ b/entity/KnowledgeManagementInbox_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementInbox_entity/entityfields/knowledgemanagement_id/valueProcess.js b/entity/KnowledgeManagementInbox_entity/entityfields/knowledgemanagement_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8f4567920d831c18446147de4313d4ccf4bb56a0 --- /dev/null +++ b/entity/KnowledgeManagementInbox_entity/entityfields/knowledgemanagement_id/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.vars"); + +var KnowledgeManagementId = vars.get("$param.KnowledgeManagementId_param"); +if (KnowledgeManagementId) +{ + result.string(KnowledgeManagementId); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementInbox_entity/entityfields/user_edit/valueProcess.js b/entity/KnowledgeManagementInbox_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..b874a7ac426b8e99383ac949299b9753e4951f2b --- /dev/null +++ b/entity/KnowledgeManagementInbox_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementInbox_entity/entityfields/user_new/valueProcess.js b/entity/KnowledgeManagementInbox_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3f8db68b950a0505d6179cb67c14dde624c45070 --- /dev/null +++ b/entity/KnowledgeManagementInbox_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementInbox_entity/recordcontainers/db/recordfieldmappings/inbox_id.displayvalue/expression.js b/entity/KnowledgeManagementInbox_entity/recordcontainers/db/recordfieldmappings/inbox_id.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..69e09efc9d1db6d8baed3515651a25c44f6d1afb --- /dev/null +++ b/entity/KnowledgeManagementInbox_entity/recordcontainers/db/recordfieldmappings/inbox_id.displayvalue/expression.js @@ -0,0 +1,7 @@ +import("system.result"); +import("Sql_lib"); + +result.string(newSelect("INBOX.NAME") + .from("INBOX") + .where("KNOWLEDGEMANAGEMENTINBOX.INBOX_ID = INBOX.INBOXID")); + \ No newline at end of file diff --git a/entity/KnowledgeManagementTicketCategory_entity/KnowledgeManagementTicketCategory_entity.aod b/entity/KnowledgeManagementTicketCategory_entity/KnowledgeManagementTicketCategory_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..7d439d9f9d1109804f1d26e1fae6cce17ed0a14f --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/KnowledgeManagementTicketCategory_entity.aod @@ -0,0 +1,124 @@ +<?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.22" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.22"> + <name>KnowledgeManagementTicketCategory_entity</name> + <title>Service category</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <titlePlural>Service categories</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityProvider> + <name>#PROVIDER_AGGREGATES</name> + <useAggregates v="true" /> + </entityProvider> + <entityField> + <name>DATE_NEW</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <tooltip></tooltip> + <valueProcess>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>CLASSIFICATION</name> + <title>Category</title> + <consumer>KeywordsCategories</consumer> + <displayValueProcess>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/entityfields/classification/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>KNOWLEDGEMANAGEMENT_ID</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/entityfields/knowledgemanagement_id/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>KNOWLEDGEMANAGEMENT_TICKETCATEGORYID</name> + </entityField> + <entityParameter> + <name>KnowledgeManagementId_param</name> + <expose v="true" /> + </entityParameter> + <entityProvider> + <name>KnowledgeManagementClassificationsProv</name> + <children> + <entityParameter> + <name>KnowledgeManagementId_param</name> + <mandatory v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityConsumer> + <name>KeywordsCategories</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/entityfields/keywordscategories/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <conditionProcess>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <alias>Data_alias</alias> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>CLASSIFICATION.value</name> + <recordfield>KNOWLEDGEMANAGEMENTTICKETCATEGORY.CLASSIFICATION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>KNOWLEDGEMANAGEMENTTICKETCATEGORY.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>KNOWLEDGEMANAGEMENTTICKETCATEGORY.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>KNOWLEDGEMANAGEMENTTICKETCATEGORY.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>KNOWLEDGEMANAGEMENTTICKETCATEGORY.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>KNOWLEDGEMANAGEMENT_ID.value</name> + <recordfield>KNOWLEDGEMANAGEMENTTICKETCATEGORY.KNOWLEDGEMANAGEMENT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>KNOWLEDGEMANAGEMENT_TICKETCATEGORYID.value</name> + <recordfield>KNOWLEDGEMANAGEMENTTICKETCATEGORY.KNOWLEDGEMANAGEMENTTICKETCATEGORYID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CLASSIFICATION.displayValue</name> + <expression>%aditoprj%/entity/KnowledgeManagementTicketCategory_entity/recordcontainers/db/recordfieldmappings/classification.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + </recordFieldMappings> + <linkInformation> + <linkInformation> + <name>580de8a2-e2ef-4100-a84f-5b732f3fb13d</name> + <tableName>KNOWLEDGEMANAGEMENTTICKETCATEGORY</tableName> + <primaryKey>KNOWLEDGEMANAGEMENTTICKETCATEGORYID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/KnowledgeManagementTicketCategory_entity/entityfields/classification/displayValueProcess.js b/entity/KnowledgeManagementTicketCategory_entity/entityfields/classification/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2afe26447e4a371fd3ebb24ed6eff54635e1834f --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/entityfields/classification/displayValueProcess.js @@ -0,0 +1,6 @@ +import("KeywordRegistry_basic"); +import("system.vars"); +import("system.result"); +import("Keyword_lib"); + +result.string(KeywordUtils.getViewValue($KeywordRegistry.ticketCategory(), vars.get("$field.CLASSIFICATION"))); \ No newline at end of file diff --git a/entity/KnowledgeManagementTicketCategory_entity/entityfields/date_edit/valueProcess.js b/entity/KnowledgeManagementTicketCategory_entity/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2af46a8e46789056c6c341a8e4e087f8e1edc0c4 --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/entityfields/date_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementTicketCategory_entity/entityfields/date_new/valueProcess.js b/entity/KnowledgeManagementTicketCategory_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d5cf2ff4f91546bf853125bec438493692a5e048 --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementTicketCategory_entity/entityfields/keywordscategories/children/containername_param/valueProcess.js b/entity/KnowledgeManagementTicketCategory_entity/entityfields/keywordscategories/children/containername_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..41b0c58f1ffe5e105d040c154670115bc953ccb6 --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/entityfields/keywordscategories/children/containername_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +result.string($KeywordRegistry.ticketCategory()); \ No newline at end of file diff --git a/entity/KnowledgeManagementTicketCategory_entity/entityfields/knowledgemanagement_id/valueProcess.js b/entity/KnowledgeManagementTicketCategory_entity/entityfields/knowledgemanagement_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8f4567920d831c18446147de4313d4ccf4bb56a0 --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/entityfields/knowledgemanagement_id/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.vars"); + +var KnowledgeManagementId = vars.get("$param.KnowledgeManagementId_param"); +if (KnowledgeManagementId) +{ + result.string(KnowledgeManagementId); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementTicketCategory_entity/entityfields/user_edit/valueProcess.js b/entity/KnowledgeManagementTicketCategory_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..b874a7ac426b8e99383ac949299b9753e4951f2b --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementTicketCategory_entity/entityfields/user_new/valueProcess.js b/entity/KnowledgeManagementTicketCategory_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3f8db68b950a0505d6179cb67c14dde624c45070 --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/KnowledgeManagementTicketCategory_entity/recordcontainers/db/conditionProcess.js b/entity/KnowledgeManagementTicketCategory_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4e17ed702090523189c0073b50b24120aba64771 --- /dev/null +++ b/entity/KnowledgeManagementTicketCategory_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("Sql_lib"); + + +var cond = newWhere(); +cond.andIfSet("KNOWLEDGEMANAGEMENTTICKETCATEGORY.KNOWLEDGEMANAGEMENT_ID", "$param.KnowledgeManagementId_param"); + +result.string(cond.toString()); \ No newline at end of file diff --git a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/problem.displayvalue/expression.js b/entity/KnowledgeManagementTicketCategory_entity/recordcontainers/db/recordfieldmappings/classification.displayvalue/expression.js similarity index 56% rename from entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/problem.displayvalue/expression.js rename to entity/KnowledgeManagementTicketCategory_entity/recordcontainers/db/recordfieldmappings/classification.displayvalue/expression.js index 5ebe6375ca2a8aa560389d7de16cb6a19dd98298..46bb72e9e5381eb270e07d71b099499ee8de7c5b 100644 --- a/entity/BulkMailRecipient_entity/recordcontainers/db/recordfieldmappings/problem.displayvalue/expression.js +++ b/entity/KnowledgeManagementTicketCategory_entity/recordcontainers/db/recordfieldmappings/classification.displayvalue/expression.js @@ -1,8 +1,7 @@ -import("Contact_lib"); -import("system.db"); import("system.result"); import("Keyword_lib"); import("KeywordRegistry_basic"); -var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.bulkMailProblem(), "BULKMAILRECIPIENT.STATUS"); -result.string(sql); +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.ticketCategory(), "CLASSIFICATION"); + +result.string(sql); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/KnowledgeManagement_entity.aod b/entity/KnowledgeManagement_entity/KnowledgeManagement_entity.aod index 2bafd40619419a08e00d284c9b3a4457b45d16cf..b89414460a3f72d4478adef3e5d9dd19f88a1661 100644 --- a/entity/KnowledgeManagement_entity/KnowledgeManagement_entity.aod +++ b/entity/KnowledgeManagement_entity/KnowledgeManagement_entity.aod @@ -91,6 +91,7 @@ <title>Type</title> <consumer>KeywordKnowledgeType</consumer> <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/type/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/type/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>htmlView</name> @@ -336,6 +337,113 @@ <name>ObjectType_param</name> <expose v="true" /> </entityParameter> + <entityActionField> + <name>openAdminView</name> + <title>Open admin view</title> + <onActionProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/openadminview/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CURLY_BRACKETS</iconId> + <stateProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/openadminview/stateProcess.js</stateProcess> + </entityActionField> + <entityField> + <name>USEINALLTICKETCATEGORIES</name> + <title>Use all categories</title> + <contentType>BOOLEAN</contentType> + <state>INVISIBLE</state> + <stateProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/useinallticketcategories/stateProcess.js</stateProcess> + <onValueChange>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/useinallticketcategories/onValueChange.js</onValueChange> + </entityField> + <entityField> + <name>USEINALLINBOXES</name> + <title>Use all inboxes</title> + <contentType>BOOLEAN</contentType> + <state>INVISIBLE</state> + <stateProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/useinallinboxes/stateProcess.js</stateProcess> + <onValueChange>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/useinallinboxes/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> + </entityField> + <entityConsumer> + <name>KnowledgeManagementTicketCategories</name> + <state>AUTO</state> + <stateProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementticketcategories/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>KnowledgeManagementTicketCategory_entity</entityName> + <fieldName>KnowledgeManagementClassificationsProv</fieldName> + </dependency> + <children> + <entityParameter> + <name>KnowledgeManagementId_param</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementticketcategories/children/knowledgemanagementid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>TicketCategory_param</name> + <expose v="true" /> + </entityParameter> + <entityConsumer> + <name>KnowledgeManagementInboxes</name> + <state>AUTO</state> + <stateProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementinboxes/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>KnowledgeManagementInbox_entity</entityName> + <fieldName>KnowledgeManagementInboxesProv</fieldName> + </dependency> + <children> + <entityParameter> + <name>KnowledgeManagementId_param</name> + <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementinboxes/children/knowledgemanagementid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>Inbox_param</name> + <expose v="true" /> + </entityParameter> + <entityField> + <name>NUMBEROFVIEWS</name> + <title>Views</title> + <contentType>NUMBER</contentType> + <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/numberofviews/valueProcess.js</valueProcess> + </entityField> + <entityActionField> + <name>Likes</name> + <onActionProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/likes/onActionProcess.js</onActionProcess> + <iconId>VAADIN:THUMBS_UP</iconId> + <titleProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/likes/titleProcess.js</titleProcess> + </entityActionField> + <entityConsumer> + <name>KnowledgeManagementCategories</name> + <dependency> + <name>dependency</name> + <entityName>KnowledgeManagementCategory_entity</entityName> + <fieldName>KnowledgeManagementCategories</fieldName> + </dependency> + </entityConsumer> + <entityField> + <name>KNOWLEDGEMANAGEMENTCATEGORY_ID</name> + <title>Category</title> + <consumer>KnowledgeManagementCategories</consumer> + <groupable v="true" /> + <displayValueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementcategory_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityParameter> + <name>Category_param</name> + <expose v="true" /> + </entityParameter> + <entityField> + <name>numberOfLikes</name> + <title>Likes</title> + <contentType>NUMBER</contentType> + </entityField> + <entityField> + <name>SUMMARY</name> + <title>Summary</title> + <contentType>LONG_TEXT</contentType> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -441,10 +549,41 @@ <name>PUBLISH.displayValue</name> <expression>%aditoprj%/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/publish.displayvalue/expression.js</expression> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USEINALLINBOXES.value</name> + <recordfield>KNOWLEDGEMANAGEMENT.USEINALLINBOXES</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USEINALLTICKETCATEGORIES.value</name> + <recordfield>KNOWLEDGEMANAGEMENT.USEINALLTICKETCATEGORIES</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>NUMBEROFVIEWS.value</name> + <recordfield>KNOWLEDGEMANAGEMENT.NUMBEROFVIEWS</recordfield> + <isFilterable v="true" /> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>KNOWLEDGEMANAGEMENTCATEGORY_ID.value</name> + <recordfield>KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTCATEGORY_ID</recordfield> + <isFilterable v="true" /> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>KNOWLEDGEMANAGEMENTCATEGORY_ID.displayValue</name> + <expression>%aditoprj%/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/knowledgemanagement_category_id.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>numberOfLikes.value</name> + <expression>%aditoprj%/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/numberoflikes.value/expression.js</expression> + <isFilterable v="true" /> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SUMMARY.value</name> + <recordfield>KNOWLEDGEMANAGEMENT.SUMMARY</recordfield> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> - <name>9d4a7198-a4d1-45b3-867f-bf12cd558274</name> + <name>91537b81-91ec-4e16-a630-8bd1d512dfe9</name> <tableName>KNOWLEDGEMANAGEMENT</tableName> <primaryKey>KNOWLEDGEMANAGEMENTID</primaryKey> <isUIDTable v="true" /> diff --git a/entity/KnowledgeManagement_entity/afterUiInit.js b/entity/KnowledgeManagement_entity/afterUiInit.js index d90e107fcd4e6770480fdf4fed9b89f5b75cecb9..769431446713a0448620026e0711538004227ba7 100644 --- a/entity/KnowledgeManagement_entity/afterUiInit.js +++ b/entity/KnowledgeManagement_entity/afterUiInit.js @@ -1,3 +1,4 @@ +import("Sql_lib"); import("system.vars"); import("system.neon"); @@ -9,3 +10,21 @@ if(vars.get("$param.ObjectRowId_param") && vars.get("$param.ObjectType_param")) "OBJECT_TYPE": vars.get("$param.ObjectType_param") }); } + +if (vars.get("$sys.presentationmode") === neon.CONTEXT_PRESENTATIONMODE_FULL) +{ + var ViewValues = {}; + var currentViews = newSelect("KNOWLEDGEMANAGEMENT.NUMBEROFVIEWS") + .from("KNOWLEDGEMANAGEMENT") + .where("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID","$field.KNOWLEDGEMANAGEMENTID") + .cell(); + if (currentViews == "") + { + ViewValues["NUMBEROFVIEWS"] = 1; + } + else + { + ViewValues["NUMBEROFVIEWS"] = Number(currentViews) + 1; + } + newWhereIfSet("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID","$field.KNOWLEDGEMANAGEMENTID").updateFields(ViewValues); +} diff --git a/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementcategory_id/displayValueProcess.js b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementcategory_id/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..dc91c65806897d8d6ac5a884909bfbe3b349075f --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementcategory_id/displayValueProcess.js @@ -0,0 +1,11 @@ +import("system.vars"); +import("system.result"); +import("Sql_lib"); + + +var sql = newSelect(["KNOWLEDGEMANAGEMENTCATEGORY.NAME"]) + .from("KNOWLEDGEMANAGEMENTCATEGORY") + .where("KNOWLEDGEMANAGEMENTCATEGORY.KNOWLEDGEMANAGEMENTCATEGORYID", vars.get("$field.KNOWLEDGEMANAGEMENTCATEGORY_ID")) + .cell(); + +result.string(sql); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementinboxes/children/knowledgemanagementid_param/valueProcess.js b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementinboxes/children/knowledgemanagementid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..78c1da185830c7db84eedbde260e8a2d7df71e52 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementinboxes/children/knowledgemanagementid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.KNOWLEDGEMANAGEMENTID")); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementinboxes/stateProcess.js b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementinboxes/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..fd07ae5edd25dfb668fccf38efb0f80978f8b983 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementinboxes/stateProcess.js @@ -0,0 +1,16 @@ +import("KeywordRegistry_basic"); +import("system.neon"); +import("system.result"); +import("Util_lib"); +import("system.vars"); + + +if(vars.get("$field.TYPE") == $KeywordRegistry.knowledgeType$solution() && + !Utils.toBoolean(vars.get("$field.USEINALLINBOXES"))) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} +else +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementticketcategories/children/knowledgemanagementid_param/valueProcess.js b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementticketcategories/children/knowledgemanagementid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..78c1da185830c7db84eedbde260e8a2d7df71e52 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementticketcategories/children/knowledgemanagementid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.KNOWLEDGEMANAGEMENTID")); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementticketcategories/stateProcess.js b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementticketcategories/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..09c6076bf668464d870b1ea3622a04ce5457161e --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/knowledgemanagementticketcategories/stateProcess.js @@ -0,0 +1,16 @@ +import("KeywordRegistry_basic"); +import("system.neon"); +import("system.result"); +import("Util_lib"); +import("system.vars"); + + +if(vars.get("$field.TYPE") == $KeywordRegistry.knowledgeType$solution() && + !Utils.toBoolean(vars.get("$field.USEINALLTICKETCATEGORIES"))) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} +else +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/likes/onActionProcess.js b/entity/KnowledgeManagement_entity/entityfields/likes/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a03dedf226c1bee27328cb6b4f54b1fddfd8a278 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/likes/onActionProcess.js @@ -0,0 +1,66 @@ +import("system.logging"); +import("system.tools"); +import("Contact_lib"); +import("system.notification"); +import("system.translate"); +import("system.entities"); +import("Context_lib"); +import("Employee_lib"); +import("system.util"); +import("system.neon"); +import("system.result"); +import("system.vars"); +import("Sql_lib"); + +var likeButtonId = newSelect("LIKEBUTTON.LIKEBUTTONID") + .from("LIKEBUTTON") + .where("LIKEBUTTON.OBJECT_ROWID",vars.get("$field.KNOWLEDGEMANAGEMENTID")) + .cell(); + +if (likeButtonId != "") +{ + var deleteConfig = entities.createConfigForDeletingRows() + .entity("LikeButton_entity") + .uid(likeButtonId); + + entities.deleteRow(deleteConfig); +} +else +{ + var LikeButtonData = { + "LIKEBUTTONID" : util.getNewUUID(), + "CONTACT_ID" : EmployeeUtils.getCurrentContactId(), + "OBJECT_ROWID" : vars.get("$field.KNOWLEDGEMANAGEMENTID"), + "OBJECT_TYPE" : ContextUtils.getCurrentContextId() + } + + var addConfig = entities.createConfigForAddingRows() + .entity("LikeButton_entity") + .fieldValues(LikeButtonData); + + entities.createRow(addConfig); + + var authorContactId = vars.get("$field.AUTHOR_CONTACT_ID"); + var employee = EmployeeUtils.getUserByContactId(authorContactId); + var employeeUserId = employee[tools.NAME]; + var employeeUserName = employee[tools.TITLE]; + + let articleName = vars.get("$field.TITLE"); + let user = EmployeeUtils.getCurrentContactId(); + let username = ContactUtils.getTitleByContactId(user); + let caption = translate.text("Someone liked one of your articles"); + + let description = employeeUserName + " " + translate.text("liked your knowledge article") + " " + articleName + "."; + + let notificationConfig = notification.createConfig() + .addUserWithId(employeeUserId) + .forcedPriority(notification.PRIO_LOW) + .notificationType("Like") + .initialState(notification.STATE_UNSEEN) + .caption(caption) + .description(description); + + notification.addNotificationWith(notificationConfig); +} +neon.refresh(); + diff --git a/entity/KnowledgeManagement_entity/entityfields/likes/titleProcess.js b/entity/KnowledgeManagement_entity/entityfields/likes/titleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ba32c656bda6389b0f63af1134ff354b13b28c4f --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/likes/titleProcess.js @@ -0,0 +1,19 @@ +import("system.translate"); +import("system.result"); +import("system.vars"); +import("Sql_lib"); +import("system.neon"); + +var likeButtonId = newSelect("LIKEBUTTON.LIKEBUTTONID") + .from("LIKEBUTTON") + .where("LIKEBUTTON.OBJECT_ROWID",vars.get("$field.KNOWLEDGEMANAGEMENTID")) + .cell(); + +if (likeButtonId != "") +{ + result.string(translate.text("Remove Like")); +} +else +{ + result.string("Like"); +} \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/numberofviews/valueProcess.js b/entity/KnowledgeManagement_entity/entityfields/numberofviews/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9096d023604fba5323a4325821b57e263a98ed24 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/numberofviews/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.vars"); + + +if (vars.get("$this.value") == null) +{ + result.string(0); +} \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/openadminview/onActionProcess.js b/entity/KnowledgeManagement_entity/entityfields/openadminview/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..b2396b10d04a36559acd0a4a69f3d2bf91b0a0c7 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/openadminview/onActionProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("Context_lib"); + +AdminViewUtils.open("KNOWLEDGEMANAGMENTID", [ + ["RESPONSIBLE_CONTACT_ID", vars.get("$field.RESPONSIBLE_CONTACT_ID")], +]); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/openadminview/stateProcess.js b/entity/KnowledgeManagement_entity/entityfields/openadminview/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..38f2298db7304b4d44a15fbad7f720558c02da99 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/openadminview/stateProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(AdminViewUtils.getActionState()); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/type/displayValueProcess.js b/entity/KnowledgeManagement_entity/entityfields/type/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f800e68e588a0caa5a2e1d03e875f19c18669f21 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/type/displayValueProcess.js @@ -0,0 +1,6 @@ +import("KeywordRegistry_basic"); +import("system.vars"); +import("system.result"); +import("Keyword_lib"); + +result.string(KeywordUtils.getViewValue($KeywordRegistry.knowledgeType(), vars.get("$field.TYPE"))); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/useinallinboxes/onValueChange.js b/entity/KnowledgeManagement_entity/entityfields/useinallinboxes/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..2807fbb892dd2a32f26a60e28e45c1e9e115317d --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/useinallinboxes/onValueChange.js @@ -0,0 +1,14 @@ +import("system.vars"); +import("system.neon"); +import("Entity_lib"); + +if(vars.get("$local.value") == "1") +{ + var ticketCategoriesConsumer = "KnowledgeManagementTicketCategories"; + var currentTicketCategories = EntityConsumerRowsHelper.getCurrentConsumerRows(ticketCategoriesConsumer, ["KNOWLEDGEMANAGEMENT_TICKETCATEGORYID"]); + + currentTicketCategories.forEach(function(ticketCategory) + { + neon.deleteRecord(ticketCategoriesConsumer, ticketCategory["#UID"]); + }); +} diff --git a/entity/KnowledgeManagement_entity/entityfields/useinallinboxes/stateProcess.js b/entity/KnowledgeManagement_entity/entityfields/useinallinboxes/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2702ce1ca28162f59f0bdfb92f5c0fba872d2f3c --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/useinallinboxes/stateProcess.js @@ -0,0 +1,9 @@ +import("KeywordRegistry_basic"); +import("system.vars"); +import("system.neon"); +import("system.result"); + +if(vars.get("$field.TYPE") == $KeywordRegistry.knowledgeType$solution()) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} diff --git a/entity/KnowledgeManagement_entity/entityfields/useinallticketcategories/onValueChange.js b/entity/KnowledgeManagement_entity/entityfields/useinallticketcategories/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..768a4c00ba7f5a9628aabe7b874f5e55f8bb5681 --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/useinallticketcategories/onValueChange.js @@ -0,0 +1,14 @@ +import("system.vars"); +import("system.neon"); +import("Entity_lib"); + +if(vars.get("$local.value") == "1") +{ + var ticketCategoriesConsumer = "KnowledgeManagementInboxes"; + var currentTicketCategories = EntityConsumerRowsHelper.getCurrentConsumerRows(ticketCategoriesConsumer, ["KNOWLEDGEMANAGEMENT_TICKETCATEGORYID"]); + + currentTicketCategories.forEach(function(ticketCategory) + { + neon.deleteRecord(ticketCategoriesConsumer, ticketCategory["#UID"]); + }); +} \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/entityfields/useinallticketcategories/stateProcess.js b/entity/KnowledgeManagement_entity/entityfields/useinallticketcategories/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2702ce1ca28162f59f0bdfb92f5c0fba872d2f3c --- /dev/null +++ b/entity/KnowledgeManagement_entity/entityfields/useinallticketcategories/stateProcess.js @@ -0,0 +1,9 @@ +import("KeywordRegistry_basic"); +import("system.vars"); +import("system.neon"); +import("system.result"); + +if(vars.get("$field.TYPE") == $KeywordRegistry.knowledgeType$solution()) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} diff --git a/entity/KnowledgeManagement_entity/recordcontainers/db/conditionProcess.js b/entity/KnowledgeManagement_entity/recordcontainers/db/conditionProcess.js index 1fafde255863d73379c9939c0639ac59e0039645..2c77e937c9e8287ca47f33490795d30aa1424025 100644 --- a/entity/KnowledgeManagement_entity/recordcontainers/db/conditionProcess.js +++ b/entity/KnowledgeManagement_entity/recordcontainers/db/conditionProcess.js @@ -33,4 +33,30 @@ if(vars.get("$param.ObjectRowId_param") && vars.get("$param.ObjectType_param")) SqlBuilder.IN()); } +if(vars.get("$param.Category_param")) +{ + cond.and("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTCATEGORY_ID", + newSelect("KNOWLEDGEMANAGEMENTCATEGORYID") + .from("KNOWLEDGEMANAGEMENTCATEGORY") + .whereIfSet("KNOWLEDGEMANAGEMENTCATEGORY.KNOWLEDGEMANAGEMENTCATEGORYID", "$param.Category_param"), SqlBuilder.IN()) + +} + +if(vars.get("$param.TicketCategory_param")) +{ + cond.and("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID", + newSelect("KNOWLEDGEMANAGEMENT_ID") + .from("KNOWLEDGEMANAGEMENTTICKETCATEGORY") + .whereIfSet("KNOWLEDGEMANAGEMENTTICKETCATEGORY.CLASSIFICATION", "$param.TicketCategory_param"), SqlBuilder.IN()) + .or("KNOWLEDGEMANAGEMENT.USEINALLTICKETCATEGORIES", 1);; +} + +if(vars.get("$param.Inbox_param")) +{ + cond.and("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID", + newSelect("KNOWLEDGEMANAGEMENT_ID") + .from("KNOWLEDGEMANAGEMENTINBOX") + .whereIfSet("KNOWLEDGEMANAGEMENTINBOX.INBOX_ID", "$param.Inbox_param"), SqlBuilder.IN()) + .or("KNOWLEDGEMANAGEMENT.USEINALLINBOXES", 1); +} result.string(cond.toString()); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/knowledgemanagement_category_id.displayvalue/expression.js b/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/knowledgemanagement_category_id.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..6caee254e0a37a92bd420682ef89ce307357d2c9 --- /dev/null +++ b/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/knowledgemanagement_category_id.displayvalue/expression.js @@ -0,0 +1,9 @@ +import("system.result"); +import("Sql_lib"); + +result.string( + newSelect(["KNOWLEDGEMANAGEMENTCATEGORY.NAME"]) + .from("KNOWLEDGEMANAGEMENTCATEGORY") + .where("KNOWLEDGEMANAGEMENTCATEGORY.KNOWLEDGEMANAGEMENTCATEGORYID = KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTCATEGORY_ID") + .toString() +); \ No newline at end of file diff --git a/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/numberoflikes.value/expression.js b/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/numberoflikes.value/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..1931df219ea29a538f2a461e826a30443bc3d908 --- /dev/null +++ b/entity/KnowledgeManagement_entity/recordcontainers/db/recordfieldmappings/numberoflikes.value/expression.js @@ -0,0 +1,9 @@ +import("system.result"); +import("Sql_lib"); + +var sql = new SqlBuilder() + .selectCount(["LIKEBUTTON.OBJECT_ROWID"]) + .from("LIKEBUTTON") + .where("LIKEBUTTON.OBJECT_ROWID = KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID") + .toString(); +result.string(sql); \ No newline at end of file diff --git a/entity/LikeButton_entity/LikeButton_entity.aod b/entity/LikeButton_entity/LikeButton_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..c8216feb0bcb68e912dde48f34c177758d2d1c85 --- /dev/null +++ b/entity/LikeButton_entity/LikeButton_entity.aod @@ -0,0 +1,68 @@ +<?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.22" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.22"> + <name>LikeButton_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityProvider> + <name>#PROVIDER_AGGREGATES</name> + <useAggregates v="true" /> + </entityProvider> + <entityField> + <name>LIKEBUTTONID</name> + </entityField> + <entityField> + <name>CONTACT_ID</name> + </entityField> + <entityField> + <name>OBJECT_ROWID</name> + </entityField> + <entityField> + <name>OBJECT_TYPE</name> + </entityField> + <entityParameter> + <name>ObjectRowId_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + </entityParameter> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>CONTACT_ID.value</name> + <recordfield>LIKEBUTTON.CONTACT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LIKEBUTTONID.value</name> + <recordfield>LIKEBUTTON.LIKEBUTTONID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.value</name> + <recordfield>LIKEBUTTON.OBJECT_ROWID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_TYPE.value</name> + <recordfield>LIKEBUTTON.OBJECT_TYPE</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + <linkInformation> + <linkInformation> + <name>862241a7-a93e-4c27-8644-ee06f1d82e05</name> + <tableName>LIKEBUTTON</tableName> + <primaryKey>LIKEBUTTONID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/MailSignature_entity/recordcontainers/db/conditionProcess.js b/entity/MailSignature_entity/recordcontainers/db/conditionProcess.js index 5ef8b14372db3bdac10253cb3f8c2456772b167c..24b4f9bf55eb9cb305a39b9bf1c69d0ab747829d 100644 --- a/entity/MailSignature_entity/recordcontainers/db/conditionProcess.js +++ b/entity/MailSignature_entity/recordcontainers/db/conditionProcess.js @@ -1,4 +1,3 @@ -import("system.logging"); import("system.neon"); import("system.vars"); import("system.result"); diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index eee6ec2641707e66bc8baa06f2078aadc08dfcf6..cb0fc3514397f8fef6c70d7fe034e2dcbe31642c 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -1037,6 +1037,38 @@ <name>Approval_param</name> <expose v="true" /> </entityParameter> + <entityConsumer> + <name>KeywordProductGroup</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordproductgroup/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>DISCOUNT_NET</name> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> + <inputFormat>#,##0.00</inputFormat> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/discount_net/stateProcess.js</stateProcess> + <titleProcess>%aditoprj%/entity/Offer_entity/entityfields/discount_net/titleProcess.js</titleProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/discount_net/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>GROSS</name> + <title>Total gross</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> + <inputFormat>#,##0.00</inputFormat> + <state>READONLY</state> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/gross/displayValueProcess.js</displayValueProcess> + </entityField> <entityActionGroup> <name>observeActionGroup</name> <children> @@ -1148,6 +1180,12 @@ <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/approveoffer/stateProcess.js</stateProcess> <titleProcess>%aditoprj%/entity/Offer_entity/entityfields/approveoffer/titleProcess.js</titleProcess> </entityActionField> + <entityActionField> + <name>newSupportTicket</name> + <title>New Service ticket</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newsupportticket/onActionProcess.js</onActionProcess> + <iconId>VAADIN:TICKET</iconId> + </entityActionField> <entityActionField> <name>openAdminView</name> <title>Open admin view</title> @@ -1155,44 +1193,6 @@ <iconId>VAADIN:CURLY_BRACKETS</iconId> <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/openadminview/stateProcess.js</stateProcess> </entityActionField> - <entityActionField> - <name>newSupportTicket</name> - <title>New Service ticket</title> - <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newsupportticket/onActionProcess.js</onActionProcess> - <iconId>VAADIN:TICKET</iconId> - </entityActionField> - <entityConsumer> - <name>KeywordProductGroup</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordproductgroup/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>DISCOUNT_NET</name> - <contentType>NUMBER</contentType> - <outputFormat>#,##0.00</outputFormat> - <inputFormat>#,##0.00</inputFormat> - <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/discount_net/stateProcess.js</stateProcess> - <titleProcess>%aditoprj%/entity/Offer_entity/entityfields/discount_net/titleProcess.js</titleProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/discount_net/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>GROSS</name> - <title>Total gross</title> - <contentType>NUMBER</contentType> - <outputFormat>#,##0.00</outputFormat> - <inputFormat>#,##0.00</inputFormat> - <state>READONLY</state> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/gross/displayValueProcess.js</displayValueProcess> - </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Offeritem_entity/afterSave.js b/entity/Offeritem_entity/afterSave.js index 0fc435de6530b8e80d7e205b331ace1191a336ac..2041fcb06ebb03186268f931bc460f18ab937d96 100644 --- a/entity/Offeritem_entity/afterSave.js +++ b/entity/Offeritem_entity/afterSave.js @@ -2,6 +2,7 @@ import("system.neon"); import("system.entities"); import("system.vars"); import("Sql_lib"); +import("Offer_lib"); if(vars.get("$local.recordstate") == neon.OPERATINGSTATE_EDIT) { diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod index 1a54cbd02b1c4159ec649c07eb897079c75f6cc2..2a7526b67352219e7289f9df4805b8a891596cb9 100644 --- a/entity/Organisation_entity/Organisation_entity.aod +++ b/entity/Organisation_entity/Organisation_entity.aod @@ -17,27 +17,6 @@ <titlePlural>Companies</titlePlural> <recordContainer>db</recordContainer> <entityFields> - <entityActionGroup> - <name>observeActionGroup</name> - <children> - <entityActionField> - <name>observe</name> - <title>Observe</title> - <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/observe/onActionProcess.js</onActionProcess> - <isObjectAction v="true" /> - <iconId>VAADIN:EYE</iconId> - <stateProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/observe/stateProcess.js</stateProcess> - <titleProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/observe/titleProcess.js</titleProcess> - </entityActionField> - <entityActionField> - <name>cancelObservation</name> - <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/cancelobservation/onActionProcess.js</onActionProcess> - <iconId>VAADIN:EYE_SLASH</iconId> - <stateProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/cancelobservation/stateProcess.js</stateProcess> - <titleProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/cancelobservation/titleProcess.js</titleProcess> - </entityActionField> - </children> - </entityActionGroup> <entityField> <name>CUSTOMERCODE</name> <title>Customercode</title> @@ -1077,6 +1056,221 @@ </entityParameter> </children> </entityConsumer> + <entityConsumer> + <name>DuplicatesOrganisation</name> + <selectionMode>MULTI</selectionMode> + <selectionModeProcess>%aditoprj%/entity/Organisation_entity/entityfields/duplicatesorganisation/selectionModeProcess.js</selectionModeProcess> + <dependency> + <name>dependency</name> + <entityName>Duplicate_entity</entityName> + <fieldName>Duplicates</fieldName> + </dependency> + <children> + <entityParameter> + <name>DuplicateObject_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/duplicatesorganisation/children/duplicateobject_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Plannings</name> + <dependency> + <name>dependency</name> + <entityName>Planning_entity</entityName> + <fieldName>Plannings</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/plannings/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Turnovers</name> + <dependency> + <name>dependency</name> + <entityName>Turnover_entity</entityName> + <fieldName>DynamicTurnover</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactIds_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/turnovers/children/contactids_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>conversionrates</name> + <dependency> + <name>dependency</name> + <entityName>SalesprojectConversionRate_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>ContactCommunicationSettings</name> + <refreshParent v="true" /> + <dependency> + <name>dependency</name> + <entityName>CommunicationSettings_entity</entityName> + <fieldName>SettingsForContact</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/contactcommunicationsettings/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>SearchSyncCondition_param</name> + <expose v="true" /> + </entityParameter> + <entityConsumer> + <name>Campaigns</name> + <dependency> + <name>dependency</name> + <entityName>Campaign_entity</entityName> + <fieldName>Campaigns</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>Bulkmails</name> + <dependency> + <name>dependency</name> + <entityName>BulkMail_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>CommunicationSettingStatusKeyword</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/communicationsettingstatuskeyword/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>ChecklistEntryValues</name> + <dependency> + <name>dependency</name> + <entityName>ChecklistEntryValue_entity</entityName> + <fieldName>ChecklistEntryValues</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/checklistentryvalues/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/checklistentryvalues/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ChecklistIds_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/checklistentryvalues/children/checklistids_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>Presentationmode_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/checklistentryvalues/children/presentationmode_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>IgnoreOrderBy_param</name> + <expose v="true" /> + </entityParameter> + <entityProvider> + <name>OrganisationForQuickEntry</name> + <lookupIdfield>ORGANISATIONID</lookupIdfield> + <documentation>%aditoprj%/entity/Organisation_entity/entityfields/organisationforquickentry/documentation.adoc</documentation> + <children> + <entityParameter> + <name>WithPrivate_param</name> + </entityParameter> + <entityParameter> + <name>AttributeId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>AttributeKeyId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>ExcludedContactIds_param</name> + </entityParameter> + <entityParameter> + <name>ExcludeOrganisationsByPersonId</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>MapViewAdditionalFeatures_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>MapViewCenterLat_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>MapViewCenterLon_param</name> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityConsumer> + <name>AllTopics</name> + <dependency> + <name>dependency</name> + <entityName>TopicTree_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + <children> + <entityParameter> + <name>Expanded_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/alltopics/children/expanded_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>OnlyActive_param</name> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/alltopics/children/onlyactive_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>IsQuickEntry_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>OnlyNotInCampaignId_param</name> + <expose v="true" /> + </entityParameter> + <entityActionGroup> + <name>observeActionGroup</name> + <children> + <entityActionField> + <name>observe</name> + <title>Observe</title> + <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/observe/onActionProcess.js</onActionProcess> + <isObjectAction v="true" /> + <iconId>VAADIN:EYE</iconId> + <stateProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/observe/stateProcess.js</stateProcess> + <titleProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/observe/titleProcess.js</titleProcess> + </entityActionField> + <entityActionField> + <name>cancelObservation</name> + <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/cancelobservation/onActionProcess.js</onActionProcess> + <iconId>VAADIN:EYE_SLASH</iconId> + <stateProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/cancelobservation/stateProcess.js</stateProcess> + <titleProcess>%aditoprj%/entity/Organisation_entity/entityfields/observeactiongroup/children/cancelobservation/titleProcess.js</titleProcess> + </entityActionField> + </children> + </entityActionGroup> <entityActionField> <name>openEditDefaultsView</name> <documentation>%aditoprj%/entity/Organisation_entity/entityfields/openeditdefaultsview/documentation.adoc</documentation> @@ -1272,6 +1466,12 @@ </entityActionField> </children> </entityActionGroup> + <entityActionField> + <name>openClassificationOverView</name> + <title>Show Classification</title> + <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/openclassificationoverview/onActionProcess.js</onActionProcess> + <iconId>VAADIN:LIST_OL</iconId> + </entityActionField> <entityActionField> <name>openAdminView</name> <title>Open admin view</title> @@ -1279,206 +1479,6 @@ <iconId>VAADIN:CURLY_BRACKETS</iconId> <stateProcess>%aditoprj%/entity/Organisation_entity/entityfields/openadminview/stateProcess.js</stateProcess> </entityActionField> - <entityConsumer> - <name>DuplicatesOrganisation</name> - <selectionMode>MULTI</selectionMode> - <selectionModeProcess>%aditoprj%/entity/Organisation_entity/entityfields/duplicatesorganisation/selectionModeProcess.js</selectionModeProcess> - <dependency> - <name>dependency</name> - <entityName>Duplicate_entity</entityName> - <fieldName>Duplicates</fieldName> - </dependency> - <children> - <entityParameter> - <name>DuplicateObject_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/duplicatesorganisation/children/duplicateobject_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Plannings</name> - <dependency> - <name>dependency</name> - <entityName>Planning_entity</entityName> - <fieldName>Plannings</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/plannings/children/contactid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Turnovers</name> - <dependency> - <name>dependency</name> - <entityName>Turnover_entity</entityName> - <fieldName>DynamicTurnover</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactIds_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/turnovers/children/contactids_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>conversionrates</name> - <dependency> - <name>dependency</name> - <entityName>SalesprojectConversionRate_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>ContactCommunicationSettings</name> - <refreshParent v="true" /> - <dependency> - <name>dependency</name> - <entityName>CommunicationSettings_entity</entityName> - <fieldName>SettingsForContact</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/contactcommunicationsettings/children/contactid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>SearchSyncCondition_param</name> - <expose v="true" /> - </entityParameter> - <entityConsumer> - <name>Campaigns</name> - <dependency> - <name>dependency</name> - <entityName>Campaign_entity</entityName> - <fieldName>Campaigns</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>Bulkmails</name> - <dependency> - <name>dependency</name> - <entityName>BulkMail_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>CommunicationSettingStatusKeyword</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/communicationsettingstatuskeyword/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>openClassificationOverView</name> - <title>Show Classification</title> - <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/openclassificationoverview/onActionProcess.js</onActionProcess> - <iconId>VAADIN:LIST_OL</iconId> - </entityActionField> - <entityConsumer> - <name>ChecklistEntryValues</name> - <dependency> - <name>dependency</name> - <entityName>ChecklistEntryValue_entity</entityName> - <fieldName>ChecklistEntryValues</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/checklistentryvalues/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/checklistentryvalues/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ChecklistIds_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/checklistentryvalues/children/checklistids_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>Presentationmode_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/checklistentryvalues/children/presentationmode_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>IgnoreOrderBy_param</name> - <expose v="true" /> - </entityParameter> - <entityProvider> - <name>OrganisationForQuickEntry</name> - <lookupIdfield>ORGANISATIONID</lookupIdfield> - <documentation>%aditoprj%/entity/Organisation_entity/entityfields/organisationforquickentry/documentation.adoc</documentation> - <children> - <entityParameter> - <name>WithPrivate_param</name> - </entityParameter> - <entityParameter> - <name>AttributeId_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>AttributeKeyId_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ExcludedContactIds_param</name> - </entityParameter> - <entityParameter> - <name>ExcludeOrganisationsByPersonId</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>MapViewAdditionalFeatures_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>MapViewCenterLat_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>MapViewCenterLon_param</name> - <expose v="false" /> - </entityParameter> - </children> - </entityProvider> - <entityConsumer> - <name>AllTopics</name> - <dependency> - <name>dependency</name> - <entityName>TopicTree_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - <children> - <entityParameter> - <name>Expanded_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/alltopics/children/expanded_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>OnlyActive_param</name> - <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/alltopics/children/onlyactive_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>IsQuickEntry_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>OnlyNotInCampaignId_param</name> - <expose v="true" /> - </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod index 482f939243f6babf1f4767cefb2e68a17b2cf774..d888f5fb1dc08eda16b52a61442c14863215b23d 100644 --- a/entity/Person_entity/Person_entity.aod +++ b/entity/Person_entity/Person_entity.aod @@ -23,27 +23,6 @@ <titlePlural>Contacts</titlePlural> <recordContainer>db</recordContainer> <entityFields> - <entityActionGroup> - <name>observeActionGroup</name> - <children> - <entityActionField> - <name>observe</name> - <title>Observe</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/observe/onActionProcess.js</onActionProcess> - <isObjectAction v="true" /> - <iconId>VAADIN:EYE</iconId> - <stateProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/observe/stateProcess.js</stateProcess> - <titleProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/observe/titleProcess.js</titleProcess> - </entityActionField> - <entityActionField> - <name>cancelObservation</name> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/cancelobservation/onActionProcess.js</onActionProcess> - <iconId>VAADIN:EYE_SLASH</iconId> - <stateProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/cancelobservation/stateProcess.js</stateProcess> - <titleProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/cancelobservation/titleProcess.js</titleProcess> - </entityActionField> - </children> - </entityActionGroup> <entityField> <name>DATEOFBIRTH</name> <title>Date of birth</title> @@ -1046,6 +1025,187 @@ <inputFormat>dd.MM.</inputFormat> <state>READONLY</state> </entityField> + <entityConsumer> + <name>DSGVODeleteFlags</name> + <stateProcess>%aditoprj%/entity/Person_entity/entityfields/dsgvodeleteflags/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>DSGVODeleteFlag_entity</entityName> + <fieldName>DSGVODeleteFlags</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/dsgvodeleteflags/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Campaigns</name> + <dependency> + <name>dependency</name> + <entityName>Campaign_entity</entityName> + <fieldName>Campaigns</fieldName> + </dependency> + </entityConsumer> + <entityParameter> + <name>FilterPreSet_param</name> + <expose v="true" /> + </entityParameter> + <entityConsumer> + <name>DuplicatesPerson</name> + <selectionMode>MULTI</selectionMode> + <selectionModeProcess>%aditoprj%/entity/Person_entity/entityfields/duplicatesperson/selectionModeProcess.js</selectionModeProcess> + <dependency> + <name>dependency</name> + <entityName>Duplicate_entity</entityName> + <fieldName>Duplicates</fieldName> + </dependency> + <children> + <entityParameter> + <name>DuplicateObject_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/duplicatesperson/children/duplicateobject_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>ContactCommunicationSettings</name> + <refreshParent v="true" /> + <dependency> + <name>dependency</name> + <entityName>CommunicationSettings_entity</entityName> + <fieldName>SettingsForContact</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contactcommunicationsettings/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>InterestLinks</name> + <dependency> + <name>dependency</name> + <entityName>InterestLink_entity</entityName> + <fieldName>InterestsForContact</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/interestlinks/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>SearchSyncCondition_param</name> + <expose v="true" /> + </entityParameter> + <entityConsumer> + <name>Interests</name> + <description>Used for the filterExtension "InterestLink_filter"</description> + <dependency> + <name>dependency</name> + <entityName>Interest_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>Bulkmails</name> + <description>Used for the filterExtension "BulkmailReceived_filter"</description> + <dependency> + <name>dependency</name> + <entityName>BulkMail_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>CommunicationSettingStatusKeyword</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/communicationsettingstatuskeyword/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Salesprojects</name> + <dependency> + <name>dependency</name> + <entityName>Salesproject_entity</entityName> + <fieldName>Salesprojects</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>AllTopics</name> + <dependency> + <name>dependency</name> + <entityName>TopicTree_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + <children> + <entityParameter> + <name>Expanded_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/alltopics/children/expanded_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Servicetickets</name> + <dependency> + <name>dependency</name> + <entityName>SupportTicket_entity</entityName> + <fieldName>SupportTickets</fieldName> + </dependency> + <children> + <entityParameter> + <name>ReturnEmpty_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/servicetickets/children/returnempty_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>TaskRequestorContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/servicetickets/children/taskrequestorcontactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>LETTERSALUTATION</name> + <title>Lettersalutation</title> + </entityField> + <entityField> + <name>contenttitle</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contenttitle/valueProcess.js</valueProcess> + </entityField> + <entityParameter> + <name>OnlyNotInCampaignId_param</name> + <expose v="true" /> + </entityParameter> + <entityActionGroup> + <name>observeActionGroup</name> + <children> + <entityActionField> + <name>observe</name> + <title>Observe</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/observe/onActionProcess.js</onActionProcess> + <isObjectAction v="true" /> + <iconId>VAADIN:EYE</iconId> + <stateProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/observe/stateProcess.js</stateProcess> + <titleProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/observe/titleProcess.js</titleProcess> + </entityActionField> + <entityActionField> + <name>cancelObservation</name> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/cancelobservation/onActionProcess.js</onActionProcess> + <iconId>VAADIN:EYE_SLASH</iconId> + <stateProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/cancelobservation/stateProcess.js</stateProcess> + <titleProcess>%aditoprj%/entity/Person_entity/entityfields/observeactiongroup/children/cancelobservation/titleProcess.js</titleProcess> + </entityActionField> + </children> + </entityActionGroup> <entityActionField> <name>openEditDefaultsView</name> <title>Edit defaults</title> @@ -1216,6 +1376,12 @@ <iconId>NEON:TRASH</iconId> <stateProcess>%aditoprj%/entity/Person_entity/entityfields/deletefunction/stateProcess.js</stateProcess> </entityActionField> + <entityActionField> + <name>newSupportTicket</name> + <title>New Service ticket</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newsupportticket/onActionProcess.js</onActionProcess> + <iconId>VAADIN:TICKET</iconId> + </entityActionField> <entityActionField> <name>openAdminView</name> <title>Open admin view</title> @@ -1223,172 +1389,6 @@ <iconId>VAADIN:CURLY_BRACKETS</iconId> <stateProcess>%aditoprj%/entity/Person_entity/entityfields/openadminview/stateProcess.js</stateProcess> </entityActionField> - <entityConsumer> - <name>DSGVODeleteFlags</name> - <stateProcess>%aditoprj%/entity/Person_entity/entityfields/dsgvodeleteflags/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>DSGVODeleteFlag_entity</entityName> - <fieldName>DSGVODeleteFlags</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/dsgvodeleteflags/children/contactid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Campaigns</name> - <dependency> - <name>dependency</name> - <entityName>Campaign_entity</entityName> - <fieldName>Campaigns</fieldName> - </dependency> - </entityConsumer> - <entityParameter> - <name>FilterPreSet_param</name> - <expose v="true" /> - </entityParameter> - <entityConsumer> - <name>DuplicatesPerson</name> - <selectionMode>MULTI</selectionMode> - <selectionModeProcess>%aditoprj%/entity/Person_entity/entityfields/duplicatesperson/selectionModeProcess.js</selectionModeProcess> - <dependency> - <name>dependency</name> - <entityName>Duplicate_entity</entityName> - <fieldName>Duplicates</fieldName> - </dependency> - <children> - <entityParameter> - <name>DuplicateObject_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/duplicatesperson/children/duplicateobject_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>ContactCommunicationSettings</name> - <refreshParent v="true" /> - <dependency> - <name>dependency</name> - <entityName>CommunicationSettings_entity</entityName> - <fieldName>SettingsForContact</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contactcommunicationsettings/children/contactid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>InterestLinks</name> - <dependency> - <name>dependency</name> - <entityName>InterestLink_entity</entityName> - <fieldName>InterestsForContact</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/interestlinks/children/contactid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>SearchSyncCondition_param</name> - <expose v="true" /> - </entityParameter> - <entityConsumer> - <name>Interests</name> - <description>Used for the filterExtension "InterestLink_filter"</description> - <dependency> - <name>dependency</name> - <entityName>Interest_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>Bulkmails</name> - <description>Used for the filterExtension "BulkmailReceived_filter"</description> - <dependency> - <name>dependency</name> - <entityName>BulkMail_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>CommunicationSettingStatusKeyword</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/communicationsettingstatuskeyword/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Salesprojects</name> - <dependency> - <name>dependency</name> - <entityName>Salesproject_entity</entityName> - <fieldName>Salesprojects</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>AllTopics</name> - <dependency> - <name>dependency</name> - <entityName>TopicTree_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - <children> - <entityParameter> - <name>Expanded_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/alltopics/children/expanded_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newSupportTicket</name> - <title>New Service ticket</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newsupportticket/onActionProcess.js</onActionProcess> - <iconId>VAADIN:TICKET</iconId> - </entityActionField> - <entityConsumer> - <name>Servicetickets</name> - <dependency> - <name>dependency</name> - <entityName>SupportTicket_entity</entityName> - <fieldName>SupportTickets</fieldName> - </dependency> - <children> - <entityParameter> - <name>ReturnEmpty_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/servicetickets/children/returnempty_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>TaskRequestorContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/servicetickets/children/taskrequestorcontactid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>LETTERSALUTATION</name> - <title>Lettersalutation</title> - </entityField> - <entityField> - <name>contenttitle</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contenttitle/valueProcess.js</valueProcess> - </entityField> - <entityParameter> - <name>OnlyNotInCampaignId_param</name> - <expose v="true" /> - </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/communicationsettings_filter/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/communicationsettings_filter/filterConditionProcess.js index b45b894a148f0b32658a19efcd0c383f070059d3..64e7cabe7f6ee78726ba88dd7b7940288ccb8ba8 100644 --- a/entity/Person_entity/recordcontainers/db/filterextensions/communicationsettings_filter/filterConditionProcess.js +++ b/entity/Person_entity/recordcontainers/db/filterextensions/communicationsettings_filter/filterConditionProcess.js @@ -1,3 +1,4 @@ +import("KeywordRegistry_basic"); import("Sql_lib"); import("system.result"); import("system.vars"); @@ -5,8 +6,17 @@ import("MarketingCondition_lib"); var mediumId = vars.get("$local.name"); mediumId = mediumId.slice(mediumId.lastIndexOf(".") + 1); -var condition = new CommunicationSettingsCondition() +var condition; +if (mediumId != $KeywordRegistry.communicationMediumCampaign$letter()) +{ + condition = new CommunicationSettingsCondition() .medium(mediumId); +} +else +{ + condition = new CommunicationSettingsCondition() + .address(); +} var operator = vars.get("$local.comparison"); if (operator == "EQUAL" || operator == "NOT_EQUAL") diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/communicationsettings_filter/filterFieldsProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/communicationsettings_filter/filterFieldsProcess.js index 3aeb275fdc4ce59e8e84360cdb889c8ebabc0a3c..49963ec0c78e246c75d4bdb9e1b4b09a07fac780 100644 --- a/entity/Person_entity/recordcontainers/db/filterextensions/communicationsettings_filter/filterFieldsProcess.js +++ b/entity/Person_entity/recordcontainers/db/filterextensions/communicationsettings_filter/filterFieldsProcess.js @@ -7,19 +7,16 @@ var mediums = KeywordUtils.getEntryArray($KeywordRegistry.communicationMediumCam var filterFields = []; mediums.forEach(function ([mediumId, mediumTitle]) { - if (mediumId != $KeywordRegistry.communicationMediumCampaign$letter()) - { - filterFields.push({ - name: mediumId, - title: translate.withArguments("Communication Setting: %0", [mediumTitle]), - contentType: "TEXT", - hasDropDownValues: false, - isGroupable: false, - groupedRecordField: null, - titleRecordField: null, - consumer: "CommunicationSettingStatusKeyword" - }); - } + filterFields.push({ + name: mediumId, + title: translate.withArguments("Communication Setting: %0", [mediumTitle]), + contentType: "TEXT", + hasDropDownValues: false, + isGroupable: false, + groupedRecordField: null, + titleRecordField: null, + consumer: "CommunicationSettingStatusKeyword" + }); }); result.string(JSON.stringify(filterFields)); \ No newline at end of file diff --git a/entity/Prod2prod_entity/Prod2prod_entity.aod b/entity/Prod2prod_entity/Prod2prod_entity.aod index ead47cfc2b7ce1a9f304350248ad64201065a2a0..b475bac9dd4e5570cee7881d426849d6c88d0217 100644 --- a/entity/Prod2prod_entity/Prod2prod_entity.aod +++ b/entity/Prod2prod_entity/Prod2prod_entity.aod @@ -4,6 +4,7 @@ <title>Parts list</title> <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/entity/Prod2prod_entity/documentation.adoc</documentation> + <afterSave>%aditoprj%/entity/Prod2prod_entity/afterSave.js</afterSave> <titlePlural>Parts list</titlePlural> <recordContainer>jDito</recordContainer> <entityFields> @@ -39,6 +40,10 @@ <consumer>Products</consumer> <mandatory v="true" /> <onValueChange>%aditoprj%/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> </entityField> <entityField> <name>TAKEPRICE</name> diff --git a/entity/Prod2prod_entity/afterSave.js b/entity/Prod2prod_entity/afterSave.js new file mode 100644 index 0000000000000000000000000000000000000000..63e2dbbb087479724e6a7b79a912391d6f875276 --- /dev/null +++ b/entity/Prod2prod_entity/afterSave.js @@ -0,0 +1,16 @@ +import("system.neon"); +import("system.vars"); +import("system.question"); +import("system.translate"); +import("Sql_lib"); + +if(vars.get("$local.recordstate") == neon.OPERATINGSTATE_NEW) +{ + var sql = new SqlBuilder().selectCount().from("PRODUCTPRICE") + .where("PRODUCTPRICE.PRODUCT_ID", vars.get("$field.DEST_ID")); + if(sql.cell() == 0) + { + var message = translate.text("Please add the price of the product"); + question.showMessage(message, question.WARNING, translate.text("Warning")); + } +} diff --git a/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js b/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js index 6b7340b99f92da214cf9f70f511e441c2d15ec55..c9db8f5da2ee3395ae89925242b80f5860b479c4 100644 --- a/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js +++ b/entity/Prod2prod_entity/entityfields/source_id/onValueChange.js @@ -166,17 +166,20 @@ function _calcPrices() } - for (i = 0; i < productAndChildProducts[null].length; i++) + if(productAndChildProducts[null]) { - var currentProdId = productAndChildProducts[null][i]; - - if(Utils.isNotNullOrEmptyString(productPrices[currentProdId]["PP"])) - { - buyPrice = eMath.addDec(buyPrice, productPrices[currentProdId]["PP"]); - } - if(Utils.isNotNullOrEmptyString(productPrices[currentProdId]["SP"])) + for(i = 0; i < productAndChildProducts[null].length; i++) { - sellPrice = eMath.addDec(sellPrice, productPrices[currentProdId]["SP"]); + var currentProdId = productAndChildProducts[null][i]; + + if(Utils.isNotNullOrEmptyString(productPrices[currentProdId]["PP"])) + { + buyPrice = eMath.addDec(buyPrice, productPrices[currentProdId]["PP"]); + } + if(Utils.isNotNullOrEmptyString(productPrices[currentProdId]["SP"])) + { + sellPrice = eMath.addDec(sellPrice, productPrices[currentProdId]["SP"]); + } } } buyPrice =( diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 08c5f993e915b02599172230abbf143418f26843..5975340055c762f4085f0ddd8e070b380072b4d4 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -749,81 +749,6 @@ </entityParameter> </children> </entityProvider> - <entityActionGroup> - <name>observeActionGroup</name> - <children> - <entityActionField> - <name>observe</name> - <title>Observe</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/observe/onActionProcess.js</onActionProcess> - <isObjectAction v="true" /> - <iconId>VAADIN:EYE</iconId> - <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/observe/stateProcess.js</stateProcess> - <titleProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/observe/titleProcess.js</titleProcess> - </entityActionField> - <entityActionField> - <name>cancelObservation</name> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/cancelobservation/onActionProcess.js</onActionProcess> - <iconId>VAADIN:EYE_SLASH</iconId> - <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/cancelobservation/stateProcess.js</stateProcess> - <titleProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/cancelobservation/titleProcess.js</titleProcess> - </entityActionField> - <entityActionField> - <name>export</name> - <title>Export</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/onActionProcess.js</onActionProcess> - <isMenuAction v="true" /> - <isObjectAction v="false" /> - <iconId>NEON:EXPORT</iconId> - <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/stateProcess.js</stateProcess> - <tooltip>Export fields of this table</tooltip> - <tooltipProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js</tooltipProcess> - </entityActionField> - </children> - </entityActionGroup> - <entityActionField> - <name>newOffer</name> - <documentation>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/documentation.adoc</documentation> - <title>New offer</title> - <description>Opens the Offer context in NEW-Mode and fills salesproject and contact.</description> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> - <iconId>VAADIN:CART</iconId> - </entityActionField> - <entityActionField> - <name>newTimetracking</name> - <title>New time tracking</title> - <description>Opens the time tracking context in new-mode for the selected salesproject</description> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtimetracking/onActionProcess.js</onActionProcess> - <iconId>VAADIN:STOPWATCH</iconId> - </entityActionField> - <entityActionField> - <name>newActivity</name> - <title>New activity</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> - <iconId>VAADIN:HOURGLASS_END</iconId> - <tooltip>New activity</tooltip> - <tooltipProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> - </entityActionField> - <entityActionField> - <name>newTask</name> - <title>New task</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js</onActionProcess> - <iconId>VAADIN:TASKS</iconId> - </entityActionField> - <entityActionField> - <name>startWorkflow</name> - <title>Start workflow</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/startworkflow/onActionProcess.js</onActionProcess> - <iconId>VAADIN:PLAY</iconId> - <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/startworkflow/stateProcess.js</stateProcess> - </entityActionField> - <entityActionField> - <name>openAdminView</name> - <title>Open admin view</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/openadminview/onActionProcess.js</onActionProcess> - <iconId>VAADIN:CURLY_BRACKETS</iconId> - <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/openadminview/stateProcess.js</stateProcess> - </entityActionField> <entityAggregateField> <name>PROBABILITY_aggregate</name> <parentField>PROBABILITY</parentField> @@ -862,12 +787,6 @@ </entityParameter> </children> </entityConsumer> - <entityActionField> - <name>openClassificationOverView</name> - <title>Show Classification</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/openclassificationoverview/onActionProcess.js</onActionProcess> - <iconId>VAADIN:LIST_OL</iconId> - </entityActionField> <entityParameter> <name>IgnoreChecklists_param</name> <expose v="true" /> @@ -910,6 +829,87 @@ <fieldName>Contacts</fieldName> </dependency> </entityConsumer> + <entityActionGroup> + <name>observeActionGroup</name> + <children> + <entityActionField> + <name>observe</name> + <title>Observe</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/observe/onActionProcess.js</onActionProcess> + <isObjectAction v="true" /> + <iconId>VAADIN:EYE</iconId> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/observe/stateProcess.js</stateProcess> + <titleProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/observe/titleProcess.js</titleProcess> + </entityActionField> + <entityActionField> + <name>cancelObservation</name> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/cancelobservation/onActionProcess.js</onActionProcess> + <iconId>VAADIN:EYE_SLASH</iconId> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/cancelobservation/stateProcess.js</stateProcess> + <titleProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/cancelobservation/titleProcess.js</titleProcess> + </entityActionField> + <entityActionField> + <name>export</name> + <title>Export</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="false" /> + <iconId>NEON:EXPORT</iconId> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/stateProcess.js</stateProcess> + <tooltip>Export fields of this table</tooltip> + <tooltipProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js</tooltipProcess> + </entityActionField> + </children> + </entityActionGroup> + <entityActionField> + <name>newOffer</name> + <documentation>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/documentation.adoc</documentation> + <title>New offer</title> + <description>Opens the Offer context in NEW-Mode and fills salesproject and contact.</description> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CART</iconId> + </entityActionField> + <entityActionField> + <name>newTimetracking</name> + <title>New time tracking</title> + <description>Opens the time tracking context in new-mode for the selected salesproject</description> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtimetracking/onActionProcess.js</onActionProcess> + <iconId>VAADIN:STOPWATCH</iconId> + </entityActionField> + <entityActionField> + <name>newActivity</name> + <title>New activity</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> + <iconId>VAADIN:HOURGLASS_END</iconId> + <tooltip>New activity</tooltip> + <tooltipProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> + </entityActionField> + <entityActionField> + <name>newTask</name> + <title>New task</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js</onActionProcess> + <iconId>VAADIN:TASKS</iconId> + </entityActionField> + <entityActionField> + <name>startWorkflow</name> + <title>Start workflow</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/startworkflow/onActionProcess.js</onActionProcess> + <iconId>VAADIN:PLAY</iconId> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/startworkflow/stateProcess.js</stateProcess> + </entityActionField> + <entityActionField> + <name>openClassificationOverView</name> + <title>Show Classification</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/openclassificationoverview/onActionProcess.js</onActionProcess> + <iconId>VAADIN:LIST_OL</iconId> + </entityActionField> + <entityActionField> + <name>openAdminView</name> + <title>Open admin view</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/openadminview/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CURLY_BRACKETS</iconId> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/openadminview/stateProcess.js</stateProcess> + </entityActionField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/SupportTicketTemplate_entity/entityfields/openadminview/onActionProcess.js b/entity/SupportTicketTemplate_entity/entityfields/openadminview/onActionProcess.js index c9a41d3781d124ddcda6ff7c65154d81dfc182d4..1c7c3a609b4fb862a1dad85fb3efa779aac91f80 100644 --- a/entity/SupportTicketTemplate_entity/entityfields/openadminview/onActionProcess.js +++ b/entity/SupportTicketTemplate_entity/entityfields/openadminview/onActionProcess.js @@ -1,5 +1,4 @@ import("DocumentTemplate_lib"); -import("system.logging"); import("system.vars"); import("Context_lib"); diff --git a/entity/SupportTicket_entity/SupportTicket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod index b53b47a33f2b4ccf79950d2b2f7c21f066ff8342..e4dea0d870b5a8fc6ff3023c91a907e9ceafdd8a 100644 --- a/entity/SupportTicket_entity/SupportTicket_entity.aod +++ b/entity/SupportTicket_entity/SupportTicket_entity.aod @@ -771,7 +771,8 @@ </entityField> <entityField> <name>IsOverDue</name> - <contentType>TEXT</contentType> + <title>Over due</title> + <contentType>BOOLEAN</contentType> </entityField> <entityField> <name>DATE_END</name> @@ -962,6 +963,27 @@ <contentType>DATE</contentType> <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/date_edit/valueProcess.js</valueProcess> </entityField> + <entityParameter> + <name>PullNextFilter_param</name> + </entityParameter> + <entityConsumer> + <name>KnowledgeEntries</name> + <dependency> + <name>dependency</name> + <entityName>KnowledgeManagement_entity</entityName> + <fieldName>Provider</fieldName> + </dependency> + <children> + <entityParameter> + <name>TicketCategory_param</name> + <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/knowledgeentries/children/ticketcategory_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>Inbox_param</name> + <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/knowledgeentries/children/inbox_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -1181,6 +1203,7 @@ <dbRecordFieldMapping> <name>IsOverDue.value</name> <expression>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/isoverdue.value/expression.js</expression> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>DATE_END.value</name> @@ -1229,15 +1252,6 @@ </linkInformation> </linkInformation> <filterExtensions> - <filterExtension> - <name>Favorite_filter</name> - <title>Favoritegroup</title> - <contentType>TEXT</contentType> - <filterValuesProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess> - <filterConditionProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess> - <isLookupFilter v="false" /> - <filtertype>BASIC</filtertype> - </filterExtension> <filterExtensionSet> <name>Attribute_filter</name> <filterFieldsProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> diff --git a/entity/SupportTicket_entity/entityfields/code/valueProcess.js b/entity/SupportTicket_entity/entityfields/code/valueProcess.js index b3745b58d06c37e5cdd691e0fab9a532fe53083a..74531e678fd10b70f4c91fe7ea90bf496c5ab2be 100644 --- a/entity/SupportTicket_entity/entityfields/code/valueProcess.js +++ b/entity/SupportTicket_entity/entityfields/code/valueProcess.js @@ -3,4 +3,6 @@ import("system.vars"); import("system.result"); if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) - result.string("-1"); \ No newline at end of file +{ + result.string("-1"); +} \ No newline at end of file diff --git a/entity/SupportTicket_entity/entityfields/is_overdue_symbol/valueProcess.js b/entity/SupportTicket_entity/entityfields/is_overdue_symbol/valueProcess.js index 8aa84faafb8a12a9c61392a6e7ad8d31c6214f58..d47c8c67463a6e4bc3eaf3c7e09b88cdd8ccaefd 100644 --- a/entity/SupportTicket_entity/entityfields/is_overdue_symbol/valueProcess.js +++ b/entity/SupportTicket_entity/entityfields/is_overdue_symbol/valueProcess.js @@ -1,7 +1,8 @@ +import("Util_lib"); import("system.result"); import("system.vars"); -if (vars.get("$field.IsOverDue")) +if(Utils.toBoolean(vars.get("$field.IsOverDue"))) { result.string("vaadin:warning"); } \ No newline at end of file diff --git a/entity/SupportTicket_entity/entityfields/knowledgeentries/children/inbox_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/knowledgeentries/children/inbox_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2f8c39f1c827c33ba52b016777362e53bb5f9300 --- /dev/null +++ b/entity/SupportTicket_entity/entityfields/knowledgeentries/children/inbox_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); + + +result.string(vars.get("$field.INBOX_ID")); \ No newline at end of file diff --git a/entity/SupportTicket_entity/entityfields/knowledgeentries/children/ticketcategory_param/valueProcess.js b/entity/SupportTicket_entity/entityfields/knowledgeentries/children/ticketcategory_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..de86ee5975b7a56d58f1ac94fc454a72a5c32fd5 --- /dev/null +++ b/entity/SupportTicket_entity/entityfields/knowledgeentries/children/ticketcategory_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); + + +result.string(vars.get("$field.TICKETCATEGORY")); \ No newline at end of file diff --git a/entity/SupportTicket_entity/entityfields/pullnextticket/onActionProcess.js b/entity/SupportTicket_entity/entityfields/pullnextticket/onActionProcess.js index 8d560f90102015edae43c4e4957e0164a0c25b9c..7d76af665602da02bd9c5fdce10d8be7bb623f1b 100644 --- a/entity/SupportTicket_entity/entityfields/pullnextticket/onActionProcess.js +++ b/entity/SupportTicket_entity/entityfields/pullnextticket/onActionProcess.js @@ -132,4 +132,4 @@ if(ticketID != "") else { question.showMessage(translate.text("No new tickets available at this moment.")); -} \ No newline at end of file +} diff --git a/entity/SupportTicket_entity/entityfields/reopenticket/stateProcess.js b/entity/SupportTicket_entity/entityfields/reopenticket/stateProcess.js index bd519dff16f56661f215d99ca78674fa893e31c3..e7c12969c8711707f645c98acf3145ed675ec16d 100644 --- a/entity/SupportTicket_entity/entityfields/reopenticket/stateProcess.js +++ b/entity/SupportTicket_entity/entityfields/reopenticket/stateProcess.js @@ -4,12 +4,11 @@ import("system.vars"); import("KeywordRegistry_basic"); - -if (vars.get ("$field.TASK_STATUS") != $KeywordRegistry.taskStatus$ended()) +if (vars.get ("$field.TASK_STATUS") == $KeywordRegistry.taskStatus$ended()) { - result.string(neon.COMPONENTSTATE_INVISIBLE); + result.string(neon.COMPONENTSTATE_INVISIBLE); } -else +else { - result.string(neon.COMPONENTSTATE_EDITABLE); + result.string(neon.COMPONENTSTATE_EDITABLE); } \ No newline at end of file diff --git a/entity/SupportTicket_entity/entityfields/resubmitticket/stateProcess.js b/entity/SupportTicket_entity/entityfields/resubmitticket/stateProcess.js index 82fc9b573f3fd68fd874b4b7b4c88cedcbaebefd..e7c12969c8711707f645c98acf3145ed675ec16d 100644 --- a/entity/SupportTicket_entity/entityfields/resubmitticket/stateProcess.js +++ b/entity/SupportTicket_entity/entityfields/resubmitticket/stateProcess.js @@ -1,13 +1,14 @@ -import("system.vars"); -import("KeywordRegistry_basic"); import("system.neon"); import("system.result"); +import("system.vars"); +import("KeywordRegistry_basic"); + if (vars.get ("$field.TASK_STATUS") == $KeywordRegistry.taskStatus$ended()) { - result.string(neon.COMPONENTSTATE_INVISIBLE); + result.string(neon.COMPONENTSTATE_INVISIBLE); } -else +else { - result.string(neon.COMPONENTSTATE_EDITABLE); + result.string(neon.COMPONENTSTATE_EDITABLE); } \ No newline at end of file diff --git a/entity/SupportTicket_entity/entityfields/returnticket/stateProcess.js b/entity/SupportTicket_entity/entityfields/returnticket/stateProcess.js index 17de559118b4e70dc5114c02057c01c48e12770d..5c464d664a72dd749226c3c10a6065f524443a0d 100644 --- a/entity/SupportTicket_entity/entityfields/returnticket/stateProcess.js +++ b/entity/SupportTicket_entity/entityfields/returnticket/stateProcess.js @@ -4,7 +4,7 @@ import("system.vars"); import("KeywordRegistry_basic"); -if(vars.get ("$field.TASK_STATUS") == $KeywordRegistry.taskStatus$ended()) +if (vars.get ("$field.TASK_STATUS") == $KeywordRegistry.taskStatus$ended()) { result.string(neon.COMPONENTSTATE_DISABLED); } diff --git a/entity/SupportTicket_entity/entityfields/task_maturity_date/colorProcess.js b/entity/SupportTicket_entity/entityfields/task_maturity_date/colorProcess.js index 7d9f0d45cc43af221717e74e4226ddfa39e9999f..d4fe89a7045aa701e3adc69dfe2afab5c2b9e511 100644 --- a/entity/SupportTicket_entity/entityfields/task_maturity_date/colorProcess.js +++ b/entity/SupportTicket_entity/entityfields/task_maturity_date/colorProcess.js @@ -1,13 +1,10 @@ +import("Util_lib"); import("system.neon"); import("system.result"); -import("system.datetime"); import("system.vars"); - -var overdue =vars.get("$field.IsOverDue"); - -if (!overdue) +if (!Utils.toBoolean(vars.get("$field.IsOverDue"))) { result.string(neon.PRIORITY_NONE_COLOR); } diff --git a/entity/SupportTicket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js b/entity/SupportTicket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js index 35ee9d5af270f7b70e4827ca1717b9d96882cea6..be62dd271eed3bb07cf8adadbf4de178111d21e6 100644 --- a/entity/SupportTicket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js +++ b/entity/SupportTicket_entity/entityfields/task_requestor_contact_id/displayValueProcess.js @@ -4,4 +4,4 @@ import("Contact_lib"); //show the simpel title since this is an employee-entry and therefore no organisation is needed var title = ContactUtils.getTitleByContactId(vars.get("$field.TASK_REQUESTOR_CONTACT_ID")); -result.string(title); \ No newline at end of file +result.string(title); diff --git a/entity/SupportTicket_entity/entityfields/task_status/onValueChange.js b/entity/SupportTicket_entity/entityfields/task_status/onValueChange.js index 11e0d8c507174696fea38542dff5f8f113ae874e..ec8d0d9b003d3f5ecce80b5bf476148fbf654e8d 100644 --- a/entity/SupportTicket_entity/entityfields/task_status/onValueChange.js +++ b/entity/SupportTicket_entity/entityfields/task_status/onValueChange.js @@ -1,4 +1,3 @@ -import("system.logging"); import("system.neon"); import("system.vars"); import("Employee_lib"); diff --git a/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js b/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js index d40bba5ac7f7aee98aa22fc21fd6539b36cc2135..3489e443b426ff370d354092a0d7a7ca9dbd387a 100644 --- a/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js +++ b/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js @@ -11,6 +11,7 @@ var cond = newWhere() .andIfSet("TICKET.TICKETTYPE", "$param.TicketType_param") .andIfSet("TICKET.INBOX_ID", "$param.InboxId_param") .andIfSet("TICKET.TICKETID", "$param.TicketId_param") + var loadNothing = false; if (Utils.toBoolean(vars.getString("$param.FilterOnlyOwnTicket_param"))) diff --git a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js deleted file mode 100644 index a49514ad69abfed288c70f506f3b9dd30bdd53de..0000000000000000000000000000000000000000 --- a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js +++ /dev/null @@ -1,12 +0,0 @@ -import("system.vars"); -import("Favorites_lib"); -import("system.result"); -import("Sql_lib"); - -var operator = vars.get("$local.operator"); -var rawvalue = vars.get("$local.rawvalue"); - -var objecttype = vars.get("$field.SUPPORTTICKET_OBJECTTYPE"); -var idcolumn = "TICKET.TICKETID"; - -result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn)); diff --git a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js deleted file mode 100644 index 419128ca73fe597afc7ca4aeed50b28e610206ec..0000000000000000000000000000000000000000 --- a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js +++ /dev/null @@ -1,5 +0,0 @@ -import("Context_lib"); -import("system.result"); -import("Favorites_lib"); - -result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/SupportTicket_entity/recordcontainers/db/orderClauseProcess.js b/entity/SupportTicket_entity/recordcontainers/db/orderClauseProcess.js index 0e288520769a327ff42141d7d00eb083ba9c9766..9cd8ad79b2defbbb2ab9e11cd02eff546a8cc88d 100644 --- a/entity/SupportTicket_entity/recordcontainers/db/orderClauseProcess.js +++ b/entity/SupportTicket_entity/recordcontainers/db/orderClauseProcess.js @@ -1,4 +1,14 @@ +import("Util_lib"); +import("system.vars"); import("system.db"); import("system.result"); -result.object({"TASK.START_DATE": db.DESCENDING}); \ No newline at end of file + +if(Utils.toBoolean(vars.get("$param.PullNextFilter_param"))) +{ + result.object({"TASK.START_DATE": db.ASCENDING}); +} +else +{ + result.object({"TASK.START_DATE": db.DESCENDING}); +} \ No newline at end of file diff --git a/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/isoverdue.value/expression.js b/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/isoverdue.value/expression.js index 1f6de45f9e5cac81f7df63f7ea151f245405e2af..5e391090d4d0477334e5479930f1e3aeaf0917e5 100644 --- a/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/isoverdue.value/expression.js +++ b/entity/SupportTicket_entity/recordcontainers/db/recordfieldmappings/isoverdue.value/expression.js @@ -5,8 +5,8 @@ import("system.result"); import("KeywordRegistry_basic"); result.string( SqlBuilder.caseStatement() - .when("TASK.MATURITY_DATE", datetime.date(), SqlBuilder.GREATER()).then("''") - .when( "TASK.MATURITY_DATE is null").then("''") - .when( "TASK.STATUS", $KeywordRegistry.taskStatus$ended()).then("''") - .elseString("true")); + .when("TASK.MATURITY_DATE", datetime.date(), SqlBuilder.GREATER()).then("0") + .when( "TASK.MATURITY_DATE is null").then("0") + .when( "TASK.STATUS", $KeywordRegistry.taskStatus$ended()).then("0") + .elseString("1")); diff --git a/entity/TicketCategory_param/valueProcess.js b/entity/TicketCategory_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 0de471df7eea0b69b3ad0ed3c63b1a4c6fb1da84..5e7d445c78638868fe57be5ca859a1f6c4670a3e 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -8169,9 +8169,6 @@ <entry> <key>Ticket resubmitted</key> </entry> - <entry> - <key>New service ticket</key> - </entry> <entry> <key>New date due</key> </entry> @@ -9031,25 +9028,67 @@ <key>Show the finished Tickets in the last 4 weeks</key> </entry> <entry> - <key>completed</key> + <key>by title</key> </entry> <entry> - <key>Existing customer</key> + <key>by translated title</key> </entry> <entry> - <key>Cust.-No.</key> + <key>manually</key> </entry> <entry> - <key>by title</key> + <key>Remove Like</key> </entry> <entry> - <key>by translated title</key> + <key>liked your knowledge article</key> </entry> <entry> - <key>${TASK_PROTECTIONLEVEL}</key> + <key>Someone liked one of your articles</key> </entry> <entry> - <key>manually</key> + <key>Use all categories</key> + </entry> + <entry> + <key>Use all inboxes</key> + </entry> + <entry> + <key>solution</key> + </entry> + <entry> + <key>Service category</key> + </entry> + <entry> + <key>Knowledge category</key> + </entry> + <entry> + <key>Knowledge categories</key> + </entry> + <entry> + <key>Service categories</key> + </entry> + <entry> + <key>order</key> + </entry> + <entry> + <key>Entries</key> + </entry> + <entry> + <key>Summary</key> + </entry> + <entry> + <key>Kd.-Nr.</key> + </entry> + <entry> + <key>completed</key> + </entry> + <entry> + <key>Existing customer</key> + </entry> + <entry> + <key>Cust.-No.</key> + </entry> + <entry> + <key>${TASK_PROTECTIONLEVEL}</key> </entry> <entry> <key>Contact or company</key> @@ -9099,6 +9138,27 @@ <entry> <key>The status-change of the ticket was skipped. Any other changes were carried out.</key> </entry> + <entry> + <key>Focus</key> + </entry> + <entry> + <key>To re-opening tickets, please use the corresponding action.</key> + </entry> + <entry> + <key>Use all serviceticket categories</key> + </entry> + <entry> + <key>Overdue</key> + </entry> + <entry> + <key>Please add the price of the product</key> + </entry> + <entry> + <key>New service ticket</key> + </entry> + <entry> + <key>Continue mailing</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 68792eaf938f2756ebae4488e35bfa9fc417fd4a..d626de5fbf60c808d0d63022fed873eeb0160ff2 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -6,10 +6,22 @@ <country></country> <variant></variant> <keyValueMap> + <entry> + <key>Remove Like</key> + <value>Like entfernen</value> + </entry> <entry> <key>The file did not contain any data</key> <value>Die Datei enthielt keine Daten</value> </entry> + <entry> + <key>Service category</key> + <value>Servicekategorie</value> + </entry> + <entry> + <key>Knowledge category</key> + <value>Wissenskategorie</value> + </entry> <entry> <key>by translated title</key> <value>Titel (übersetzt)</value> @@ -42,6 +54,10 @@ <key>Base Template</key> <value>Ursprungsvorlage</value> </entry> + <entry> + <key>Continue mailing</key> + <value>Versand fortsetzen</value> + </entry> <entry> <key>Only .odt, .docx and .docm files are supported for letters.</key> <value>Für Briefe werden nur .odt, .docx und .docm Dateien unterstützt</value> @@ -469,6 +485,10 @@ <key>Organisation Zip</key> <value>Firma PLZ</value> </entry> + <entry> + <key>Someone liked one of your articles</key> + <value>Jemand hat Ihren Wissenseintrag gelikt.</value> + </entry> <entry> <key>Attribute \"%0\" can only be inserted once with the same value.</key> <value>Eigenschaft \"%0\" kann nur einmal mit dem selben Wert ausgewählt werden.</value> @@ -2056,6 +2076,10 @@ <key>Type of contract</key> <value>Vertragsart</value> </entry> + <entry> + <key>Summary</key> + <value>Zusammenfassung</value> + </entry> <entry> <key>No</key> <value>Nein</value> @@ -2963,6 +2987,10 @@ <key>Container</key> <value>Container</value> </entry> + <entry> + <key>solution</key> + <value>Lösung</value> + </entry> <entry> <key>Administration</key> <value>Administration</value> @@ -4675,6 +4703,10 @@ <key>CIF</key> <value>CIF</value> </entry> + <entry> + <key>Entries</key> + <value>Einträge</value> + </entry> <entry> <key>ex works</key> <value>ab Werk</value> @@ -6375,6 +6407,10 @@ <key>Payment problem customer</key> <value>Zahlungsproblem Kunde</value> </entry> + <entry> + <key>Knowledge categories</key> + <value>Wissenskategorien</value> + </entry> <entry> <key>Agency</key> <value>Behörde</value> @@ -7713,6 +7749,10 @@ <key>Column 30</key> <value>Spalte 30</value> </entry> + <entry> + <key>Overdue</key> + <value>Überfällig</value> + </entry> <entry> <key>Duplicate status</key> <value>Dublettenstatus</value> @@ -8099,6 +8139,10 @@ <key>Test</key> <value>Test</value> </entry> + <entry> + <key>order</key> + <value>Reihenfolge</value> + </entry> <entry> <key>Trigger</key> <value>Auslöser</value> @@ -10065,6 +10109,14 @@ <key>Prev</key> <value>vorher</value> </entry> + <entry> + <key>Service categories</key> + <value>Servicekategorien</value> + </entry> + <entry> + <key>Focus</key> + <value>Focus</value> + </entry> <entry> <key>Next</key> <value>Weiter</value> @@ -10514,6 +10566,10 @@ <key>Done by</key> <value>Erledigt von</value> </entry> + <entry> + <key>liked your knowledge article</key> + <value>hat ihren Wissenbeitrag gelikt. Wissensbeitrag:</value> + </entry> <entry> <key>Done on</key> <value>Erledigt am</value> @@ -11473,6 +11529,10 @@ <entry> <key>Chart Number of tickets total (Mail)</key> </entry> + <entry> + <key>Use all inboxes</key> + <value>Alle Postkörbe</value> + </entry> <entry> <key>Chart Number of tickets per inbox (Status)</key> </entry> @@ -11563,7 +11623,7 @@ </entry> <entry> <key>Pull next ticket or create new ones</key> - <value></value> + <value>Neue Tickets ziehen oder erstellen</value> </entry> <entry> <key>Abgeschlossen</key> @@ -11768,7 +11828,8 @@ <value>Neues Serviceticket</value> </entry> <entry> - <key>Use all service ticket categories</key> + <key>Use all categories</key> + <value>Alle Kategorien</value> </entry> <entry> <key>Service ticket categories</key> @@ -11873,6 +11934,7 @@ </entry> <entry> <key>Show my tickets that are in process.</key> + <value>Meine Tickets anzeigen, die in Bearbeitung sind.</value> </entry> <entry> <key>Propkey</key> @@ -11888,6 +11950,16 @@ </entry> <entry> <key>Show the finished Tickets in the last 4 weeks</key> + <value>Zeigt die abgeschlossenen Tickets der letzten 4 Wochen an. </value> + </entry> + <entry> + <key>Manually</key> + </entry> + <entry> + <key>Use all service ticket categories</key> + </entry> + <entry> + <key>Use all serviceticket categories</key> </entry> <entry> <key>Cust.-No.</key> @@ -11905,9 +11977,6 @@ <key>${TASK_PROTECTIONLEVEL}</key> <value>Private Aufgabe</value> </entry> - <entry> - <key>Manually</key> - </entry> <entry> <key>Stufen</key> </entry> @@ -11945,6 +12014,15 @@ <key>Adito dark blue</key> <value>Adito dunkelblau</value> </entry> + <entry> + <key>To re-opening tickets, please use the corresponding action.</key> + </entry> + <entry> + <key>Kd.-Nr.</key> + </entry> + <entry> + <key>Please add the price of the product</key> + </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 9783b1bdcddc12507f83553cee2c50899aa1c16e..065c8306863474863094fdfb0fc6d610c7ead8f5 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -9105,29 +9105,71 @@ <key>Show the finished Tickets in the last 4 weeks</key> </entry> <entry> - <key>subject</key> + <key>by title</key> </entry> <entry> - <key>description</key> + <key>by translated title</key> </entry> <entry> - <key>Existing customer</key> + <key>manually</key> </entry> <entry> - <key>Cust.-No.</key> + <key>Remove Like</key> </entry> <entry> - <key>by title</key> + <key>liked your knowledge article</key> </entry> <entry> - <key>by translated title</key> + <key>Someone liked one of your articles</key> </entry> <entry> - <key>${TASK_PROTECTIONLEVEL}</key> - <value>Private task</value> + <key>Use all categories</key> </entry> <entry> - <key>manually</key> + <key>Use all inboxes</key> + </entry> + <entry> + <key>solution</key> + </entry> + <entry> + <key>Service category</key> + </entry> + <entry> + <key>Knowledge category</key> + </entry> + <entry> + <key>Knowledge categories</key> + </entry> + <entry> + <key>Service categories</key> + </entry> + <entry> + <key>order</key> + </entry> + <entry> + <key>Entries</key> + </entry> + <entry> + <key>Summary</key> + </entry> + <entry> + <key>Kd.-Nr.</key> + </entry> + <entry> + <key>subject</key> + </entry> + <entry> + <key>description</key> + </entry> + <entry> + <key>Existing customer</key> + </entry> + <entry> + <key>Cust.-No.</key> + </entry> + <entry> + <key>${TASK_PROTECTIONLEVEL}</key> + <value>Private task</value> </entry> <entry> <key>Contact or company</key> @@ -9177,6 +9219,24 @@ <entry> <key>The status-change of the ticket was skipped. Any other changes were carried out.</key> </entry> + <entry> + <key>Focus</key> + </entry> + <entry> + <key>To re-opening tickets, please use the corresponding action.</key> + </entry> + <entry> + <key>Use all serviceticket categories</key> + </entry> + <entry> + <key>Overdue</key> + </entry> + <entry> + <key>Please add the price of the product</key> + </entry> + <entry> + <key>Continue mailing</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonContext/KnowledgeManagement/KnowledgeManagement.aod b/neonContext/KnowledgeManagement/KnowledgeManagement.aod index ba9f4dc7f367ea19463e94e752d01a562fc20b58..d49635e79a601f9ebc93ae9e5a31010e4a192ed6 100644 --- a/neonContext/KnowledgeManagement/KnowledgeManagement.aod +++ b/neonContext/KnowledgeManagement/KnowledgeManagement.aod @@ -44,5 +44,9 @@ <name>be95c2fc-b29b-4d46-a8fc-0d79c09f67b6</name> <view>KnowledgeManagementContent_view</view> </neonViewReference> + <neonViewReference> + <name>69e79f0e-97d7-4744-a8cc-6fdbe01d898e</name> + <view>KnowledgeManagementFilterSearch_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonContext/KnowledgeManagementCategory/KnowledgeManagementCategory.aod b/neonContext/KnowledgeManagementCategory/KnowledgeManagementCategory.aod new file mode 100644 index 0000000000000000000000000000000000000000..e6ed4b6f3d76fc8dc37e7f46df4dab7edf0313b4 --- /dev/null +++ b/neonContext/KnowledgeManagementCategory/KnowledgeManagementCategory.aod @@ -0,0 +1,29 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1"> + <name>KnowledgeManagementCategory</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <icon>VAADIN:BOOKMARK</icon> + <mainView>KnowledgeManagementCategoryMain_view</mainView> + <filterView>KnowledgeManagementCategoryTiles_view</filterView> + <editView>KnowledgeManagementCategoryEdit_view</editView> + <lookupView>KnowledgeManagementCategoryFilter_view</lookupView> + <entity>KnowledgeManagementCategory_entity</entity> + <references> + <neonViewReference> + <name>5bd5f84a-6b96-4db5-927c-02e9e2273be1</name> + <view>KnowledgeManagementCategoryEdit_view</view> + </neonViewReference> + <neonViewReference> + <name>d081ae19-997a-44ed-ba20-710c1a90965d</name> + <view>KnowledgeManagementCategoryFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>9efcbfb4-b51a-4f09-89d9-6185efed1dcb</name> + <view>KnowledgeManagementCategoryTiles_view</view> + </neonViewReference> + <neonViewReference> + <name>6cf8aff8-4998-4db6-81e2-188f90c72840</name> + <view>KnowledgeManagementCategoryMain_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/KnowledgeManagementInbox/KnowledgeManagementInbox.aod b/neonContext/KnowledgeManagementInbox/KnowledgeManagementInbox.aod new file mode 100644 index 0000000000000000000000000000000000000000..cc332c739ef33b859c7f5b34ed24c459382d187a --- /dev/null +++ b/neonContext/KnowledgeManagementInbox/KnowledgeManagementInbox.aod @@ -0,0 +1,20 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1"> + <name>KnowledgeManagementInbox</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entity>KnowledgeManagementInbox_entity</entity> + <references> + <neonViewReference> + <name>cff1693c-5dbe-461b-84f6-48259cfde3ae</name> + <view>KnowledgeManagementInboxFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>c21b8dc3-47db-4676-ab4f-d6e8dc1d6aa7</name> + <view>KnowledgeManagementInboxList_view</view> + </neonViewReference> + <neonViewReference> + <name>bb252cc4-3a26-4218-85ad-8bf03fa65738</name> + <view>KnowledgeManagementInboxMultiEdit_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/KnowledgeManagementTicketCategory/KnowledgeManagementTicketCategory.aod b/neonContext/KnowledgeManagementTicketCategory/KnowledgeManagementTicketCategory.aod new file mode 100644 index 0000000000000000000000000000000000000000..47b2e8e7596491d5a173b5629240ee131ad0f06a --- /dev/null +++ b/neonContext/KnowledgeManagementTicketCategory/KnowledgeManagementTicketCategory.aod @@ -0,0 +1,20 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1"> + <name>KnowledgeManagementTicketCategory</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entity>KnowledgeManagementTicketCategory_entity</entity> + <references> + <neonViewReference> + <name>8fb1ffa4-2d9c-4823-8066-cef2acb35f66</name> + <view>KnowledgeManagementTicketCategoryFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>bdfd922e-6f6c-4c23-91f7-2bd589c1f021</name> + <view>KnowledgeManagementTicketCategoryMultiEdit_view</view> + </neonViewReference> + <neonViewReference> + <name>84d672bd-8e71-4c8c-8a2a-a426438b0dae</name> + <view>KnowledgeManagementTicketCategoryList_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/LikeButton/LikeButton.aod b/neonContext/LikeButton/LikeButton.aod new file mode 100644 index 0000000000000000000000000000000000000000..f0e5731a8a1cefb138fe0d11119839be2f069792 --- /dev/null +++ b/neonContext/LikeButton/LikeButton.aod @@ -0,0 +1,6 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1"> + <name>LikeButton</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entity>LikeButton_entity</entity> +</neonContext> diff --git a/neonDashboard/KnowledgeDashboard/KnowledgeDashboard.aod b/neonDashboard/KnowledgeDashboard/KnowledgeDashboard.aod new file mode 100644 index 0000000000000000000000000000000000000000..77c2c41d7daae109eb933a529e85a23f5ea462e3 --- /dev/null +++ b/neonDashboard/KnowledgeDashboard/KnowledgeDashboard.aod @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonDashboard 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/neonDashboard/1.1.0"> + <name>KnowledgeDashboard</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <icon>VAADIN:ACADEMY_CAP</icon> + <editRoles /> +</neonDashboard> diff --git a/neonNotificationType/Like/Like.aod b/neonNotificationType/Like/Like.aod new file mode 100644 index 0000000000000000000000000000000000000000..e45a7a79f47ad42137a3f41a327d10821179c336 --- /dev/null +++ b/neonNotificationType/Like/Like.aod @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonNotificationType 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/neonNotificationType/1.1.0"> + <name>Like</name> + <title>Like</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <icon>VAADIN:THUMBS_UP</icon> +</neonNotificationType> diff --git a/neonView/EmployeeGroupConRelationFilter_view/EmployeeGroupConRelationFilter_view.aod b/neonView/EmployeeGroupConRelationFilter_view/EmployeeGroupConRelationFilter_view.aod index 019ecd19a43a9b7cd6c2037e7142d3204c7b71ac..9c1504c745c59d4be1b95dc0821c33a6785526e7 100644 --- a/neonView/EmployeeGroupConRelationFilter_view/EmployeeGroupConRelationFilter_view.aod +++ b/neonView/EmployeeGroupConRelationFilter_view/EmployeeGroupConRelationFilter_view.aod @@ -16,7 +16,7 @@ <element>TABLET</element> <element>DESKTOP</element> </devices> - <isEditable v="false" /> + <isEditable v="true" /> <columns> <neonTableColumn> <name>dff8536f-f394-4117-8a58-287fa51d26bc</name> diff --git a/neonView/KnowledgeManagementCategoryEdit_view/KnowledgeManagementCategoryEdit_view.aod b/neonView/KnowledgeManagementCategoryEdit_view/KnowledgeManagementCategoryEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..337b7cb6f3bbf5ed2620671f58c2daa8ebfcb9f3 --- /dev/null +++ b/neonView/KnowledgeManagementCategoryEdit_view/KnowledgeManagementCategoryEdit_view.aod @@ -0,0 +1,36 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementCategoryEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <size>SMALL</size> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <genericViewTemplate> + <name>Generic</name> + <editMode v="true" /> + <hideEmptyFields v="false" /> + <fields> + <entityFieldLink> + <name>adb6106f-47d5-4941-b922-55b125c0ba3e</name> + <entityField>NAME</entityField> + </entityFieldLink> + <entityFieldLink> + <name>f5f8cba6-ec05-457a-aab6-00ae7ec8017b</name> + <entityField>SUMMARY</entityField> + </entityFieldLink> + <entityFieldLink> + <name>c27e249b-5781-47ae-9cd3-54a472c26d54</name> + <entityField>ORDERNO</entityField> + </entityFieldLink> + <entityFieldLink> + <name>ab3b995c-ac0c-4a5f-82c0-5ca14b7b6fca</name> + <entityField>ICON</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementCategoryFilter_view/KnowledgeManagementCategoryFilter_view.aod b/neonView/KnowledgeManagementCategoryFilter_view/KnowledgeManagementCategoryFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..eb8947ab2ab2d38b1e3c300648edbee17c678271 --- /dev/null +++ b/neonView/KnowledgeManagementCategoryFilter_view/KnowledgeManagementCategoryFilter_view.aod @@ -0,0 +1,25 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementCategoryFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <tableViewTemplate> + <name>Table</name> + <columns> + <neonTableColumn> + <name>b1f16ad6-37f0-4266-b4af-691ff9fa5c45</name> + <entityField>ICON</entityField> + </neonTableColumn> + <neonTableColumn> + <name>2ceedad5-73c2-4b70-a885-1ce6995d8f54</name> + <entityField>NAME</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementCategoryMain_view/KnowledgeManagementCategoryMain_view.aod b/neonView/KnowledgeManagementCategoryMain_view/KnowledgeManagementCategoryMain_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..f1856e1d078990e4a81d37688e1ced750e378677 --- /dev/null +++ b/neonView/KnowledgeManagementCategoryMain_view/KnowledgeManagementCategoryMain_view.aod @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementCategoryMain_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <neonViewReference> + <name>fe9e3b3d-c843-4399-bd9b-1cbceebd1632</name> + <entityField>KnowledgeManagementEntries</entityField> + <view>KnowledgeManagementFilter_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementCategoryTiles_view/KnowledgeManagementCategoryTiles_view.aod b/neonView/KnowledgeManagementCategoryTiles_view/KnowledgeManagementCategoryTiles_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..13e9ebcb53689c157048725eb0e5470f78249cc8 --- /dev/null +++ b/neonView/KnowledgeManagementCategoryTiles_view/KnowledgeManagementCategoryTiles_view.aod @@ -0,0 +1,25 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementCategoryTiles_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <tilesViewTemplate> + <name>Tiles</name> + <hideActions v="false" /> + <iconField>ICON</iconField> + <titleField>NAME</titleField> + <descriptionField>SUMMARY</descriptionField> + <infoBottomField>numberOfArticles</infoBottomField> + <tilePresentation>PORTRAIT</tilePresentation> + <direction>VERTICAL</direction> + <isDeletable v="true" /> + <isEditable v="true" /> + <isCreatable v="true" /> + </tilesViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementEdit_view/KnowledgeManagementEdit_view.aod b/neonView/KnowledgeManagementEdit_view/KnowledgeManagementEdit_view.aod index 47774ade04160fdb220a76e37b045e478d109536..159fff19a0b910e66ca53f4191661a95c3a4c1da 100644 --- a/neonView/KnowledgeManagementEdit_view/KnowledgeManagementEdit_view.aod +++ b/neonView/KnowledgeManagementEdit_view/KnowledgeManagementEdit_view.aod @@ -7,10 +7,9 @@ <size>NORMAL</size> <quickEntry v="6" /> <layout> - <boxLayout> + <noneLayout> <name>layout</name> - <autoHeight v="true" /> - </boxLayout> + </noneLayout> </layout> <children> <genericViewTemplate> @@ -33,6 +32,10 @@ <name>59c18990-a0e2-4cbd-b728-f156a421081f</name> <entityField>CONTENT</entityField> </entityFieldLink> + <entityFieldLink> + <name>d3829288-3db6-4e90-b1eb-40502e5c65e7</name> + <entityField>SUMMARY</entityField> + </entityFieldLink> <entityFieldLink> <name>781765cb-93a4-431e-bc92-9bef2a17e39f</name> <entityField>AUTHOR_CONTACT_ID</entityField> @@ -45,8 +48,34 @@ <name>bfa39723-52e1-45e5-945c-cc1db1c81b81</name> <entityField>PUBLISH</entityField> </entityFieldLink> + <entityFieldLink> + <name>1dfe53e5-75e1-4fde-9cd7-19393a87a512</name> + <entityField>KNOWLEDGEMANAGEMENTCATEGORY_ID</entityField> + </entityFieldLink> + <entityFieldLink> + <name>67bbf539-27b9-4c61-8cf7-ac5549eb81bd</name> + <entityField>TYPE</entityField> + </entityFieldLink> + <entityFieldLink> + <name>c751b6ab-e265-4700-86e9-6eaf44bf8980</name> + <entityField>USEINALLINBOXES</entityField> + </entityFieldLink> + <entityFieldLink> + <name>6111e070-c32d-4eb9-914c-ce6190184587</name> + <entityField>USEINALLTICKETCATEGORIES</entityField> + </entityFieldLink> </fields> </genericViewTemplate> + <neonViewReference> + <name>fe1f9490-f133-4a4d-ab75-de3cacbc3e07</name> + <entityField>KnowledgeManagementInboxes</entityField> + <view>KnowledgeManagementInboxMultiEdit_view</view> + </neonViewReference> + <neonViewReference> + <name>a74b6bfb-1a68-4f51-9993-b74501c5d2ca</name> + <entityField>KnowledgeManagementTicketCategories</entityField> + <view>KnowledgeManagementTicketCategoryMultiEdit_view</view> + </neonViewReference> <neonViewReference> <name>a62e4251-76b5-427c-b758-ae57bcdf5956</name> <entityField>TagsByKnowledgeId</entityField> diff --git a/neonView/KnowledgeManagementFilterSearch_view/KnowledgeManagementFilterSearch_view.aod b/neonView/KnowledgeManagementFilterSearch_view/KnowledgeManagementFilterSearch_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..1e239ee3494d3bf1dd596cbd74593dd62cb9ce14 --- /dev/null +++ b/neonView/KnowledgeManagementFilterSearch_view/KnowledgeManagementFilterSearch_view.aod @@ -0,0 +1,40 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementFilterSearch_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> + <layout> + <groupLayout> + <name>layout</name> + </groupLayout> + </layout> + <children> + <tableViewTemplate> + <name>FilterTable</name> + <hideContentSearch v="false" /> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>6536f7bc-b655-4011-b8ce-20b27fb0f656</name> + <entityField>#ICON</entityField> + </neonTableColumn> + <neonTableColumn> + <name>6a5fd77d-537b-4f27-a372-93838a76ff2e</name> + <entityField>TITLE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>69905c5d-27c4-49aa-a10c-589fee93b67b</name> + <entityField>AUTHOR_CONTACT_ID</entityField> + </neonTableColumn> + <neonTableColumn> + <name>6f9daef0-872f-486c-8d1b-19fbde27efff</name> + <entityField>LastChange</entityField> + </neonTableColumn> + <neonTableColumn> + <name>df803a4c-7bd2-4429-96f9-3e94a57a4b5d</name> + <entityField>NUMBEROFVIEWS</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementFilter_view/KnowledgeManagementFilter_view.aod b/neonView/KnowledgeManagementFilter_view/KnowledgeManagementFilter_view.aod index 3b046fcd1fc066bbef1d10f60e9f4f843f46a791..3613968db4f04848908090732be3bf3271c33852 100644 --- a/neonView/KnowledgeManagementFilter_view/KnowledgeManagementFilter_view.aod +++ b/neonView/KnowledgeManagementFilter_view/KnowledgeManagementFilter_view.aod @@ -36,6 +36,10 @@ <name>6a5fd77d-537b-4f27-a372-93838a76ff2e</name> <entityField>TITLE</entityField> </neonTableColumn> + <neonTableColumn> + <name>0be0e77d-9245-436a-ab5a-fdcf6707c8f9</name> + <entityField>KNOWLEDGEMANAGEMENTCATEGORY_ID</entityField> + </neonTableColumn> <neonTableColumn> <name>69905c5d-27c4-49aa-a10c-589fee93b67b</name> <entityField>AUTHOR_CONTACT_ID</entityField> @@ -44,14 +48,48 @@ <name>6f9daef0-872f-486c-8d1b-19fbde27efff</name> <entityField>LastChange</entityField> </neonTableColumn> + <neonTableColumn> + <name>d56608b0-f98f-4e90-ab76-9d300389ed86</name> + <entityField>NUMBEROFVIEWS</entityField> + </neonTableColumn> + <neonTableColumn> + <name>bb57f234-0c0f-4f82-ba90-195c3c29eaca</name> + <entityField>numberOfLikes</entityField> + </neonTableColumn> </columns> </tableViewTemplate> - <timelineViewTemplate> - <name>Timeline</name> - <dateField>LastChange</dateField> - <titleField>TITLE</titleField> - <descriptionField>CONTENT</descriptionField> - <subdescriptionField>AUTHOR_CONTACT_ID</subdescriptionField> - </timelineViewTemplate> + <treeTableViewTemplate> + <name>TreeTable</name> + <columns> + <neonTreeTableColumn> + <name>46fbe212-ee67-420b-bf50-2d89b0a3e1f8</name> + <entityField>#ICON</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>90d71d3c-ec83-4dc6-a391-dab1f3f90711</name> + <entityField>TITLE</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>10281720-d159-4c2a-9c9d-2ae06d538015</name> + <entityField>KNOWLEDGEMANAGEMENTCATEGORY_ID</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>6bda4383-2b6c-4325-a054-9eec63e14702</name> + <entityField>AUTHOR_CONTACT_ID</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>3f0bce21-e23f-4a3f-a8c2-89904e7e2314</name> + <entityField>LastChange</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>aebf3cc2-f2d1-48ce-a649-09c3ff508ea6</name> + <entityField>NUMBEROFVIEWS</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>75669f4d-e9b2-4b75-912b-29d0349470d6</name> + <entityField>numberOfLikes</entityField> + </neonTreeTableColumn> + </columns> + </treeTableViewTemplate> </children> </neonView> diff --git a/neonView/KnowledgeManagementInboxFilter_view/KnowledgeManagementInboxFilter_view.aod b/neonView/KnowledgeManagementInboxFilter_view/KnowledgeManagementInboxFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..55ffe68df3113ae3682ae6871814f1c89f2c2cd7 --- /dev/null +++ b/neonView/KnowledgeManagementInboxFilter_view/KnowledgeManagementInboxFilter_view.aod @@ -0,0 +1,29 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementInboxFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>Table</name> + <columns> + <neonTableColumn> + <name>d3562537-abdd-4bdb-88da-1f82f285d74f</name> + <entityField>INBOX_ID</entityField> + </neonTableColumn> + <neonTableColumn> + <name>687dc5ea-1154-48b5-a063-2b0240d164c8</name> + <entityField>USER_NEW</entityField> + </neonTableColumn> + <neonTableColumn> + <name>78e204d6-3670-46eb-8204-cbaaf8ad9540</name> + <entityField>DATE_NEW</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementInboxList_view/KnowledgeManagementInboxList_view.aod b/neonView/KnowledgeManagementInboxList_view/KnowledgeManagementInboxList_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..9757d9218899b9436726f1171f1a2905b3eea0e2 --- /dev/null +++ b/neonView/KnowledgeManagementInboxList_view/KnowledgeManagementInboxList_view.aod @@ -0,0 +1,16 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementInboxList_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <titledListViewTemplate> + <name>TitledList</name> + <titleField>INBOX_ID</titleField> + </titledListViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementInboxMultiEdit_view/KnowledgeManagementInboxMultiEdit_view.aod b/neonView/KnowledgeManagementInboxMultiEdit_view/KnowledgeManagementInboxMultiEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..70994d838e1f529865cd3cc020c8b876748ef8f0 --- /dev/null +++ b/neonView/KnowledgeManagementInboxMultiEdit_view/KnowledgeManagementInboxMultiEdit_view.aod @@ -0,0 +1,23 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementInboxMultiEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <genericMultipleViewTemplate> + <name>GenericMultiple</name> + <autoNewRow v="false" /> + <columns> + <neonGenericMultipleTableColumn> + <name>627cc669-3894-4836-8376-fc9bffe3a6a8</name> + <entityField>INBOX_ID</entityField> + <fullWidth v="true" /> + </neonGenericMultipleTableColumn> + </columns> + </genericMultipleViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementPreview_view/KnowledgeManagementPreview_view.aod b/neonView/KnowledgeManagementPreview_view/KnowledgeManagementPreview_view.aod index a71dc1b4a0e81a1043a6c3f25cfbd679ecd87ee9..c793f356e110326053facca20e055d2068dcd531 100644 --- a/neonView/KnowledgeManagementPreview_view/KnowledgeManagementPreview_view.aod +++ b/neonView/KnowledgeManagementPreview_view/KnowledgeManagementPreview_view.aod @@ -6,6 +6,7 @@ <headerFooterLayout> <name>layout</name> <header>KnowledgeDetails</header> + <footer>ScoreCard</footer> </headerFooterLayout> </layout> <children> @@ -24,6 +25,25 @@ <entityField>#ENTITY</entityField> <title>Favorites</title> </favoriteViewTemplate> + <actionsViewTemplate> + <name>Actions</name> + <actions> + <element>Likes</element> + </actions> + </actionsViewTemplate> + <genericViewTemplate> + <name>Summary</name> + <editMode v="false" /> + <showDrawer v="true" /> + <drawerCaption>Summary</drawerCaption> + <hideLabels v="true" /> + <fields> + <entityFieldLink> + <name>b83041d2-04ff-499e-bc36-5df270b06b37</name> + <entityField>SUMMARY</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> <genericViewTemplate> <name>Details</name> <showDrawer v="true" /> @@ -50,12 +70,42 @@ <name>6252c147-e35f-4c54-8e9c-f65eee2d5283</name> <entityField>PUBLISH</entityField> </entityFieldLink> + <entityFieldLink> + <name>0e81b666-0d25-432c-a0bf-6713a3e7d90f</name> + <entityField>KNOWLEDGEMANAGEMENTCATEGORY_ID</entityField> + </entityFieldLink> + <entityFieldLink> + <name>9d04ce4d-b2b7-48d4-814f-302240aaa66e</name> + <entityField>USEINALLINBOXES</entityField> + </entityFieldLink> + <entityFieldLink> + <name>0dc54e94-d410-42c6-89cd-a40f7b6eb8dc</name> + <entityField>USEINALLTICKETCATEGORIES</entityField> + </entityFieldLink> </fields> </genericViewTemplate> <neonViewReference> - <name>9322369a-d82b-402e-aaff-dedac00d1971</name> - <entityField>TagsByKnowledgeId</entityField> - <view>KnowledgeTagList_view</view> + <name>403b68ad-7716-4ba1-bf51-ece4c91bed9d</name> + <entityField>KnowledgeManagementTicketCategories</entityField> + <view>KnowledgeManagementTicketCategoryList_view</view> </neonViewReference> + <neonViewReference> + <name>5cf7c82d-16d8-4275-a63e-030f0908376f</name> + <entityField>KnowledgeManagementInboxes</entityField> + <view>KnowledgeManagementInboxList_view</view> + </neonViewReference> + <scoreCardViewTemplate> + <name>ScoreCard</name> + <fields> + <entityFieldLink> + <name>ae7c4523-2c4b-4c64-9e04-7cbc4bad98ad</name> + <entityField>NUMBEROFVIEWS</entityField> + </entityFieldLink> + <entityFieldLink> + <name>dc59f456-5084-461a-9d05-d2f79ac60210</name> + <entityField>numberOfLikes</entityField> + </entityFieldLink> + </fields> + </scoreCardViewTemplate> </children> </neonView> diff --git a/neonView/KnowledgeManagementTicketCategoryFilter_view/KnowledgeManagementTicketCategoryFilter_view.aod b/neonView/KnowledgeManagementTicketCategoryFilter_view/KnowledgeManagementTicketCategoryFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..624fbb0e3e47656801c90c70478435fa93d5d97a --- /dev/null +++ b/neonView/KnowledgeManagementTicketCategoryFilter_view/KnowledgeManagementTicketCategoryFilter_view.aod @@ -0,0 +1,29 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementTicketCategoryFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>Table</name> + <columns> + <neonTableColumn> + <name>db1547b5-fcd3-40f7-8f5c-33b9f9b87760</name> + <entityField>CLASSIFICATION</entityField> + </neonTableColumn> + <neonTableColumn> + <name>649724a2-20a5-45d7-8669-be9ef91f5d3c</name> + <entityField>USER_NEW</entityField> + </neonTableColumn> + <neonTableColumn> + <name>b9b06516-c84a-4b5b-8b78-0627780a44bd</name> + <entityField>DATE_NEW</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementTicketCategoryList_view/KnowledgeManagementTicketCategoryList_view.aod b/neonView/KnowledgeManagementTicketCategoryList_view/KnowledgeManagementTicketCategoryList_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..65d9de627ec16bc93f42f3587a10db8eaa5a4a00 --- /dev/null +++ b/neonView/KnowledgeManagementTicketCategoryList_view/KnowledgeManagementTicketCategoryList_view.aod @@ -0,0 +1,16 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementTicketCategoryList_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <titledListViewTemplate> + <name>TitledList</name> + <titleField>CLASSIFICATION</titleField> + </titledListViewTemplate> + </children> +</neonView> diff --git a/neonView/KnowledgeManagementTicketCategoryMultiEdit_view/KnowledgeManagementTicketCategoryMultiEdit_view.aod b/neonView/KnowledgeManagementTicketCategoryMultiEdit_view/KnowledgeManagementTicketCategoryMultiEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..0ba86dc0d5b5f6349c23e84c6b81cdb18cb0fa4d --- /dev/null +++ b/neonView/KnowledgeManagementTicketCategoryMultiEdit_view/KnowledgeManagementTicketCategoryMultiEdit_view.aod @@ -0,0 +1,23 @@ +<?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.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>KnowledgeManagementTicketCategoryMultiEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <genericMultipleViewTemplate> + <name>GenericMultiple</name> + <autoNewRow v="false" /> + <columns> + <neonGenericMultipleTableColumn> + <name>b242afc9-1c77-4a47-a247-be8edf759659</name> + <entityField>CLASSIFICATION</entityField> + <fullWidth v="true" /> + </neonGenericMultipleTableColumn> + </columns> + </genericMultipleViewTemplate> + </children> +</neonView> diff --git a/neonView/SupportTicketMain_view/SupportTicketMain_view.aod b/neonView/SupportTicketMain_view/SupportTicketMain_view.aod index 0d0d8cfbf17cc84d46e6f64d7aa87c40d98c270a..1d096ca715653cae3c3e696bf6719ed61a7fee6b 100644 --- a/neonView/SupportTicketMain_view/SupportTicketMain_view.aod +++ b/neonView/SupportTicketMain_view/SupportTicketMain_view.aod @@ -49,5 +49,10 @@ <entityField>Attributes</entityField> <view>AttributeRelationTree_view</view> </neonViewReference> + <neonViewReference> + <name>1782c127-a09f-4bb9-af1b-ea5cc78b530f</name> + <entityField>KnowledgeEntries</entityField> + <view>KnowledgeManagementFilterSearch_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/SupportTicketPreviewHeader_view/SupportTicketPreviewHeader_view.aod b/neonView/SupportTicketPreviewHeader_view/SupportTicketPreviewHeader_view.aod index b32ddfc225b6f07071cfa6b53107c4d69635a91c..71bf46c3c2ef87e6e28a958dbb30ba3b09c678c1 100644 --- a/neonView/SupportTicketPreviewHeader_view/SupportTicketPreviewHeader_view.aod +++ b/neonView/SupportTicketPreviewHeader_view/SupportTicketPreviewHeader_view.aod @@ -16,6 +16,7 @@ <subtitleField>INBOX_ID</subtitleField> <descriptionField>EMAILMAILSIGNATURE</descriptionField> <favoriteAction1>newActivity</favoriteAction1> + <isEditable v="false" /> </cardViewTemplate> <actionsViewTemplate> <name>Actions</name> diff --git a/package-lock.json b/package-lock.json index bc7e456734c44521f04a2bfb1092aa01b411613e..45a14152314c85ffa359014466bb3711944d0bc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "basic", "devDependencies": { - "cypress": "^8.3.0", + "cypress": "^9.1.1", "cypress-tags": "0.2.0", "cypress-wait-until": "^1.7.1", "mocha": "^8.3.2", @@ -1393,9 +1393,9 @@ } }, "node_modules/@cypress/request": { - "version": "2.88.5", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.5.tgz", - "integrity": "sha512-TzEC1XMi1hJkywWpRfD2clreTa/Z+lOrXDCxxBTBPEcY5azdPi56A6Xw+O4tWJnaJH3iIE7G5aDXZC6JgRZLcA==", + "version": "2.88.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", + "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==", "dev": true, "dependencies": { "aws-sign2": "~0.7.0", @@ -1405,24 +1405,31 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", + "http-signature": "~1.3.6", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "uuid": "^8.3.2" }, "engines": { "node": ">= 6" } }, + "node_modules/@cypress/request/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", @@ -1521,18 +1528,6 @@ "node": ">=8" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "node_modules/ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -1664,9 +1659,9 @@ } }, "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "dependencies": { "safer-buffer": "~2.1.0" @@ -2812,20 +2807,20 @@ } }, "node_modules/cypress": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-8.3.0.tgz", - "integrity": "sha512-zA5Rcq8AZIfRfPXU0CCcauofF+YpaU9HYbfqkunFTmFV0Kdlo14tNjH2E3++MkjXKFnv3/pXq+HgxWtw8CSe8Q==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.1.1.tgz", + "integrity": "sha512-yWcYD8SEQ8F3okFbRPqSDj5V0xhrZBT5QRIH+P1J2vYvtEmZ4KGciHE7LCcZZLILOrs7pg4WNCqkj/XRvReQlQ==", "dev": true, "hasInstallScript": true, "dependencies": { - "@cypress/request": "^2.88.5", + "@cypress/request": "^2.88.10", "@cypress/xvfb": "^1.2.4", "@types/node": "^14.14.31", "@types/sinonjs__fake-timers": "^6.0.2", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", "blob-util": "^2.0.2", - "bluebird": "^3.7.2", + "bluebird": "3.7.2", "cachedir": "^2.3.0", "chalk": "^4.1.0", "check-more-types": "^2.24.0", @@ -2852,7 +2847,7 @@ "minimist": "^1.2.5", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", - "ramda": "~0.27.1", + "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", "supports-color": "^8.1.1", "tmp": "~0.2.1", @@ -3489,18 +3484,6 @@ "node >=0.6.0" ] }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, "node_modules/fast-safe-stringify": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz", @@ -3820,28 +3803,6 @@ "node": ">=4.x" } }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -3982,18 +3943,17 @@ } }, "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dev": true, "dependencies": { "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" }, "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">=0.10" } }, "node_modules/https-browserify": { @@ -4414,15 +4374,9 @@ } }, "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "node_modules/json-stable-stringify": { @@ -4500,9 +4454,9 @@ } }, "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, "engines": [ "node >=0.6.0" @@ -4510,7 +4464,7 @@ "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, @@ -5849,15 +5803,6 @@ "node": ">=8" } }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -6283,6 +6228,12 @@ "react-is": "^16.8.1" } }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "dev": true + }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -7082,6 +7033,11 @@ "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, "engines": { "node": ">=0.10.0" } @@ -7658,15 +7614,6 @@ "yarn": "*" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -8959,9 +8906,9 @@ } }, "@cypress/request": { - "version": "2.88.5", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.5.tgz", - "integrity": "sha512-TzEC1XMi1hJkywWpRfD2clreTa/Z+lOrXDCxxBTBPEcY5azdPi56A6Xw+O4tWJnaJH3iIE7G5aDXZC6JgRZLcA==", + "version": "2.88.10", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.10.tgz", + "integrity": "sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -8971,19 +8918,25 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", + "http-signature": "~1.3.6", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "uuid": "^8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } } }, "@cypress/xvfb": { @@ -9074,18 +9027,6 @@ "indent-string": "^4.0.0" } }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", @@ -9191,9 +9132,9 @@ "dev": true }, "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "requires": { "safer-buffer": "~2.1.0" @@ -10161,19 +10102,19 @@ } }, "cypress": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-8.3.0.tgz", - "integrity": "sha512-zA5Rcq8AZIfRfPXU0CCcauofF+YpaU9HYbfqkunFTmFV0Kdlo14tNjH2E3++MkjXKFnv3/pXq+HgxWtw8CSe8Q==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.1.1.tgz", + "integrity": "sha512-yWcYD8SEQ8F3okFbRPqSDj5V0xhrZBT5QRIH+P1J2vYvtEmZ4KGciHE7LCcZZLILOrs7pg4WNCqkj/XRvReQlQ==", "dev": true, "requires": { - "@cypress/request": "^2.88.5", + "@cypress/request": "^2.88.10", "@cypress/xvfb": "^1.2.4", "@types/node": "^14.14.31", "@types/sinonjs__fake-timers": "^6.0.2", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", "blob-util": "^2.0.2", - "bluebird": "^3.7.2", + "bluebird": "3.7.2", "cachedir": "^2.3.0", "chalk": "^4.1.0", "check-more-types": "^2.24.0", @@ -10200,7 +10141,7 @@ "minimist": "^1.2.5", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", - "ramda": "~0.27.1", + "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", "supports-color": "^8.1.1", "tmp": "~0.2.1", @@ -10724,18 +10665,6 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, "fast-safe-stringify": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz", @@ -10986,22 +10915,6 @@ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -11113,14 +11026,14 @@ "dev": true }, "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dev": true, "requires": { "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" } }, "https-browserify": { @@ -11440,15 +11353,9 @@ "dev": true }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "json-stable-stringify": { @@ -11508,14 +11415,14 @@ } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, @@ -12569,12 +12476,6 @@ "path-key": "^3.0.0" } }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -12902,6 +12803,12 @@ "react-is": "^16.8.1" } }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "dev": true + }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -14041,15 +13948,6 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", diff --git a/package.json b/package.json index da4a3544638ba5564e6adcf22ec18c349982b9a4..233f14ae96dc2365323029b866e21e3bd37d071c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "basic", "private": true, "devDependencies": { - "cypress": "^8.3.0", + "cypress": "^9.1.1", "cypress-wait-until": "^1.7.1", "cypress-tags": "0.2.0", "typescript": "^4.3.5", diff --git a/process/Bulkmail_lib/process.js b/process/Bulkmail_lib/process.js index 0a4abe43994a04bfa2febe4d21de4e20fa6c8c5c..1ec6cc4ee253e9b502f778d20c28072216ef0219 100644 --- a/process/Bulkmail_lib/process.js +++ b/process/Bulkmail_lib/process.js @@ -29,6 +29,7 @@ import("system.db"); import("system.workflow"); import("system.tools"); import("FileUtil_lib"); +import("system.text"); /** * Functions for bulk mails. @@ -91,6 +92,8 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pIsTestRun, pUser, pAddition { pIsTestRun = false; } + try + { var sendUserTitle = project.getInstanceConfigValue("custom.bulkmail.user"); var [templateId, subject, emailSender, createActivity, bulkMailName, useTemplateAttachments, mosaicoTemplateId] = @@ -106,7 +109,7 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pIsTestRun, pUser, pAddition var testRecipientData; var recipientLoadConfig = entities.createConfigForLoadingRows() - .fields(["BULKMAILRECIPIENTID", "CONTACT_ID", "EMAIL_ADDRESS", "PERSON_ID", "ORGANISATION_ID"]) + .fields(["BULKMAILRECIPIENTID", "CONTACT_ID", "EMAIL_ADDRESS", "PERSON_ID", "ORGANISATION_ID", "HASCOMMUNICATIONREJECTION"]) .entity("BulkMailRecipient_entity") .provider("RecipientsToBeMailed") .addParameter("BulkMailId_param", pBulkMailId) @@ -130,7 +133,6 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pIsTestRun, pUser, pAddition if (testRecipientData.length == 0 || recipientData.length == 0 && pUser) { - var userData = tools.getUserByAttribute(tools.NAME,pUser,tools.PROFILE_DEFAULT); if (userData) @@ -181,15 +183,23 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pIsTestRun, pUser, pAddition .table() .map(function ([placeholder, weblinkId, url, isRedirect]) { + var linkFn if (Utils.toBoolean(isRedirect)) { - var linkFn = function (pContactId) + linkFn = function (pContactId) { return baseUrl + "link=" + weblinkId + "&log=" + mailLogIds.get(pContactId) + additionalParameterString; } return new Placeholder(placeholder, Placeholder.types.CALLBACKFUNCTION, linkFn); } - return new Placeholder(placeholder, Placeholder.types.FIXEDVALUE, url); + else + { + linkFn = function (pContactId) + { + return StringUtils.replaceAll(url, "{@contactid@}", pContactId); + } + return new Placeholder(placeholder, Placeholder.types.CALLBACKFUNCTION, linkFn); + } }); var webviewFn = function(pContactId) @@ -227,10 +237,11 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pIsTestRun, pUser, pAddition let emailAddress = recipient["EMAIL_ADDRESS"]; let personId = recipient["PERSON_ID"]; let organisationId = recipient["ORGANISATION_ID"]; + let hasCommunicationRejection = Utils.toBoolean(recipient["HASCOMMUNICATIONREJECTION"]); let email = mails[contactId]; let mailLogId = mailLogIds.get(contactId); let recipientStatus = $KeywordRegistry.bulkMailRecipientStatus$failed(); - if (email !== undefined && emailAddress && !blacklist.hasContactId(contactId)) + if (email !== undefined && emailAddress && !blacklist.hasContactId(contactId) && !hasCommunicationRejection) { try { @@ -307,47 +318,6 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pIsTestRun, pUser, pAddition } }); - var updates = []; - - updates = updates.concat(successIds.map(function (successId) - { - return newWhere("BULKMAILRECIPIENT.BULKMAILRECIPIENTID",successId) - .buildUpdateStatement({ - "STATUS": $KeywordRegistry.bulkMailRecipientStatus$sent(), - "SENTDATE": sentDate - }); - })); - - updates = updates.concat(failedIds.map(function (failedId) - { - return newWhere("BULKMAILRECIPIENT.BULKMAILRECIPIENTID",failedId) - .buildUpdateStatement({ - "STATUS": $KeywordRegistry.bulkMailRecipientStatus$failed(), - "SENTDATE": sentDate - }); - })); - - updates = updates.concat(bouncedSoftIds.map(function (bouncedSoftId) - { - return newWhere("BULKMAILRECIPIENT.BULKMAILRECIPIENTID",bouncedSoftId) - .buildUpdateStatement({ - "STATUS": $KeywordRegistry.bulkMailRecipientStatus$softBounce(), - "SENTDATE": sentDate - }); - })); - - updates = updates.concat(bouncedHardIds.map(function (bouncedHardId) - { - return newWhere("BULKMAILRECIPIENT.BULKMAILRECIPIENTID",bouncedHardId) - .buildUpdateStatement({ - "STATUS": $KeywordRegistry.bulkMailRecipientStatus$hardBounce(), - "SENTDATE": sentDate - }); - })); - - db.updates(updates); - - newWhere("MAIL_RUN.MAIL_RUNID", mailrunId) .updateFields({ "STATUS": $KeywordRegistry.bulkMailStatus$sent(), @@ -420,14 +390,71 @@ BulkMailUtils.sendBulkMail = function (pBulkMailId, pIsTestRun, pUser, pAddition } newWhere("MAIL_RUN.MAIL_RUNID",mailrunId) .updateData(true,"MAIL_RUN",["STATUS","DATE_RUN_FINISHED"],null,[$KeywordRegistry.bulkMailStatus$sent(),vars.get("$sys.date")]); - } + } + catch(ex) + { + logging.log(ex); + newWhere("MAIL_RUN.MAIL_RUNID",mailrunId) + .updateData(true,"MAIL_RUN",["STATUS","DATE_RUN_FINISHED"],null,[$KeywordRegistry.bulkMailStatus$failed(),vars.get("$sys.date")]); + if(!pIsTestRun) + { + newWhere("BULKMAIL.BULKMAILID", pBulkMailId) + .updateFields({ + "STATUS": $KeywordRegistry.bulkMailStatus$failed() + }); + } + } + finally + { + if(successIds && failedIds && bouncedSoftIds && bouncedHardIds) + { + var updates = []; + updates = updates.concat(successIds.map(function (successId) + { + return newWhere("BULKMAILRECIPIENT.BULKMAILRECIPIENTID",successId) + .buildUpdateStatement({ + "STATUS": $KeywordRegistry.bulkMailRecipientStatus$sent(), + "SENTDATE": sentDate + }); + })); + + updates = updates.concat(failedIds.map(function (failedId) + { + return newWhere("BULKMAILRECIPIENT.BULKMAILRECIPIENTID",failedId) + .buildUpdateStatement({ + "STATUS": $KeywordRegistry.bulkMailRecipientStatus$failed(), + "SENTDATE": sentDate + }); + })); + + updates = updates.concat(bouncedSoftIds.map(function (bouncedSoftId) + { + return newWhere("BULKMAILRECIPIENT.BULKMAILRECIPIENTID",bouncedSoftId) + .buildUpdateStatement({ + "STATUS": $KeywordRegistry.bulkMailRecipientStatus$softBounce(), + "SENTDATE": sentDate + }); + })); + + updates = updates.concat(bouncedHardIds.map(function (bouncedHardId) + { + return newWhere("BULKMAILRECIPIENT.BULKMAILRECIPIENTID",bouncedHardId) + .buildUpdateStatement({ + "STATUS": $KeywordRegistry.bulkMailRecipientStatus$hardBounce(), + "SENTDATE": sentDate + }); + })); + + db.updates(updates); return { sucessful : successIds.length, failed : failedIds.length }; } + } +} /** * Opens a context to select a bulk mail to add recipients to.<br> @@ -608,6 +635,24 @@ BulkMailUtils.isRecipient = function (pBulkMailId, pContactId, pRecipientId) .cell() != "0"; //TODO: is there a way exists could be used? } +/** + * Checks if a bulk mail still has pending recipients.<br> + * + * @param {String} pBulkMailId <p> + * The id of the bulk mail.<br> + * @return {boolean} <p> + * True, if the contact is a recipient.<br> + */ +BulkMailUtils.hasPendingRecipient = function (pBulkMailId) +{ + return new SqlBuilder().selectCount() + .from("BULKMAILRECIPIENT") + .where("BULKMAILRECIPIENT.STATUS", $KeywordRegistry.bulkMailRecipientStatus$pending()) + .and("BULKMAILRECIPIENT.BULKMAIL_ID", pBulkMailId) + .cell() != "0"; +} + + /** * Opens the BulkMail context in new mode.<br> * @@ -883,11 +928,11 @@ BulkMailUtils.isValidTemplateType = function (pTemplateType) * @param {String} pStatus <p> * The key id of the current status.<br> * @return {Boolean} <p> - * True if the status is "sent" or "sending".<br> + * True if the status is "sent","failed" or "sending".<br> */ BulkMailUtils.isStatusSendingOrSent = function (pStatus) { - return pStatus == $KeywordRegistry.bulkMailStatus$sent() || pStatus == $KeywordRegistry.bulkMailStatus$beingSent() + return pStatus == $KeywordRegistry.bulkMailStatus$sent() || pStatus == $KeywordRegistry.bulkMailStatus$beingSent() || pStatus == $KeywordRegistry.bulkMailStatus$failed(); } /** @@ -1012,15 +1057,22 @@ BulkMailUtils.getEmlFile = function(pBulkMailId,pMailRunId, pMailLogId) * The id of the link.<br> * @param {String} pBaseUrl <p> * The base url for relative links<br> - * + * @param {String} pMailLogId <p> + * The mail log id for contact id replacement<br> * @return {String} <p> * The url<br> **/ -BulkMailUtils.getRedirectLink = function(pLinkId, pBaseUrl) +BulkMailUtils.getRedirectLink = function(pLinkId, pBaseUrl, pMailLogId) { - if (pLinkId) + if (pLinkId && pMailLogId) { + var contactId = newSelect("CONTACT_ID") + .from("MAIL_LOG") + .where("MAIL_LOG.MAIL_LOGID", pMailLogId) + .cell(); var link = newSelect("WEBLINK.URL").from("WEBLINK").where("WEBLINK.WEBLINKID", pLinkId).cell(); + + link = StringUtils.replaceAll(link, "{@contactid@}", contactId); if(link[0] == "/") { link = pBaseUrl + link; diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index 29a6f3dd8ff73eb0df2a0a3707be5059ae53c926..93e5735ff4038e58ad63ddb032c534cc819cf28a 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -289,6 +289,7 @@ $KeywordRegistry.bulkMailStatus$beingSent = function(){return "BULKMAILBEINGSENT $KeywordRegistry.bulkMailStatus$sent = function(){return "BULKMAILSENT";}; $KeywordRegistry.bulkMailStatus$planned = function(){return "BULKMAILPLANNED";}; $KeywordRegistry.bulkMailStatus$missed = function(){return "BULKMAILMISSED";}; +$KeywordRegistry.bulkMailStatus$failed = function(){return "BULKMAILFAILED";}; $KeywordRegistry.bulkMailStatus$adHoc = function(){return "BULKMAILADHOC";}; $KeywordRegistry.serialLetterStatus = function(){return "SerialLetterStatus";}; @@ -311,8 +312,6 @@ $KeywordRegistry.orderType$credit = function(){return "ORDTYPECRED";}; $KeywordRegistry.orderType$cancellation = function(){return "ORDTYPECANC";}; $KeywordRegistry.dunningLevel = function(){return "DunningLevel";}; -$KeywordRegistry.bulkMailProblem = function(){return "BulkMailProblem";}; - $KeywordRegistry.importStatus = function(){return "ImportStatus";}; $KeywordRegistry.importStatus$created = function(){return "CREATED";}; $KeywordRegistry.importStatus$loaded = function(){return "LOADED";}; @@ -397,6 +396,7 @@ $KeywordRegistry.discussionStatus$closed = function(){return "CLOSED";} $KeywordRegistry.knowledgeType = function(){return "KnowledgeType";} $KeywordRegistry.knowledgeType$knowledgeBase = function(){return "KNOWLEDGEBASE";} $KeywordRegistry.knowledgeType$editorial = function(){return "EDITORIAL";} +$KeywordRegistry.knowledgeType$solution = function(){return "SOLUTION";} $KeywordRegistry.knowledgePublishLevel = function(){return "KnowledgePublishLevel";} $KeywordRegistry.knowledgePublishLevel$internal = function(){return "INTERNAL";} @@ -424,6 +424,7 @@ $KeywordRegistry.inboxFilterComponent$body = function(){return "BODY";}; $KeywordRegistry.inboxFilterComponent$subject = function(){return "SUBJECT";}; $KeywordRegistry.inboxFilterComponent$sender = function(){return "SENDER";}; $KeywordRegistry.inboxFilterComponent$subject_body = function(){return "SUBJECT_BODY";}; +$KeywordRegistry.inboxFilterComponent$recipient = function(){return "RECIPIENT";}; $KeywordRegistry.inboxFilterTarget = function(){return "InboxFilterTarget";}; $KeywordRegistry.inboxFilterTarget$category = function(){return "CATEGORY";}; diff --git a/process/Report_lib/process.js b/process/Report_lib/process.js index ebe7365ef7d16d8133747ce34bf3c95c6ecd9fc1..c5daa5318d1a1fe9392ba0295b1ca434db0c322d 100644 --- a/process/Report_lib/process.js +++ b/process/Report_lib/process.js @@ -47,7 +47,8 @@ ReportData.begin = function(pFieldNames) */ ReportData.prototype.add = function(pValues) { - for (let i = 0; i < pValues.length; i++) { + for (let i = 0; i < pValues.length; i++) + { if (this._reportFields.length == pValues[i].length) { this._reportValues.push(pValues[i]); @@ -81,6 +82,16 @@ ReportData.prototype.getReportValues = function() return this._reportValues; } +/** + * get the number of report fields + * + * @return {Number} length of report fields + */ +ReportData.prototype.size = function () +{ + return this._reportFields.length; +} + /** * create a Report * @param {String} pReportName diff --git a/process/mailbridge_service/process.js b/process/mailbridge_service/process.js index c26b4a2792708a6fc8d71856308bf0b7f4d2aa10..bd8c21cd139dd143528bfb31e50cbb23c04e33b7 100644 --- a/process/mailbridge_service/process.js +++ b/process/mailbridge_service/process.js @@ -356,8 +356,7 @@ TicketMailbridgeUtils.saveAttachement = function(pUid, pMailObject, pType) TicketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj) { var ticketID = ""; - - + if(pSubject != undefined && pSubject != "") { if(pSubject.match(this.codeRegex)) @@ -388,9 +387,8 @@ TicketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj) ticketData = ticketData[0]; } } - else - + { ticketData = ticketData[0]; } @@ -405,8 +403,8 @@ TicketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj) if(finalDate < vars.get("$sys.date")) // -- > new Ticket -> Problem is old Customernumber { - // Call function for using filer - TicketMailbridgeUtils.useFiler(pInboxObject, pMailObj, true); + // Call function for using filter + TicketMailbridgeUtils.useFilter(pInboxObject, pMailObj, true); } else // --> Reopen { @@ -536,8 +534,7 @@ TicketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj) } } } - return ticketID; - + return ticketID; } @@ -796,7 +793,7 @@ TicketMailbridgeUtils.createTicket = function(pMailObject, pFilterResult, pInbox /** * Apply Filter on each Part */ -TicketMailbridgeUtils.useFiler = function(pInboxObj, pMailObject, pTicketfromOldOne) +TicketMailbridgeUtils.useFilter = function(pInboxObj, pMailObject, pTicketfromOldOne) { var scoreObject = {}; @@ -818,17 +815,17 @@ TicketMailbridgeUtils.useFiler = function(pInboxObj, pMailObject, pTicketfromOld switch(component) // Where to search? { - case "BODY": + case $KeywordRegistry.inboxFilterComponent$body(): componentType = pMailObject[mail.MAIL_TEXT] || " "; break; - case "SUBJECT": - case "SUBJECT_BODY": + case $KeywordRegistry.inboxFilterComponent$subject(): + case $KeywordRegistry.inboxFilterComponent$subject_body(): componentType = pMailObject[mail.MAIL_SUBJECT] || " "; break; - case "RECIPIENT": + case $KeywordRegistry.inboxFilterComponent$recipient(): componentType = pMailObject[mail.MAIL_RECIPIENT]; break; - case "SENDER": + case $KeywordRegistry.inboxFilterComponent$sender(): componentType = pMailObject[mail.MAIL_SENDER]; break; default: @@ -845,7 +842,7 @@ TicketMailbridgeUtils.useFiler = function(pInboxObj, pMailObject, pTicketfromOld categoriesFormatted += translate.text("Search term") + " '" + searchTerm.toString() +"' " + translate.text("determined in") + " "+ KeywordUtils.getViewValue($KeywordRegistry.inboxFilterComponent(), component) + "\n"; } // If subject and body are selected for search, repeat process with body - if (component == "SUBJECT_BODY") + if (component == $KeywordRegistry.inboxFilterComponent$subject_body()) { componentType = pMailObject[mail.MAIL_TEXT] var score = text.analyzeText(componentType, patternArr, false); @@ -879,15 +876,19 @@ TicketMailbridgeUtils.useAttributeFilter = function(pInboxObj, pTicketID, pMailO var IDX_EXISTING_ATTRS = 1; var IDX_ATTRIBUTEID = 0; var attributeCountObj = {}; + var logMessage = []; + - if (attributeFilters.length > 0) - { // searches for the appropriate fix attribute filter ids - var resultCheckFixAttrFilters = TicketMailbridgeUtils.checkAttributeFilters(attributeFilters, pMailObject); - matchedAttributeFilterIds = resultCheckFixAttrFilters[0]; - var logMessage = resultCheckFixAttrFilters[1]; + if(attributeFilters.length > 0) + { + var resultCheckFixAttrFilters = TicketMailbridgeUtils.checkAttributeFilters(attributeFilters, pMailObject, $KeywordRegistry.attributeFilterComparisonMethod$fix()); + resultCheckFixAttrFilters.forEach(function(FixAttrFilter){ + matchedAttributeFilterIds.push(FixAttrFilter[0][0]); + logMessage.push(FixAttrFilter[1]); + }); } - + if(matchedAttributeFilterIds.length > 0) { // Fetches the stored attributes of the matching attribute filter @@ -896,7 +897,7 @@ TicketMailbridgeUtils.useAttributeFilter = function(pInboxObj, pTicketID, pMailO .where("AB_ATTRIBUTERELATION.OBJECT_ROWID", matchedAttributeFilterIds, SqlBuilder.IN()) .and("AB_ATTRIBUTERELATION.OBJECT_TYPE", "AttributeFilter") .table(); - + // creates the max count object so that the maximum number of the attribute can be checked if(attributesToInsert.length > 0) { @@ -951,7 +952,8 @@ TicketMailbridgeUtils.useAttributeFilter = function(pInboxObj, pTicketID, pMailO } }); - new db.inserts(inserts); + db.inserts(inserts); + } } if(inserts.length > 0) @@ -966,15 +968,16 @@ TicketMailbridgeUtils.useAttributeFilter = function(pInboxObj, pTicketID, pMailO * @param pAttributeFilters {Array} the detected attribute filters * @param pMailObject {Object} the inbox object created in funktion TicketMailbridgeUtils.getInboxInformation() * -* @return {Array} structure: [[attributeFilterId], logMessage] +* @return {Array} structure: [[attributeFilterId, logMessage]] */ TicketMailbridgeUtils.checkAttributeFilters = function(pAttributeFilters, pMailObject) { - var filterResult; + var filterResult = []; pAttributeFilters.forEach(function([attributeFilterId, component, searchterm]) { var textToSearch; + var tempFilterResult; searchterm = searchterm || ""; switch(component) // Where to search? @@ -982,7 +985,8 @@ TicketMailbridgeUtils.checkAttributeFilters = function(pAttributeFilters, pMailO case $KeywordRegistry.inboxFilterComponent$body(): textToSearch = pMailObject[mail.MAIL_TEXT] || " "; break; - case $KeywordRegistry.inboxFilterComponent$subject(): + case $KeywordRegistry.inboxFilterComponent$subject(), + $KeywordRegistry.inboxFilterComponent$subject_body(): textToSearch = pMailObject[mail.MAIL_SUBJECT] || " "; break; case $KeywordRegistry.inboxFilterComponent$sender(): @@ -993,7 +997,22 @@ TicketMailbridgeUtils.checkAttributeFilters = function(pAttributeFilters, pMailO break; } textToSearch = textToSearch || ""; - filterResult = TicketMailbridgeUtils.checkFixAttributeFilters(searchterm, attributeFilterId, textToSearch, component); + tempFilterResult = TicketMailbridgeUtils.checkFixAttributeFilters(searchterm, attributeFilterId, textToSearch, component); + if(tempFilterResult[0] != "") + { + filterResult.push(tempFilterResult); + } + // If subject and body are selected for search, repeat process with body + if(component == $KeywordRegistry.inboxFilterComponent$subject_body()) + { + textToSearch = pMailObject[mail.MAIL_TEXT] || " "; + textToSearch = textToSearch || ""; + tempFilterResult = TicketMailbridgeUtils.checkFixAttributeFilters(searchterm, attributeFilterId, textToSearch, component); + if(tempFilterResult[0] != "") + { + filterResult.push(tempFilterResult); + } + } }); return filterResult; @@ -1007,21 +1026,21 @@ TicketMailbridgeUtils.checkAttributeFilters = function(pAttributeFilters, pMailO * @param pTextToSearch {String} the mail text * @param pComponent {String} the component being searched * -* @return {Array} structure: [[attributeFilterId], logMessage] +* @return {Array} structure: [attributeFilterId, logMessage] */ TicketMailbridgeUtils.checkFixAttributeFilters = function(pSearchterm, pAttributeFilterId, pTextToSearch, pComponent) { var matchedAttributeFilterIds = []; - var logMessageAttributeFiilter = ""; + var logMessageAttributeFilter = ""; if(pTextToSearch.match(new RegExp(pSearchterm, "g")) != null) { - logMessageAttributeFiilter += translate.text("Search term") + " '" + pSearchterm +"' " + translate.text("determined in") + " " + KeywordUtils.getViewValue($KeywordRegistry.inboxFilterComponent(), pComponent) + "\n"; + logMessageAttributeFilter += translate.text("Search term") + " '" + pSearchterm +"' " + translate.text("determined in") + " " + KeywordUtils.getViewValue($KeywordRegistry.inboxFilterComponent(), pComponent) + "\n"; matchedAttributeFilterIds.push(pAttributeFilterId); } - return [matchedAttributeFilterIds, logMessageAttributeFiilter]; + return [matchedAttributeFilterIds, logMessageAttributeFilter]; } /** @@ -1089,6 +1108,6 @@ var inboxObj = TicketMailbridgeUtils.getInboxInformationAllRecipients(recipients if(TicketMailbridgeUtils.findTicket(mailObj[mail.MAIL_SUBJECT], inboxObj, mailObj) == "") { // Call function for using filter - TicketMailbridgeUtils.useFiler(inboxObj, mailObj); + TicketMailbridgeUtils.useFilter(inboxObj, mailObj); } \ No newline at end of file diff --git a/process/mosaico_rest/mosaico_rest.aod b/process/mosaico_rest/mosaico_rest.aod index 25ec4112454dff020788ab3953c797d1925c3a69..10d6c4f2a864eb15b7fb62d85faa73d5a2f92a4c 100644 --- a/process/mosaico_rest/mosaico_rest.aod +++ b/process/mosaico_rest/mosaico_rest.aod @@ -8,9 +8,6 @@ <style>REST</style> <restAcceptedMimeType>application/json</restAcceptedMimeType> <restDeliveredMimeType>application/json</restDeliveredMimeType> - <loginTypeId> - <element>internal.none</element> - </loginTypeId> <jditoWebserviceUser>Admin</jditoWebserviceUser> <alias>Data_alias</alias> <variants> diff --git a/process/redirect_rest/process.js b/process/redirect_rest/process.js index eb1da60e6fc71fb4c8eca92f8bf88c0a795b13c5..026a60e324caa25c0bd1cd15364a375b075e3ed0 100644 --- a/process/redirect_rest/process.js +++ b/process/redirect_rest/process.js @@ -16,7 +16,7 @@ function restget (pRequest) var workflowKey = request.query.workflowkey var ipAddress = BulkMailUtils.getIpAddressFromHeader(request.header); var origin =request.header["X-forwarded-proto"]+"://"+request.header["X-forwarded-host"] - var redirectLink = BulkMailUtils.getRedirectLink(linkId, origin); + var redirectLink = BulkMailUtils.getRedirectLink(linkId, origin, mailLogId); var UserAgentObject = new UAParser(request.header["User-agent"]).getResult(); BulkMailUtils.insertClick(mailLogId, ipAddress, linkId, UserAgentObject.browser.name, UserAgentObject.os.name, UserAgentObject.device.type);