diff --git a/.liquibase/Data_alias/changelog.xml b/.liquibase/Data_alias/changelog.xml index 7eea5966581a44cf29ffb6bdf99ab97e95eb3e10..c3a1d3c5759b118fd0d3d4e30e38f246a3f28166 100644 --- a/.liquibase/Data_alias/changelog.xml +++ b/.liquibase/Data_alias/changelog.xml @@ -19,4 +19,4 @@ <!--enable this only when you definetly want to overwrite the existing data with demo records:--> <!--<include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/>--> -</databaseChangeLog> +</databaseChangeLog> \ No newline at end of file diff --git a/process/District_lib/process.js b/process/District_lib/process.js index 2811473806a364c43b06bafba27198df0ab39e04..47c2f38c68eeae7c8ec11f665f7ea31feebd219e 100644 --- a/process/District_lib/process.js +++ b/process/District_lib/process.js @@ -1,3 +1,8 @@ +import("system.tools"); +import("system.text"); +import("system.datetime"); +import("system.notification"); +import("system.translate"); import("system.logging"); import("Contact_lib"); import("KeywordRegistry_basic"); @@ -259,12 +264,13 @@ DistrictUtils.getAppliedFilter = function (pDistrictFilter, pParentDistrict_Dist var parentFilter = DistrictUtils.getParentFilter(pParentDistrict_DistrictId); var appliedFilter = { - entity: "Organisation_entity", - filter: { - type: "group", - operator: "AND", - childs: [] - }}; + entity: "Organisation_entity", + filter: { + type: "group", + operator: "AND", + childs: [] + } + }; if (parentFilter) { @@ -427,8 +433,33 @@ DistrictUtils.assignOrganisationToDistrict = function (pOrganisationId, pUserLog } - //Variante 2: Aufruf des Server-Prozessen mit allen Gebieten mit Auto-Zuordnung gleich true - //Wirft den gleichen Fehler wie Variante 1 - //TODO: Aus dem pUserLogin noch die Employee-ID ermitteln - //DistrictUtils.assignDistrictOnServer(allAutoDistricts, pUserLogin); -} \ No newline at end of file +//Variante 2: Aufruf des Server-Prozessen mit allen Gebieten mit Auto-Zuordnung gleich true +//Wirft den gleichen Fehler wie Variante 1 +//TODO: Aus dem pUserLogin noch die Employee-ID ermitteln +//DistrictUtils.assignDistrictOnServer(allAutoDistricts, pUserLogin); +} + +/** + * This function will notificate the district contact that he/she was assigned + * + * @param {String} pDistrictContactId <p> + * DistrictContact-ID of the new Dataset<br> + * @return <none> <p> + */ +DistrictUtils.notificateNewDistrictContact = function(pDistrictContactId){ + message = translate.text("Assignment to a new district/company!"); + + //[0]: DISTRICT_ID, [1]: ADVISER_CONTACT_ID, [2]: CONTACT_ID + var arrayDistrictContact = DistrictUtils.getDataFromDistrictContact(pDistrictContactId); + + //get corresponding profile information of the systemalias + var user = tools.getUserByAttribute(tools.CONTACTID, arrayDistrictContact[1], tools.PROFILE_DEFAULT); + var userName = user[tools.NAME]; + + var districtName = DistrictUtils.getDistrictName(arrayDistrictContact[0]); + var organisationName = ContactUtils.getFullTitleByContactId(arrayDistrictContact[2]); + // Benachrichtigung am Ende der Zuordnungen + description = translate.withArguments("You were assigned as new district contact to district %0 and organisation %1.", + [districtName, organisationName]) + notification.addNotification(util.getNewUUID(), text.encodeMS(["Organisation", arrayDistrictContact[2]]), null, null, "DistrictAssigned", notification.PRIO_NORMAL, 2, notification.STATE_UNSEEN, [userName], message, description); +} diff --git a/process/process_audit/process.js b/process/process_audit/process.js index b91b948b6dfc3b680015966c5c3024e3e04d76ed..2a6f8cac186f152024ad1ea1daf967a4b3f50bd4 100644 --- a/process/process_audit/process.js +++ b/process/process_audit/process.js @@ -21,4 +21,8 @@ if (sqlAction != 'X') //if (sqlAction == 'I' && tableName == 'ORGANISATION') //{ // DistrictUtils.assignOrganisationToDistrict(id, userLogin); -//} \ No newline at end of file +//} + +if(sqlAction == 'I' && tableName == 'DISTRICTCONTACT'){ + DistrictUtils.notificateNewDistrictContact(id); +} \ No newline at end of file