diff --git a/entity/Keyword_entity/Keyword_entity.aod b/entity/Keyword_entity/Keyword_entity.aod index 681c0b77dfa228dcea3a3eba93d4425ec8ecc659..afc39b04e783658f5668cd1dea326cbd8503720e 100644 --- a/entity/Keyword_entity/Keyword_entity.aod +++ b/entity/Keyword_entity/Keyword_entity.aod @@ -160,6 +160,18 @@ <fieldName>KeywordGenders</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>001e0934-0920-4b38-afff-caf299e96abf</name> + <entityName>Task_entity</entityName> + <fieldName>KeywordTypes</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>8d28f08b-675d-4bcf-9318-a508d45ca69e</name> + <entityName>Task_entity</entityName> + <fieldName>KeywordStates</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod index a2069a80263e97bf6083ef2023a0a243a8b44598..0e739e2edaf55b0d7b6f39daea684fc1f6f6fb2d 100644 --- a/entity/Task_entity/Task_entity.aod +++ b/entity/Task_entity/Task_entity.aod @@ -30,8 +30,8 @@ <entityField> <name>STATUS</name> <title>{$TASK_STATUS}</title> + <consumer>KeywordStates</consumer> <mandatory v="true" /> - <possibleItemsProcess>%aditoprj%/entity/Task_entity/entityfields/status/possibleItemsProcess.js</possibleItemsProcess> <groupable v="true" /> <valueProcess>%aditoprj%/entity/Task_entity/entityfields/status/valueProcess.js</valueProcess> </entityField> @@ -76,7 +76,7 @@ <entityField> <name>TYPE</name> <title>type</title> - <possibleItemsProcess>%aditoprj%/entity/Task_entity/entityfields/type/possibleItemsProcess.js</possibleItemsProcess> + <consumer>KeywordTypes</consumer> <groupable v="true" /> </entityField> <entityField> @@ -140,6 +140,36 @@ </entityParameter> </children> </entityConsumer> + <entityConsumer> + <name>KeywordStates</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Keyword_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>containerName_param</name> + <code>%aditoprj%/entity/Task_entity/entityfields/keywordstates/children/containername_param/code.js</code> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordTypes</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Keyword_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>containerName_param</name> + <code>%aditoprj%/entity/Task_entity/entityfields/keywordtypes/children/containername_param/code.js</code> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -212,6 +242,14 @@ <name>REQUESTOR_RELATION_ID.displayValue</name> <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/requestor_relation_id.displayvalue/expression.js</expression> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TYPE.displayValue</name> + <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.displayValue</name> + <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/Task_entity/entityfields/keywordstates/children/containername_param/code.js b/entity/Task_entity/entityfields/keywordstates/children/containername_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..580aeb3de0aefd7c19493d577f9c2128fbbc70d1 --- /dev/null +++ b/entity/Task_entity/entityfields/keywordstates/children/containername_param/code.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Keyword_lib"); + +result.string($KeywordRegistry.get.TaskStatus); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/keywordtypes/children/containername_param/code.js b/entity/Task_entity/entityfields/keywordtypes/children/containername_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..45a01452c07d95ae93a3fe02d862477270852e1e --- /dev/null +++ b/entity/Task_entity/entityfields/keywordtypes/children/containername_param/code.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Keyword_lib"); + +result.string($KeywordRegistry.get.TaskType); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/status/possibleItemsProcess.js b/entity/Task_entity/entityfields/status/possibleItemsProcess.js deleted file mode 100644 index c954aedab3cf2702fd535445681b9e61db55a6e1..0000000000000000000000000000000000000000 --- a/entity/Task_entity/entityfields/status/possibleItemsProcess.js +++ /dev/null @@ -1,7 +0,0 @@ -import("system.result"); -import("Keyword_lib"); - -var items; - -items = KeywordUtils.getStandardArray("TASK.STATUS"); -result.object(items); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/type/possibleItemsProcess.js b/entity/Task_entity/entityfields/type/possibleItemsProcess.js deleted file mode 100644 index ff1398053b4ebab0c4eff6a66cf31f075faa3e3e..0000000000000000000000000000000000000000 --- a/entity/Task_entity/entityfields/type/possibleItemsProcess.js +++ /dev/null @@ -1,7 +0,0 @@ -import("system.result"); -import("Keyword_lib"); - -var items; - -items = KeywordUtils.getStandardArray("TASK.TYPE"); -result.object(items); \ No newline at end of file diff --git a/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..4af15e0ec64815e204b045a8ba800de3847f2342 --- /dev/null +++ b/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js @@ -0,0 +1,5 @@ +import("system.result"); +import("Keyword_lib"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.TaskStatus, "TASK.STATUS"); +result.string(sql); diff --git a/entity/Task_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js b/entity/Task_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..a0b8bddfdcbd1c4f834335de9e052af44a0e4f3b --- /dev/null +++ b/entity/Task_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js @@ -0,0 +1,5 @@ +import("system.result"); +import("Keyword_lib"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.get.TaskType, "TASK.TYPE"); +result.string(sql); diff --git a/others/db_changes/data_alias/data/example_task/base.xml b/others/db_changes/data_alias/data/example_task/base.xml index d87f6b06ef943a0ddf706cb0697c7fa3fb4efff8..e52129586bb2ea3d32c6aa60cb81507eea375095 100644 --- a/others/db_changes/data_alias/data/example_task/base.xml +++ b/others/db_changes/data_alias/data/example_task/base.xml @@ -10,7 +10,7 @@ <column name="CODE" valueNumeric="10000"/> <column name="SUBJECT" value="effiziente Wertschöpfungsketten bündeln und anlaysieren"/> - <column name="STATUS" valueNumeric="1"/> + <column name="STATUS" value="b1fd456f-f5d2-459e-b467-76e2914c8169"/> <column name="PRIORITY" valueNumeric="2"/> <column name="PROTECTIONLEVEL" valueNumeric="0"/> <column name="START_DATE" valueDate="2019-01-20T14:00:00"/> @@ -31,7 +31,7 @@ <column name="CODE" valueNumeric="10001"/> <column name="SUBJECT" value="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."/> - <column name="STATUS" valueNumeric="2"/> + <column name="STATUS" value="00595a73-22e2-4c3b-a21c-06bdec262d20"/> <column name="PRIORITY" valueNumeric="1"/> <column name="PROTECTIONLEVEL" valueNumeric="1"/> <column name="START_DATE" valueDate="2019-01-20T11:30:00"/> @@ -52,7 +52,7 @@ <column name="CODE" valueNumeric="10002"/> <column name="SUBJECT" value="Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris"/> - <column name="STATUS" valueNumeric="1"/> + <column name="STATUS" value="b1fd456f-f5d2-459e-b467-76e2914c8169"/> <column name="PRIORITY" valueNumeric="3"/> <column name="PROTECTIONLEVEL" valueNumeric="0"/> <column name="START_DATE" valueDate="2019-01-09T08:00:00"/> diff --git a/others/db_changes/data_alias/struct/create_task.xml b/others/db_changes/data_alias/struct/create_task.xml index b28b6c8c059569a96ed1387a205549058fb40da2..4d10c0757cbef27234a636dce2f4e4c730187219 100644 --- a/others/db_changes/data_alias/struct/create_task.xml +++ b/others/db_changes/data_alias/struct/create_task.xml @@ -10,13 +10,13 @@ <constraints nullable="false" unique="true"/> </column> <column name="SUBJECT" type="NVARCHAR(254)"/> - <column name="STATUS" type="SMALLINT"/> + <column name="STATUS" type="CHAR(36)"/> <column name="PRIORITY" type="SMALLINT"/> <column name="REQUESTOR_RELATION_ID" type="CHAR(36)"/> <column name="EDITOR_RELATION_ID" type="CHAR(36)"/> <column name="START_DATE" type="TIMESTAMP"/> <column name="MATURITY_DATE" type="TIMESTAMP"/> - <column name="TYPE" type="SMALLINT"/> + <column name="TYPE" type="CHAR(36)"/> <column name="DESCRIPTION" type="NCLOB"/> <column name="PROTECTIONLEVEL" type="SMALLINT"/> </createTable> diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js index 16957a4f17e13de9a16786a6814bf5beda97a2a1..b8492b50719f38413451bf0cf4299c2572745969 100644 --- a/process/Keyword_lib/process.js +++ b/process/Keyword_lib/process.js @@ -30,6 +30,8 @@ $KeywordRegistry.get = { OfferStatus: "OfferStatus", OrganisationType: "OrganisationType", PersonGender: "PersonGender", + TaskStatus: "TaskStatus", + TaskType: "TaskType", "null": null }; @@ -422,25 +424,6 @@ KeywordUtils.getResolvedTitleSqlPart = function(pContainerName, pDbFieldName, pL ,_createKeywordEntry("3", translate.text("{$TASK_PRIORITY_HIGH}", locale), null, {defaultAvatarRepresentation: "VAADIN:EXCLAMATION"}) ]); break; - case "TASK.TYPE": - //even this keyword may look like the same as the "ACTIVITY.CATEGORY" keyword: - //these are *not* categories since task-categories are reservated for future implementation - //the TASK.TYPE is more like an type of source for example - valueContainer = _createKeywordEntriesContainer([ - _createKeywordEntry("0", translate.text("Visit", locale)) - ,_createKeywordEntry("1", translate.text("E-Mail", locale)) - ,_createKeywordEntry("2", translate.text("Phone", locale)) - ,_createKeywordEntry("3", translate.text("Online-Meeting", locale)) - ]); - break; - case "TASK.STATUS": - valueContainer = _createKeywordEntriesContainer([ - _createKeywordEntry("0", translate.text("new", locale)) - ,_createKeywordEntry("1", translate.text("in process", locale)) - ,_createKeywordEntry("2", translate.text("waiting", locale)) - ,_createKeywordEntry("3", translate.text("ended", locale)) - ]); - break; default: throw new Error(translate.withArguments("[%0]the given keyword \"%1\" has no match with the possible keywordlist", [ arguments.callee.name, keywordType