From b5d4c9a3a86961bef0c2c6b4ba39fe14cd960f70 Mon Sep 17 00:00:00 2001 From: edvbachg <gerhard.bachmaier@hama.de> Date: Wed, 21 Oct 2020 07:24:56 +0200 Subject: [PATCH] =?UTF-8?q?1066030:=20Gebiet=20l=C3=B6schen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aliasDefinition/Data_alias/Data_alias.aod | 14 +++++++++++- .../translate4log/property.js | 22 +++++++++++++++++++ .../translate4log/property.js | 21 +++++++++++------- entity/District_entity/District_entity.aod | 3 +++ entity/District_entity/grantDeleteProcess.js | 16 ++++++++++++++ .../recordcontainers/db/onDBDelete.js | 16 ++++++++++++++ 6 files changed, 83 insertions(+), 9 deletions(-) create mode 100644 aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/district_id/customproperties/translate4log/property.js create mode 100644 entity/District_entity/grantDeleteProcess.js create mode 100644 entity/District_entity/recordcontainers/db/onDBDelete.js diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index de3b537eb9c..18edb1d547c 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -15891,8 +15891,20 @@ <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title></title> + <title>District</title> <description></description> + <customProperties> + <customBooleanProperty> + <name>log</name> + <global v="false" /> + <property v="true" /> + </customBooleanProperty> + <customJDitoProperty> + <name>translate4Log</name> + <global v="false" /> + <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/district_id/customproperties/translate4log/property.js</property> + </customJDitoProperty> + </customProperties> </entityFieldDb> <entityFieldDb> <name>CONTACT_ID</name> diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/district_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/district_id/customproperties/translate4log/property.js new file mode 100644 index 00000000000..1107fb8c489 --- /dev/null +++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/district_id/customproperties/translate4log/property.js @@ -0,0 +1,22 @@ +import("system.translate"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); +import("District_lib"); +import("system.result"); +import("Loghistory_lib"); +import("Contact_lib"); + +var params = Translate4LogParams.load(); + +if (params.action == 'I') +{ + //Gebiet und Betreur umschlüsseln + var arrDistrictContact = DistrictUtils.getDataFromDistrictContact(params.rowId); + var districtName = DistrictUtils.getDistrictName(arrDistrictContact[0]); + var adviserName = ContactUtils.getTitleByContactId(arrDistrictContact[1]); + result.string(districtName + " (" + params.value + "); " + translate.text("Adviser") + ": " + adviserName); +} +else if (params.action == 'D') +{ + result.string(params.value); +} \ No newline at end of file diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/status/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/status/customproperties/translate4log/property.js index c079c7fd800..2c298584241 100644 --- a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/status/customproperties/translate4log/property.js +++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/districtcontact/entityfields/status/customproperties/translate4log/property.js @@ -8,12 +8,17 @@ import("Contact_lib"); var params = Translate4LogParams.load(); -//Keyword umschlüsseln -var keyname = KeywordUtils.getViewValue($KeywordRegistry.contactStatus(), params.value); +//Statusänderung protokollieren +if (params.action == 'U') +{ + //Keyword umschlüsseln + var keyname = KeywordUtils.getViewValue($KeywordRegistry.contactStatus(), params.value); -//Gebiet und Betreur umschlüsseln -var arrDistrictContact = DistrictUtils.getDataFromDistrictContact(params.rowId); -var districtName = DistrictUtils.getDistrictName(arrDistrictContact[0]); -var adviserName = ContactUtils.getFullTitleByContactId(arrDistrictContact[1]) - -result.string(keyname + " (" + translate.text("District") + ": " + districtName + "; " + translate.text("Adviser") + ": " + adviserName + ")"); \ No newline at end of file + //Gebiet und Betreur umschlüsseln + var arrDistrictContact = DistrictUtils.getDataFromDistrictContact(params.rowId); + var districtName = DistrictUtils.getDistrictName(arrDistrictContact[0]); + //var adviserName = ContactUtils.getFullTitleByContactId(arrDistrictContact[1]); + var adviserName = ContactUtils.getTitleByContactId(arrDistrictContact[1]); + + result.string(keyname + " (" + translate.text("District") + ": " + districtName + "; " + translate.text("Adviser") + ": " + adviserName + ")"); +} \ No newline at end of file diff --git a/entity/District_entity/District_entity.aod b/entity/District_entity/District_entity.aod index e45c83db3f6..441b1d11b17 100644 --- a/entity/District_entity/District_entity.aod +++ b/entity/District_entity/District_entity.aod @@ -5,6 +5,8 @@ <documentation>%aditoprj%/entity/District_entity/documentation.adoc</documentation> <icon>VAADIN:GLOBE</icon> <title>District definition</title> + <grantDelete v="false" /> + <grantDeleteProcess>%aditoprj%/entity/District_entity/grantDeleteProcess.js</grantDeleteProcess> <contentTitleProcess>%aditoprj%/entity/District_entity/contentTitleProcess.js</contentTitleProcess> <iconIdProcess>%aditoprj%/entity/District_entity/iconIdProcess.js</iconIdProcess> <titlePlural></titlePlural> @@ -282,6 +284,7 @@ <isPageable v="false" /> <conditionProcess>%aditoprj%/entity/District_entity/recordcontainers/db/conditionProcess.js</conditionProcess> <orderClauseProcess>%aditoprj%/entity/District_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <onDBDelete>%aditoprj%/entity/District_entity/recordcontainers/db/onDBDelete.js</onDBDelete> <cacheType>GLOBAL</cacheType> <cacheKeyProcess>%aditoprj%/entity/District_entity/recordcontainers/db/cacheKeyProcess.js</cacheKeyProcess> <linkInformation> diff --git a/entity/District_entity/grantDeleteProcess.js b/entity/District_entity/grantDeleteProcess.js new file mode 100644 index 00000000000..7522748ad5f --- /dev/null +++ b/entity/District_entity/grantDeleteProcess.js @@ -0,0 +1,16 @@ +import("system.result"); +import("Sql_lib"); +import("system.vars"); + +//Ist das zu löschende Gebiet ein übergeordnetes Gebiet, dann ist das Löschen nicht erlaubt. +var districtId = vars.get("$field.DISTRICTID"); +var anzahl = newSelect("COUNT(*)") + .from("DISTRICT") + .where("DISTRICT.PARENTDISTRICT_DISTRICTID", districtId) + .cell(true); + +if (anzahl > 0) + result.string(false); +else + result.string(true); + diff --git a/entity/District_entity/recordcontainers/db/onDBDelete.js b/entity/District_entity/recordcontainers/db/onDBDelete.js new file mode 100644 index 00000000000..20387d3b81f --- /dev/null +++ b/entity/District_entity/recordcontainers/db/onDBDelete.js @@ -0,0 +1,16 @@ +import("Sql_lib"); +import("system.vars"); +import("system.db"); + +var condition; +var deleteArray = []; +var districtId = vars.get("$field.DISTRICTID"); + +//Gebiet wird gelöscht -> auch die Referenzen in den folgenden Tabellen löschen +condition = newWhere("DISTRICTCONTACT.DISTRICT_ID", districtId); +deleteArray.push(["DISTRICTCONTACT", condition.build()]); + +condition = newWhere("DISTRICTRESPONSIBLE.DISTRICT_ID", districtId); +deleteArray.push(["DISTRICTRESPONSIBLE", condition.build()]); + +db.deletes(deleteArray); \ No newline at end of file -- GitLab