diff --git a/entity/Competition_entity/Competition_entity.aod b/entity/Competition_entity/Competition_entity.aod index 1fe54675aa10cb72973ac960741e10c8df5772c8..27776d910005d4b27eb3615e59024ae33bd481c8 100644 --- a/entity/Competition_entity/Competition_entity.aod +++ b/entity/Competition_entity/Competition_entity.aod @@ -296,10 +296,12 @@ <dbRecordFieldMapping> <name>DATE_CANCELLED.value</name> <recordfield>COMPETITION.DATE_CANCELLED</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>INFO.value</name> <recordfield>COMPETITION.INFO</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>ORGANISATION_NAME.value</name> @@ -312,14 +314,17 @@ <dbRecordFieldMapping> <name>REASON.value</name> <recordfield>COMPETITION.REASON</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CONTACT_ID.value</name> <recordfield>COMPETITION.CONTACT_ID</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>STATUS.value</name> <recordfield>COMPETITION.STATUS</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CONTACT_ID.displayValue</name> @@ -344,11 +349,20 @@ <dbRecordFieldMapping> <name>PHASE.value</name> <recordfield>COMPETITION.PHASE</recordfield> + <isFilterable v="true" /> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>COMPETITIONID.value</name> <recordfield>COMPETITION.COMPETITIONID</recordfield> </dbRecordFieldMapping> + <consumerMapping> + <name>Organisations</name> + </consumerMapping> + <consumerMapping> + <name>Organisation</name> + <isFilterable v="true" /> + <filtertype>BASIC</filtertype> + </consumerMapping> </recordFieldMappings> <linkInformation> <linkInformation> @@ -372,6 +386,7 @@ <filterFieldsProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess> <filterValuesProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess> <filterConditionProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> + <isFilterable v="true" /> <filtertype>BASIC</filtertype> </filterExtensionSet> </filterExtensions> diff --git a/entity/Member_entity/Member_entity.aod b/entity/Member_entity/Member_entity.aod index 97b8ff6f214851a906f1b612b6a4ab69cf5e482e..726c0a44ed24b0d7ec567ef035c6df891a84edff 100644 --- a/entity/Member_entity/Member_entity.aod +++ b/entity/Member_entity/Member_entity.aod @@ -24,6 +24,7 @@ <consumer>Contacts</consumer> <linkedContext>Person</linkedContext> <mandatory v="true" /> + <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/contact_id/dropDownProcess.js</dropDownProcess> </entityField> <entityField> <name>OBJECT_ROWID</name> @@ -127,16 +128,19 @@ <entityField> <name>CONTACTROLE</name> <title>Function</title> + <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/contactrole/dropDownProcess.js</dropDownProcess> <state>READONLY</state> </entityField> <entityField> <name>DEPARTMENT</name> <title>Department</title> + <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/department/dropDownProcess.js</dropDownProcess> <state>READONLY</state> </entityField> <entityField> <name>POSITION</name> <title>Position</title> + <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/position/dropDownProcess.js</dropDownProcess> <state>READONLY</state> </entityField> <entityField> diff --git a/entity/Member_entity/entityfields/contact_id/dropDownProcess.js b/entity/Member_entity/entityfields/contact_id/dropDownProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e04712f9964d01c3585f846d62f43a8ec9c2a17b --- /dev/null +++ b/entity/Member_entity/entityfields/contact_id/dropDownProcess.js @@ -0,0 +1,11 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +//This dropDownProcess exists, even though the fieldState is READONLY. +//-->So we can use it when using the filter +var res = KeywordUtils.getEntryNamesByContainer($KeywordRegistry.contactPosition()).map(function (e){ + return [e, e]; //currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers +}); + +result.object(res); \ No newline at end of file diff --git a/entity/Member_entity/entityfields/contactrole/dropDownProcess.js b/entity/Member_entity/entityfields/contactrole/dropDownProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c7f69406b89ae9ea23e6dbc478aac060135aca11 --- /dev/null +++ b/entity/Member_entity/entityfields/contactrole/dropDownProcess.js @@ -0,0 +1,11 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +//This dropDownProcess exists, even though the fieldState is READONLY. +//-->So we can use it when using the filter +var res = KeywordUtils.getEntryNamesByContainer($KeywordRegistry.contactContactrole()).map(function (e){ + return [e, e]; //currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers +}); + +result.object(res); \ No newline at end of file diff --git a/entity/Member_entity/entityfields/department/dropDownProcess.js b/entity/Member_entity/entityfields/department/dropDownProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e2e2b59d7aab8b70488b981e5ec1a4b56d347ea7 --- /dev/null +++ b/entity/Member_entity/entityfields/department/dropDownProcess.js @@ -0,0 +1,11 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +//This dropDownProcess exists, even though the fieldState is READONLY. +//-->So we can use it when using the filter +var res = KeywordUtils.getEntryNamesByContainer($KeywordRegistry.contactDepartment()).map(function (e){ + return [e, e]; //currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers +}); + +result.object(res); \ No newline at end of file diff --git a/entity/Member_entity/entityfields/position/dropDownProcess.js b/entity/Member_entity/entityfields/position/dropDownProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e04712f9964d01c3585f846d62f43a8ec9c2a17b --- /dev/null +++ b/entity/Member_entity/entityfields/position/dropDownProcess.js @@ -0,0 +1,11 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +//This dropDownProcess exists, even though the fieldState is READONLY. +//-->So we can use it when using the filter +var res = KeywordUtils.getEntryNamesByContainer($KeywordRegistry.contactPosition()).map(function (e){ + return [e, e]; //currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers +}); + +result.object(res); \ No newline at end of file diff --git a/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod b/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod index e6325607e20d595c4255e0ce13228fd2d08ae66b..9bdc00cf13fb54d355de21f794d28a9956bd2e84 100644 --- a/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod +++ b/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod @@ -2,6 +2,7 @@ <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>CompetitionDrawer_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> <layout> <drawerLayout> <name>layout</name>