diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index a305558353dd064f05b0a5f734b70ce524e93094..39e32d11ea69313693a42f8686c0d0101884ea96 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -298,6 +298,7 @@ </entityProvider> <entityField> <name>RESPONSIBLE</name> + <documentation>%aditoprj%/entity/Activity_entity/entityfields/responsible/documentation.adoc</documentation> <title>Responsible</title> <consumer>Employees</consumer> <linkedContext>Person</linkedContext> diff --git a/entity/Activity_entity/entityfields/responsible/documentation.adoc b/entity/Activity_entity/entityfields/responsible/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..49366ee1d0292a9d89a3c8e57311a75507edb653 --- /dev/null +++ b/entity/Activity_entity/entityfields/responsible/documentation.adoc @@ -0,0 +1 @@ +Contact_ID from Employee as responsible \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/orgreport/onActionProcess.js b/entity/Organisation_entity/entityfields/orgreport/onActionProcess.js index 1e5bcbc94ce25d28f5ad566f69090b2b8098f135..64b6512c914e4f9780e7fed52e243774c74e0aa8 100644 --- a/entity/Organisation_entity/entityfields/orgreport/onActionProcess.js +++ b/entity/Organisation_entity/entityfields/orgreport/onActionProcess.js @@ -1,4 +1,4 @@ import("system.vars"); import("Organisation_lib"); -OrgUtils.openOrgReport(vars.get("$field.ORGANISATIONID")); \ No newline at end of file +OrgUtils.openOrgReport(vars.get("$field.ORGANISATIONID"), vars.get("$field.CONTACTID")); \ No newline at end of file diff --git a/process/Organisation_lib/process.js b/process/Organisation_lib/process.js index 32e96092dcce84bd7c4e447a62f5543271583e99..b3788d6af4ef9002fd939b3f47fd5aabd769cd87 100644 --- a/process/Organisation_lib/process.js +++ b/process/Organisation_lib/process.js @@ -96,11 +96,10 @@ OrgUtils.removeImage = function(pOrgId) * opens the org-report * * @param {String} pOrgId the id of the organization + * @param {String} pContactId the OrganisationContactId */ -OrgUtils.openOrgReport = function(pOrgId) +OrgUtils.openOrgReport = function(pOrgId, pContactId) { - var relationId = pOrgId; - //org info var info = newSelect("ORGANISATION.INFO") .from("ORGANISATION") @@ -110,7 +109,7 @@ OrgUtils.openOrgReport = function(pOrgId) //communication data of the organization var commData = newSelect("MEDIUM_ID, ADDR") .from("COMMUNICATION") - .where("COMMUNICATION.CONTACT_ID", relationId) + .where("COMMUNICATION.CONTACT_ID", pContactId) .and("ISSTANDARD = 1") .table(); @@ -141,17 +140,19 @@ OrgUtils.openOrgReport = function(pOrgId) } persData = ReportData.begin(["PERSNAMECOMPLETE", "PERSFUNCTION", "PERSDEPARTMENT", "PERSCOMM", "ORGANISATION_ID", "CONTACT_ID"]).add(persData); - var histData = newSelect("ENTRYDATE, CATEGORY, FIRSTNAME, LASTNAME, INFO") + var activityQuery = newSelect("ENTRYDATE, CATEGORY, FIRSTNAME, LASTNAME, INFO") .from("ACTIVITY") .join("ACTIVITYLINK", "ACTIVITYLINK.ACTIVITY_ID = ACTIVITYID") - .join("CONTACT", "ACTIVITYLINK.OBJECT_ROWID = CONTACTID") - .rightJoin("PERSON", "CONTACT.PERSON_ID = PERSONID") - .where("CONTACT.ORGANISATION_ID", pOrgId) //= all activities linked to the organization or an employee - .orderBy("ENTRYDATE desc") - .table(); + .leftJoin("CONTACT", "ACTIVITY.RESPONSIBLE = CONTACTID") + .leftJoin("PERSON", "CONTACT.PERSON_ID = PERSONID") + .where("ACTIVITYLINK.OBJECT_ROWID", pContactId) + .and("ACTIVITYLINK.OBJECT_TYPE", "Organisation") + .orderBy("ENTRYDATE desc"); + +var activityData = activityQuery.table() var dateFormat = translate.text("dd.MM.yyyy"); - histData.forEach(function (row) + activityData.forEach(function (row) { row[0] = datetime.toDate(row[0], dateFormat); // convert html to text @@ -163,7 +164,7 @@ OrgUtils.openOrgReport = function(pOrgId) row[1] = KeywordUtils.getViewValue($KeywordRegistry.activityCategory(), row[1]); _joinArrayVals(row, 2, 2); }); - histData = ReportData.begin(["ENTRYDATE", "MEDIUM", "LOGIN", "INFO"]).add(histData); + activityData = ReportData.begin(["ENTRYDATE", "MEDIUM", "LOGIN", "INFO"]).add(activityData); var attr = new AttributeRelationQuery(pOrgId) .includeDisplayValue() @@ -188,7 +189,7 @@ OrgUtils.openOrgReport = function(pOrgId) taskData = ReportData.begin(["SUBJECT", "INFOTEXT", "STATUS", "RESPONSIBLE"]).add(taskData); var params = { - "ORGAddr" : AddressUtils.getAddress(relationId).toString(), //TODO: use new address logic when available + "ORGAddr" : AddressUtils.getAddress(pContactId).toString(), //TODO: use new address logic when available "ORGAttr" : attr, "INFO" : info }; @@ -198,7 +199,7 @@ OrgUtils.openOrgReport = function(pOrgId) //add subreport data orgReport.addSubReportData("subdataComm", commData); orgReport.addSubReportData("subdataPers", persData); - orgReport.addSubReportData("subdataHist", histData); + orgReport.addSubReportData("subdataHist", activityData); orgReport.addSubReportData("subdataTask", taskData); //add logo