diff --git a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod index 539afbb9acee2eb62046f015b99e1295f43464db..cc4783ab5ba59c6b60afb8944f7dc3a6929e0ff3 100644 --- a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod +++ b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod @@ -6,6 +6,7 @@ <icon>VAADIN:GLOBE</icon> <title>District Responsible</title> <contentTitleProcess>%aditoprj%/entity/DistrictResponsible_entity/contentTitleProcess.js</contentTitleProcess> + <iconIdProcess>%aditoprj%/entity/DistrictResponsible_entity/iconIdProcess.js</iconIdProcess> <image>VAADIN:GLOBE</image> <recordContainer>db</recordContainer> <entityFields> @@ -164,6 +165,12 @@ <fieldName>DistrictResponsibles</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>2b3318a3-4925-4aa8-bf6e-bc5489549327</name> + <entityName>Person_entity</entityName> + <fieldName>DistrictResponsibles</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/DistrictResponsible_entity/iconIdProcess.js b/entity/DistrictResponsible_entity/iconIdProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..b60b52f93c3297f9f88cf7388be7c05a8f72ce9d --- /dev/null +++ b/entity/DistrictResponsible_entity/iconIdProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); + +var res = "TEXT:" + vars.get("$field.EMPLOYEE_CONTACT_ID.displayValue"); +result.string(res); \ No newline at end of file diff --git a/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js b/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js index b00816d2ee0ad97051b1eea0039089480095d0e6..ea80128c827323a3e4ee69e85bea46e10b0cdf37 100644 --- a/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js +++ b/entity/DistrictResponsible_entity/recordcontainers/db/recordfieldmappings/employee_contact_id.displayvalue/expression.js @@ -1,11 +1,5 @@ -import("system.logging"); import("system.result"); import("Contact_lib"); -import("Sql_lib"); - -var contact = Contact.createWithColumnPreset(); -var renderer = new ContactTitleRenderer(contact, ContactTitleRenderer.OPTIONS.NoOption); -var selectExpression = renderer.asSql(); - -result.string(newSelect(selectExpression)); \ No newline at end of file +var res = ContactUtils.getResolvingDisplaySubSql("DISTRICTRESPONSIBLE.EMPLOYEE_CONTACT_ID", false); +result.string(res); \ No newline at end of file diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod index 4bb81b013f9d36e6cb5c6f08a052a63ac844e43f..6ae187ece5b27b90c58619df8c201cd77e2a8626 100644 --- a/entity/Person_entity/Person_entity.aod +++ b/entity/Person_entity/Person_entity.aod @@ -1365,6 +1365,22 @@ </entityParameter> </children> </entityProvider> + <entityConsumer> + <name>DistrictResponsibles</name> + <state>INVISIBLE</state> + <stateProcess>%aditoprj%/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>DistrictResponsible_entity</entityName> + <fieldName>OrganisationResponsibles</fieldName> + </dependency> + <children> + <entityParameter> + <name>OrgUid_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js b/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9bae30ceb90f4556e7b3044e3d02abb3d8691eb2 --- /dev/null +++ b/entity/Person_entity/entityfields/districtresponsibles/children/orguid_param/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.vars"); + + +if (vars.exists("$field.ORGANISATION_CONTACTID") && vars.get("$field.ORGANISATION_CONTACTID")) +{ + result.string(vars.get("$field.ORGANISATION_CONTACTID")); +} \ No newline at end of file diff --git a/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js b/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6b51996c159548e16d62f4eec7568e089f142022 --- /dev/null +++ b/entity/Person_entity/entityfields/districtresponsibles/stateProcess.js @@ -0,0 +1,9 @@ +import("Employee_lib"); +import("system.result"); +import("system.vars"); +import("system.neon"); + +if (vars.get("$field.ORGANISATION_CONTACTID") && !EmployeeUtils.isUser(vars.get("$field.CONTACTID"))) +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} \ No newline at end of file diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 5009df56c3dc7d54346fa6b1cc61eadbe449f307..d275a96f0be3aef6f365602ecb0d2b9ddf08a73a 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -9304,7 +9304,7 @@ Bitte Datumseingabe prüfen</value> </entry> <entry> <key>District Responsible</key> - <value>Gebietsverantwortlicher</value> + <value>Gebietsverantwortliche</value> </entry> <entry> <key>Responsibles</key> diff --git a/neonContext/Organisation/Organisation.aod b/neonContext/Organisation/Organisation.aod index 46f4d763f74192de719ed9a8ee7ba7a5c04436d8..87f1786ecea40ec5b4903385bde15598fa3f9489 100644 --- a/neonContext/Organisation/Organisation.aod +++ b/neonContext/Organisation/Organisation.aod @@ -67,9 +67,5 @@ <name>0b052872-d6b4-41ac-ad0b-580575893e1b</name> <view>OrganisationLesserNoiseTable_view</view> </neonViewReference> - <neonViewReference> - <name>2193fe84-ff57-4382-8200-5d1d846f455c</name> - <view>OrganisationDistrictResponsibles_view</view> - </neonViewReference> </references> </neonContext> diff --git a/neonView/DistrictResponsibleList_view/DistrictResponsibleList_view.aod b/neonView/DistrictResponsibleList_view/DistrictResponsibleList_view.aod index 2d6c800894abe07282d9c453e96878b9c08f11c4..cab52b315c31f6310d25a10e0194a3df1d0f478b 100644 --- a/neonView/DistrictResponsibleList_view/DistrictResponsibleList_view.aod +++ b/neonView/DistrictResponsibleList_view/DistrictResponsibleList_view.aod @@ -20,7 +20,12 @@ <isCreatable v="false" /> <isDeletable v="false" /> <isEditable v="false" /> + <title>Responsibles</title> <columns> + <neonTableColumn> + <name>785ec0b8-e71d-4766-a03e-f125a465aa58</name> + <entityField>#ICON</entityField> + </neonTableColumn> <neonTableColumn> <name>158f589a-497f-4522-9b43-d7a6155c6818</name> <entityField>DISTRICT_ID</entityField> diff --git a/neonView/OrganisationDistrictResponsibles_view/OrganisationDistrictResponsibles_view.aod b/neonView/OrganisationDistrictResponsibles_view/OrganisationDistrictResponsibles_view.aod deleted file mode 100644 index ab57158edfed4b568aeb345746fc7e6acfe527c0..0000000000000000000000000000000000000000 --- a/neonView/OrganisationDistrictResponsibles_view/OrganisationDistrictResponsibles_view.aod +++ /dev/null @@ -1,18 +0,0 @@ -<?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.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.6"> - <name>OrganisationDistrictResponsibles_view</name> - <title>Responsibles</title> - <majorModelMode>DISTRIBUTED</majorModelMode> - <layout> - <noneLayout> - <name>layout</name> - </noneLayout> - </layout> - <children> - <neonViewReference> - <name>a698babd-271c-4f21-94f7-391f4ad80877</name> - <entityField>DistrictResponsibles</entityField> - <view>DistrictResponsibleList_view</view> - </neonViewReference> - </children> -</neonView> diff --git a/neonView/OrganisationMain_view/OrganisationMain_view.aod b/neonView/OrganisationMain_view/OrganisationMain_view.aod index f02268bc9b94a2cfe6a345b1665156e2a754699e..df9be823dfc7638ea6bb6f126911731ad6b90784 100644 --- a/neonView/OrganisationMain_view/OrganisationMain_view.aod +++ b/neonView/OrganisationMain_view/OrganisationMain_view.aod @@ -55,16 +55,16 @@ <entityField>#ENTITY</entityField> <view>OrganisationAttributeRestriction_view</view> </neonViewReference> + <neonViewReference> + <name>a806bf0f-6214-4aad-872b-74e6f7fd1ee5</name> + <entityField>DistrictResponsibles</entityField> + <view>DistrictResponsibleList_view</view> + </neonViewReference> <neonViewReference> <name>eba90ed2-5e55-4cdb-9e0b-5a09feeb7536</name> <entityField>Documents</entityField> <view>DocumentFilter_view</view> </neonViewReference> - <neonViewReference> - <name>db26269b-32ae-47da-ba22-41e0a5952103</name> - <entityField>#ENTITY</entityField> - <view>OrganisationDistrictResponsibles_view</view> - </neonViewReference> <neonViewReference> <name>0686ad7e-8dc7-4b10-9df2-bf066ae3a310</name> <entityField>LogHistories</entityField> diff --git a/neonView/PersonMain_view/PersonMain_view.aod b/neonView/PersonMain_view/PersonMain_view.aod index 4cc0562f16f4c1c4cb15af2a4b6504095f58b05b..7e88568ac761047866b5e5bfc6167662e731a85b 100644 --- a/neonView/PersonMain_view/PersonMain_view.aod +++ b/neonView/PersonMain_view/PersonMain_view.aod @@ -49,6 +49,11 @@ <entityField>Districts</entityField> <view>DistrictList_view</view> </neonViewReference> + <neonViewReference> + <name>19a5f9ed-228d-4352-9e82-e7aa690648e9</name> + <entityField>DistrictResponsibles</entityField> + <view>DistrictResponsibleList_view</view> + </neonViewReference> <neonViewReference> <name>4b50b784-484f-4cdf-a705-4c356da763fa</name> <entityField>Documents</entityField>