diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index de3b537eb9c335c04569c56e16867be3faa4b694..18edb1d547c9fde978d79f849bba6227e02a09ef 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 0000000000000000000000000000000000000000..1107fb8c489e4ff36f2cfe85ee1607b6e5ec5098 --- /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 c079c7fd8009ca6915d731ed02160ad0e9d8ecfa..2c298584241dbb8701c02a1b7f5974471326113d 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 e45c83db3f6cdb87fac6c0dfec0a96d0df6685b2..441b1d11b171b56ff43214332b1bfecc295db4f7 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 0000000000000000000000000000000000000000..7522748ad5fbe8f919791ccf756baa186da5b08a --- /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 0000000000000000000000000000000000000000..20387d3b81fded387ccec7197be53354a75fa1b6 --- /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