diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod index 245a171eaede18eb3f600361a4abec090b981d07..3ff69433612fed1fbafbcdb362f9481bceebd5ca 100644 --- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod +++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod @@ -1,55 +1,56 @@ -<?xml version="1.0" encoding="UTF-8"?> -<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.0"> - <name>_____SYSTEM_APPLICATION_NEON</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <entityNode name="_____SYSTEM_COMPANY" kind="200"> - <node name="CONTACTS" kind="123" title="Contactmanagement"> - <icon>VAADIN:CONNECT</icon> - <node name="Group1" kind="123" title=""> - <node name="Person" kind="10077" /> - <node name="Organisation" kind="10077" /> - <node name="Activity" kind="10077" /> - <node name="Task" kind="10077" /> - <node name="INTERNAL_ADMINISTRATOR" kind="159" /> - </node> - </node> - <node name="SALES" kind="123" title="Sales"> - <icon>VAADIN:BRIEFCASE</icon> - <node name="Group2" kind="123" title=""> - <node name="Vertriebsdashboard" kind="10090" /> - <node name="Salesproject" kind="10077" /> - <node name="Offer" kind="10077" /> - <node name="Order" kind="10077" /> - <node name="Contract" kind="10077" /> - <node name="Product" kind="10077" /> - <node name="Turnover" kind="10077" /> - <node name="INTERNAL_ADMINISTRATOR" kind="159" /> - </node> - </node> - <node name="Marketing" kind="123" title="Marketing"> - <icon>VAADIN:GROUP</icon> - <node name="Group4" kind="123" title=""> - <node name="Campaign" kind="10077" /> - <node name="INTERNAL_ADMINISTRATOR" kind="159" /> - </node> - </node> - <node name="ADMINISTRATION" kind="123" title="Administration"> - <icon>VAADIN:CONTROLLER</icon> - <node name="Group3" kind="123" title=""> - <node name="Notification" kind="10077" /> - <node name="Attribute" kind="10077" /> - <node name="DocumentTemplate" kind="10077" /> - <node name="Employee" kind="10077" /> - <node name="KeywordEntry" kind="10077" /> - <node name="KeywordAttribute" kind="10077" /> - <node name="ObjectRelationType" kind="10077" /> - <node name="ClassificationAdmin" kind="10077" /> - <node name="INTERNAL_ADMINISTRATOR" kind="159" /> - </node> - </node> - </entityNode> - <company> - <name>company</name> - <title></title> - </company> -</application> +<?xml version="1.0" encoding="UTF-8"?> +<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.0"> + <name>_____SYSTEM_APPLICATION_NEON</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entityNode name="_____SYSTEM_COMPANY" kind="200"> + <node name="CONTACTS" kind="123" title="Contactmanagement"> + <icon>VAADIN:CONNECT</icon> + <node name="Group1" kind="123" title=""> + <node name="Person" kind="10077" /> + <node name="Organisation" kind="10077" /> + <node name="Activity" kind="10077" /> + <node name="Task" kind="10077" /> + <node name="INTERNAL_ADMINISTRATOR" kind="159" /> + </node> + </node> + <node name="SALES" kind="123" title="Sales"> + <icon>VAADIN:BRIEFCASE</icon> + <node name="Group2" kind="123" title=""> + <node name="Vertriebsdashboard" kind="10090" /> + <node name="Salesproject" kind="10077" /> + <node name="Offer" kind="10077" /> + <node name="Order" kind="10077" /> + <node name="Contract" kind="10077" /> + <node name="Product" kind="10077" /> + <node name="Turnover" kind="10077" /> + <node name="INTERNAL_ADMINISTRATOR" kind="159" /> + </node> + </node> + <node name="Marketing" kind="123" title="Marketing"> + <icon>VAADIN:GROUP</icon> + <node name="Group4" kind="123" title=""> + <node name="Campaign" kind="10077" /> + <node name="INTERNAL_ADMINISTRATOR" kind="159" /> + </node> + </node> + <node name="ADMINISTRATION" kind="123" title="Administration"> + <icon>VAADIN:CONTROLLER</icon> + <node name="Group3" kind="123" title=""> + <node name="Notification" kind="10077" /> + <node name="Attribute" kind="10077" /> + <node name="DocumentTemplate" kind="10077" /> + <node name="Employee" kind="10077" /> + <node name="KeywordEntry" kind="10077" /> + <node name="KeywordAttribute" kind="10077" /> + <node name="ObjectRelationType" kind="10077" /> + <node name="ClassificationAdmin" kind="10077" /> + <node name="Salutation" kind="10077" /> + <node name="INTERNAL_ADMINISTRATOR" kind="159" /> + </node> + </node> + </entityNode> + <company> + <name>company</name> + <title></title> + </company> +</application> diff --git a/entity/Language_entity/Language_entity.aod b/entity/Language_entity/Language_entity.aod index a48773e349f846792176135310cd2c8b9c22b1fa..276326605fe6c5d278aefad00ff25345f328c174 100644 --- a/entity/Language_entity/Language_entity.aod +++ b/entity/Language_entity/Language_entity.aod @@ -68,6 +68,12 @@ <fieldName>Languages</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>156f3abb-eef3-41a0-8bfa-aa888fe587df</name> + <entityName>Salutation_entity</entityName> + <fieldName>KeywordLanguages</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> </entityProvider> </entityFields> diff --git a/entity/Salutation_entity/Salutation_entity.aod b/entity/Salutation_entity/Salutation_entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..97e04e736f3bb7c367dc744bdd8a294a8e14ce8a --- /dev/null +++ b/entity/Salutation_entity/Salutation_entity.aod @@ -0,0 +1,128 @@ +<?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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5"> + <name>Salutation_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <title>Salutation</title> + <titlePlural>Salutations</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityField> + <name>SALUTATIONID</name> + </entityField> + <entityField> + <name>HEADLINE</name> + <title>Headline</title> + </entityField> + <entityField> + <name>LANGUAGE</name> + <title>Language</title> + <consumer>KeywordLanguages</consumer> + <displayValueProcess>%aditoprj%/entity/Salutation_entity/entityfields/language/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>LETTERSALUTATION</name> + <title>Letter salutation</title> + </entityField> + <entityField> + <name>SALUTATION_TEXT</name> + <title>Salutation</title> + </entityField> + <entityField> + <name>SEX</name> + <title>Gender</title> + <consumer>KeywordGenders</consumer> + <valueProcess>%aditoprj%/entity/Salutation_entity/entityfields/sex/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Salutation_entity/entityfields/sex/displayValueProcess.js</displayValueProcess> + <onValidation>%aditoprj%/entity/Salutation_entity/entityfields/sex/onValidation.js</onValidation> + </entityField> + <entityField> + <name>SORT</name> + <title>Sorting</title> + </entityField> + <entityField> + <name>TITLE</name> + <title>Title</title> + </entityField> + <entityConsumer> + <name>KeywordGenders</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Salutation_entity/entityfields/keywordgenders/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordLanguages</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Language_entity</entityName> + <fieldName>ISO3Name</fieldName> + </dependency> + </entityConsumer> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <orderClauseProcess>%aditoprj%/entity/Salutation_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <linkInformation> + <linkInformation> + <name>4cbc9860-9a09-4250-8540-7017c7d22545</name> + <tableName>SALUTATION</tableName> + <primaryKey>SALUTATIONID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>HEADLINE.value</name> + <recordfield>SALUTATION.HEADLINE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANGUAGE.value</name> + <recordfield>SALUTATION.LANGUAGE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LETTERSALUTATION.value</name> + <recordfield>SALUTATION.LETTERSALUTATION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SALUTATION_TEXT.value</name> + <recordfield>SALUTATION.SALUTATION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SALUTATIONID.value</name> + <recordfield>SALUTATION.SALUTATIONID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SEX.value</name> + <recordfield>SALUTATION.SEX</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SORT.value</name> + <recordfield>SALUTATION.SORT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TITLE.value</name> + <recordfield>SALUTATION.TITLE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANGUAGE.displayValue</name> + <expression>%aditoprj%/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Salutation_entity/entityfields/keywordgenders/children/containername_param/valueProcess.js b/entity/Salutation_entity/entityfields/keywordgenders/children/containername_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2a130b4196c03f8f085c36d26f4428d2ac706e54 --- /dev/null +++ b/entity/Salutation_entity/entityfields/keywordgenders/children/containername_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +result.string($KeywordRegistry.personGender()); diff --git a/entity/Salutation_entity/entityfields/language/displayValueProcess.js b/entity/Salutation_entity/entityfields/language/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..dae44e029af40ecdf3c360a4e80a24d6a5f74540 --- /dev/null +++ b/entity/Salutation_entity/entityfields/language/displayValueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.vars"); +import("Keyword_lib"); + +var key = vars.get("$field.LANGUAGE"); +if (key) +{ + var res = LanguageKeywordUtils.getViewValue(key); + result.string(res); +} diff --git a/entity/Salutation_entity/entityfields/sex/displayValueProcess.js b/entity/Salutation_entity/entityfields/sex/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..35dd127724eeb6deaef38b1b48598c5862446079 --- /dev/null +++ b/entity/Salutation_entity/entityfields/sex/displayValueProcess.js @@ -0,0 +1,12 @@ +import("system.result"); +import("system.vars"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); + +var key = vars.get("$field.SEX"); +if (key) +{ + var res = KeywordUtils.getViewValue($KeywordRegistry.personGender(), key); + result.string(res); +} else + result.string(""); \ No newline at end of file diff --git a/entity/Salutation_entity/entityfields/sex/onValidation.js b/entity/Salutation_entity/entityfields/sex/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entity/Salutation_entity/entityfields/sex/valueProcess.js b/entity/Salutation_entity/entityfields/sex/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..de822d0de5f1aa434a54ff3b48d13a94613b0d55 --- /dev/null +++ b/entity/Salutation_entity/entityfields/sex/valueProcess.js @@ -0,0 +1,9 @@ +import("system.neon"); +import("system.vars"); +import("KeywordRegistry_basic"); +import("system.result"); + +/*if ((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) && !vars.get("$this.value")) +{ + result.string($KeywordRegistry.personGender$other()); +}*/ \ No newline at end of file diff --git a/entity/Salutation_entity/recordcontainers/db/orderClauseProcess.js b/entity/Salutation_entity/recordcontainers/db/orderClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..93bf8f7342e27290a3f17d2047ec0dc50e4ea4f3 --- /dev/null +++ b/entity/Salutation_entity/recordcontainers/db/orderClauseProcess.js @@ -0,0 +1,7 @@ +import("system.db"); +import("system.result"); + +result.object({ + "SALUTATION.LANGUAGE": db.ASCENDING, + "SALUTATION.SORT": db.ASCENDING +}); \ No newline at end of file diff --git a/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js b/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..746ecc543ae09b6ad2d81ff2aeb6964649d6f0ca --- /dev/null +++ b/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Keyword_lib"); + +var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("SALUTATION.LANGUAGE"); + +result.string(sql); diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index cb5b1defb8414529a203adc1e9af04140a6ca8ba..5cdbc81282e66bbee359f8b1bbd0afaa2916f0d0 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -3873,6 +3873,9 @@ <entry> <key>Condition</key> </entry> + <entry> + <key>3. Classification</key> + </entry> <entry> <key>File</key> </entry> @@ -3900,6 +3903,9 @@ <entry> <key>Permission Admin</key> </entry> + <entry> + <key>1. Classification</key> + </entry> <entry> <key>PermissionId</key> </entry> @@ -3921,6 +3927,9 @@ <entry> <key>Entities</key> </entry> + <entry> + <key>2. Classification</key> + </entry> <entry> <key>Read</key> </entry> @@ -3952,13 +3961,16 @@ <key>From buildingnumber</key> </entry> <entry> - <key>3. Classification</key> + <key>Salutations</key> </entry> <entry> - <key>1. Classification</key> + <key>Footer</key> </entry> <entry> - <key>2. Classification</key> + <key>Paymentterm</key> + </entry> + <entry> + <key>Header</key> </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> @@ -3977,9 +3989,7 @@ select AB_OBJECTRELATIONTYPE.RELATION_TITLE from AB_OBJECTRELATIONTYPE union select TITLE from CLASSIFICATIONSCORE union -select SCORETYPE from CLASSIFICATIONTYPE -union -select distinct CLASSIFICATIONGROUP from CLASSIFICATIONTYPE</element> +select SCORETYPE from CLASSIFICATIONTYPE</element> </statements> </languageSql> </sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index eaa4bd0d6e2676e75ef7659933755690b562b054..06e3724007d7cd1cd9fe3b048fc4479dab9d74fb 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -4113,6 +4113,7 @@ </entry> <entry> <key>Headline</key> + <value>Kopfanrede</value> </entry> <entry> <key>Salesorder Id</key> @@ -4334,6 +4335,7 @@ </entry> <entry> <key>Letter salutation</key> + <value>Briefanrede</value> </entry> <entry> <key>Lock granted</key> @@ -4820,9 +4822,6 @@ <entry> <key>postcode</key> </entry> - <entry> - <key>postcode</key> - </entry> <entry> <key>Delete</key> </entry> @@ -4931,6 +4930,18 @@ <key>2. Classification</key> <value>2. Klassifizierung</value> </entry> + <entry> + <key>Salutations</key> + </entry> + <entry> + <key>Footer</key> + </entry> + <entry> + <key>Paymentterm</key> + </entry> + <entry> + <key>Header</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 8ba8ed45256eb4ab8214816defe5aa8c163380af..f3e04c1b74a1dd2767ce7b13876a0438dea054f6 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -3925,6 +3925,9 @@ <entry> <key>Condition</key> </entry> + <entry> + <key>3. Classification</key> + </entry> <entry> <key>File</key> </entry> @@ -3952,6 +3955,9 @@ <entry> <key>Permission Admin</key> </entry> + <entry> + <key>1. Classification</key> + </entry> <entry> <key>PermissionId</key> </entry> @@ -3973,6 +3979,9 @@ <entry> <key>Entities</key> </entry> + <entry> + <key>2. Classification</key> + </entry> <entry> <key>Read</key> </entry> @@ -4004,13 +4013,16 @@ <key>From buildingnumber</key> </entry> <entry> - <key>3. Classification</key> + <key>Salutations</key> </entry> <entry> - <key>1. Classification</key> + <key>Footer</key> </entry> <entry> - <key>2. Classification</key> + <key>Paymentterm</key> + </entry> + <entry> + <key>Header</key> </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> diff --git a/neonContext/Salutation/Salutation.aod b/neonContext/Salutation/Salutation.aod new file mode 100644 index 0000000000000000000000000000000000000000..ddbfd2eee6c3aa7130a51d27404e517642dbd6cf --- /dev/null +++ b/neonContext/Salutation/Salutation.aod @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> + <name>Salutation</name> + <title></title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>SalutationFilter_view</filterview> + <entity>Salutation_entity</entity> + <references> + <neonViewReference> + <name>f4dff131-e058-4959-8141-f60910394a02</name> + <view>SalutationFilter_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonView/SalutationFilter_view/SalutationFilter_view.aod b/neonView/SalutationFilter_view/SalutationFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..b85e987407c68a3a5a3db7618af08d38b359ed0a --- /dev/null +++ b/neonView/SalutationFilter_view/SalutationFilter_view.aod @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>SalutationFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>Salutations</name> + <autoNewRow v="true" /> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>32e3fa28-1749-45a2-ae77-27ddfb221dba</name> + <entityField>LANGUAGE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>9cccf3a4-bbe7-453a-955c-246691c27dba</name> + <entityField>SALUTATION_TEXT</entityField> + </neonTableColumn> + <neonTableColumn> + <name>3d4b8959-4558-4398-876a-09b46706827d</name> + <entityField>TITLE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>f7e7e4a7-5719-457c-ac65-a2cdd993d9fb</name> + <entityField>HEADLINE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>af9f6db4-f53a-48d8-aaa4-1dc8a6fd211e</name> + <entityField>LETTERSALUTATION</entityField> + </neonTableColumn> + <neonTableColumn> + <name>071b540d-3d67-4b0b-b382-7c8b3a43e755</name> + <entityField>SEX</entityField> + </neonTableColumn> + <neonTableColumn> + <name>b642b2cc-3439-4813-bda7-bb4358247f68</name> + <entityField>SORT</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index 3a7a6a8f8ce6e0aad7e5b2bc0ed6bfaa79aa3fb2..aed1b2a8fc197045fb68568caff5bf07d94d29fc 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -96,4 +96,6 @@ $KeywordRegistry.documentTemplateTypeCategory = function(){return "DocumentTempl $KeywordRegistry.documentTemplateType$mail = function(){return "MAI ";}; $KeywordRegistry.documentTemplateType$attachment = function(){return "ATT ";}; $KeywordRegistry.classificationType = function(){return "ClassificationType";}; -$KeywordRegistry.classificationType$salesproject = function(){return "968eafa3-3e76-4afa-8999-878e51cc3bab";}; \ No newline at end of file +$KeywordRegistry.classificationType$salesproject = function(){return "968eafa3-3e76-4afa-8999-878e51cc3bab";}; +$KeywordRegistry.personGender = function(){return "PersonGender";}; +$KeywordRegistry.personGender$other = function(){return "o";}; \ No newline at end of file