Skip to content
Snippets Groups Projects
Commit db781675 authored by Sebastian Pongratz's avatar Sebastian Pongratz :ping_pong: Committed by Johannes Goderbauer
Browse files

[Projekt: Entwicklung - Neon][TicketNr.: 1056853][Unverknüpfte Mails soll...

[Projekt: Entwicklung - Neon][TicketNr.: 1056853][Unverknüpfte Mails soll entfallen und durch Aktivitäten ausgetauscht werden]
parent 54fbe320
No related branches found
No related tags found
No related merge requests found
Showing
with 156 additions and 6 deletions
......@@ -264,6 +264,12 @@
<fieldName>Activities</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>943c36a2-d378-44a1-b214-25e92244c8cb</name>
<entityName>UniversalFileProcessor_entity</entityName>
<fieldName>Activities</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
......@@ -595,6 +601,15 @@
<name>VisitPlanEntryId_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>ActivityIDs_param</name>
<expose v="true" />
</entityParameter>
<entityField>
<name>countLinks</name>
<title> number of connections</title>
<valueProcess>%aditoprj%/entity/Activity_entity/entityfields/countlinks/valueProcess.js</valueProcess>
</entityField>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.result");
import("system.vars");
import("Sql_lib");
result.string(newSelect("count(*)").from("ACTIVITYLINK").where("ACTIVITYLINK.ACTIVITY_ID", vars.get("$field.ACTIVITYID")).arrayColumn()[0]);
\ No newline at end of file
import("system.logging");
import("Employee_lib");
import("system.vars");
import("system.db");
......@@ -40,6 +41,11 @@ if(vars.getString("$param.OnlyInnate_param") == "true")
loadNothing = true;
}
if (vars.exists("$param.ActivityIDs_param") && vars.get("$param.ActivityIDs_param")) {
var acticityIDs = JSON.parse(vars.get("$param.ActivityIDs_param"));
cond.and("ACTIVITY.ACTIVITYID",acticityIDs , SqlBuilder.IN());
}
if (loadNothing)
{
resCond = "1 = 2";
......
......@@ -22,5 +22,19 @@
<name>category_param</name>
<expose v="true" />
</entityParameter>
<entityConsumer>
<name>Activities</name>
<dependency>
<name>dependency</name>
<entityName>Activity_entity</entityName>
<fieldName>LinkedObjects</fieldName>
</dependency>
<children>
<entityParameter>
<name>ActivityIDs_param</name>
<valueProcess>%aditoprj%/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields>
</entity>
import("system.vars");
import("system.result");
result.string(vars.exists("$global.ACTIVITY_IDS")? vars.get("$global.ACTIVITY_IDS"):"[]");
\ No newline at end of file
......@@ -17,6 +17,7 @@ var status = {
otherImportedFiles: 0,
skippedFiles: 0
};
var activityIDs = [];
for (var i = 0, l = files.length; i < l; i++)
{
......@@ -34,12 +35,16 @@ for (var i = 0, l = files.length; i < l; i++)
var incomingMailExec = new IncomingEmailExecutor(mailObj);
incomingMailExec.setAlias(dbAlias);
var mailImportResult = incomingMailExec.autoProcess()
if (mailImportResult.activityId)
if ((!mailImportResult.unlinkedMailId) && mailImportResult.activityId)
status.activitiesCreated++;
else if (mailImportResult.unlinkedMailId)
else if (mailImportResult.unlinkedMailId && mailImportResult.activityId)
status.unlinkedMailsCreated++;
else
status.skippedFiles++;
if (mailImportResult.activityId){
activityIDs.push(mailImportResult.activityId);
}
}
else
status.skippedFiles++;
......@@ -50,6 +55,8 @@ for (var i = 0, l = files.length; i < l; i++)
}
}
vars.set("$global.ACTIVITY_IDS", JSON.stringify(activityIDs)); //TODO: Änderung auf andere Variable #1057014
if (status.activitiesCreated > 0 || status.unlinkedMailsCreated > 0 || status.otherImportedFiles > 0)
neon.refreshAll();//this is needed for the dashboard: other elements are refreshed and display for example unlinkedMails
......
......@@ -6653,6 +6653,9 @@
<entry>
<key>Leadimport Reset</key>
</entry>
<entry>
<key>Offer status changed!</key>
</entry>
<entry>
<key>Möchten Sie den Import abbrechen?</key>
</entry>
......@@ -6716,6 +6719,18 @@
<entry>
<key>New Visit Recommendation</key>
</entry>
<entry>
<key>Set salesproject phase</key>
</entry>
<entry>
<key>Create salesproject</key>
</entry>
<entry>
<key> number of connections</key>
</entry>
<entry>
<key>Create salesproject touchpoint</key>
</entry>
<entry>
<key>Limited details</key>
</entry>
......
......@@ -8588,6 +8588,19 @@ Bitte Datumseingabe prüfen</value>
<entry>
<key>Abomodel</key>
</entry>
<entry>
<key>Set salesproject phase</key>
</entry>
<entry>
<key>Create salesproject</key>
</entry>
<entry>
<key> number of connections</key>
<value>Anzahl Verknüpfungen</value>
</entry>
<entry>
<key>Create salesproject touchpoint</key>
</entry>
<entry>
<key>Limited details</key>
<value>Eingeschränkte Details</value>
......
......@@ -6706,6 +6706,9 @@
<entry>
<key>Leadimport Reset</key>
</entry>
<entry>
<key>Offer status changed!</key>
</entry>
<entry>
<key>Möchten Sie den Import abbrechen?</key>
</entry>
......@@ -6772,6 +6775,18 @@
<entry>
<key>ankle of</key>
</entry>
<entry>
<key>Set salesproject phase</key>
</entry>
<entry>
<key>Create salesproject</key>
</entry>
<entry>
<key> number of connections</key>
</entry>
<entry>
<key>Create salesproject touchpoint</key>
</entry>
<entry>
<key>Visit Planning</key>
</entry>
......
......@@ -37,5 +37,9 @@
<name>3884f349-be09-47bd-8930-47e0697d658f</name>
<view>ActivityMultiEdit_view</view>
</neonViewReference>
<neonViewReference>
<name>01feb10a-34d2-4ef3-b87b-a1e35a4b12e0</name>
<view>ActivityUniversalFileProcessorFilter_view</view>
</neonViewReference>
</references>
</neonContext>
<?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>ActivityUniversalFileProcessorFilter_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<groupLayout>
<name>layout</name>
</groupLayout>
</layout>
<children>
<tableViewTemplate>
<name>ActivityUniversalFileProcessorFilterTable</name>
<iconField>#IMAGE</iconField>
<titleField>SUBJECT</titleField>
<subtitleField>ENTRYDAY</subtitleField>
<descriptionField>DIRECTION</descriptionField>
<entityField>#ENTITY</entityField>
<linkedColumns>
<element>SUBJECT</element>
</linkedColumns>
<columns>
<neonTableColumn>
<name>d97147cc-cbdc-4eab-99b3-8c6fd092329d</name>
<entityField>entryDateDateFormat</entityField>
</neonTableColumn>
<neonTableColumn>
<name>030dcd56-6f13-4f93-b37e-7ebb4eaa4b70</name>
<entityField>countLinks</entityField>
</neonTableColumn>
<neonTableColumn>
<name>fa2cad56-c55d-48c9-b77c-5741b7299131</name>
<entityField>RESPONSIBLE</entityField>
</neonTableColumn>
<neonTableColumn>
<name>4505af54-c491-4f59-a5b7-ae93718baa70</name>
<entityField>SUBJECT</entityField>
</neonTableColumn>
<neonTableColumn>
<name>a32a87b0-79ed-4774-9331-a814298c4ee8</name>
<entityField>INFO</entityField>
</neonTableColumn>
</columns>
</tableViewTemplate>
</children>
</neonView>
......@@ -37,5 +37,10 @@
<descriptionField>INFO</descriptionField>
<entityField>#ENTITY</entityField>
</dragAndDropViewTemplate>
<neonViewReference>
<name>9cddaca9-6c6a-426c-90f1-54f6d21305d4</name>
<entityField>Activities</entityField>
<view>ActivityUniversalFileProcessorFilter_view</view>
</neonViewReference>
</children>
</neonView>
......@@ -71,6 +71,7 @@ IncomingEmailExecutor.prototype.setActivityEmployeeContact = function (pContactI
else
{
this.activityData.employeeContactId = pContactId;
this.activityData.links.push(["Person", pContactId]);
this.activityData.employeeContactLanguage = pLanguageIso3;
}
}
......@@ -198,7 +199,7 @@ IncomingEmailExecutor.prototype.createActivity = function(pAdditionalLinks)
activityLinks = ArrayUtils.distinct2d(activityLinks);//TODO: better check before adding the elements into the array if it already exists there
var activityDocs = [["mail.eml", util.encodeBase64String(mail.toRFC(this.rawMail)), true]];
var activityRes = ActivityUtils.insertNewActivity(activityDataForInsert, activityLinks, activityDocs, this._alias);
var activityRes = ActivityUtils.insertNewActivity(activityDataForInsert, activityLinks, activityDocs, this._alias, this.mailSentDate);
return activityRes;
}
......@@ -210,6 +211,7 @@ IncomingEmailExecutor.prototype.deleteUnlinkedMail = function (pUnlinkedMailId)
IncomingEmailExecutor.prototype.autoProcess = function(pUnlinkedMailId)
{
let tempResult = {};
if (this.isUnlinkable())
{
if (pUnlinkedMailId)
......@@ -217,12 +219,12 @@ IncomingEmailExecutor.prototype.autoProcess = function(pUnlinkedMailId)
unlinkedMailId: pUnlinkedMailId
};
else
return this.insertUnlinkedMail();
tempResult.unlinkedMailId = this.insertUnlinkedMail();
}
var activityRes = this.createActivity();
tempResult.activityId = this.createActivity().activityId;
this.deleteUnlinkedMail(pUnlinkedMailId);
return activityRes;
return tempResult;
}
IncomingEmailExecutor.prototype._getProcessingFunction = function (pIsSender, pTargetArray)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment