diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index c9558baefe3e2cfb98c86980090279cc36383154..0dc1eae96a5bba6d492c5b5fe06edac595c6d5ae 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -4,6 +4,9 @@ <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/entity/Activity_entity/documentation.adoc</documentation> <title>Activity</title> + <siblings> + <element>ActivityLink_entity</element> + </siblings> <grantDeleteProcess>%aditoprj%/entity/Activity_entity/grantDeleteProcess.js</grantDeleteProcess> <contentTitleProcess>%aditoprj%/entity/Activity_entity/contentTitleProcess.js</contentTitleProcess> <afterUiInit>%aditoprj%/entity/Activity_entity/afterUiInit.js</afterUiInit> @@ -740,6 +743,15 @@ <filterConditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess> <filtertype>BASIC</filtertype> </filterExtensionSet> + <filterExtension> + <name>IsUnlinked</name> + <title>Is unlinked activity</title> + <contentType>BOOLEAN</contentType> + <filterValuesProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterValuesProcess.js</filterValuesProcess> + <filterConditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js</filterConditionProcess> + <isLookupFilter v="false" /> + <filtertype>BASIC</filtertype> + </filterExtension> </filterExtensions> </dbRecordContainer> </recordContainers> diff --git a/entity/Activity_entity/recordcontainers/db/conditionProcess.js b/entity/Activity_entity/recordcontainers/db/conditionProcess.js index 6b1c96c3d19779e42de1168ab94b5e132eac7264..ee923b83f263327cc85adc8fa23f144ea350f3f0 100644 --- a/entity/Activity_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Activity_entity/recordcontainers/db/conditionProcess.js @@ -40,7 +40,11 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars. if (vars.exists("$param.ActivityIDs_param") && vars.get("$param.ActivityIDs_param")) { var acticityIds = JSON.parse(vars.get("$param.ActivityIDs_param")); - condition.and("ACTIVITY.ACTIVITYID", acticityIds, SqlBuilder.IN()); + if (acticityIds.length == 0) { + condition.and("ACTIVITY.ACTIVITYID", ""); // Bedingung um kein Ergebnis zu bekommen + } else { + condition.and("ACTIVITY.ACTIVITYID", acticityIds, SqlBuilder.IN()); + } } if (vars.getString("$param.OnlyInnate_param") == "true") diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3e01b63784b6fc8afc75c743bfdcff5b64ad2268 --- /dev/null +++ b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterConditionProcess.js @@ -0,0 +1,23 @@ +import("KeywordRegistry_basic"); +import("system.logging"); +import("Sql_lib"); +import("system.vars"); +import("system.result"); + +var operator = vars.get("$local.operator"); +var rawvalue = vars.get("$local.rawvalue"); +var operator2 = vars.get("$local.operator2"); +var sqlCond = ""; + +if(operator == "1" && rawvalue == "1" || operator == "2" && rawvalue == "0") + operator2 = SqlBuilder.IN(); +else if(operator == "1" && rawvalue == "0" || operator == "2" && rawvalue == "1") + operator2 = SqlBuilder.NOT_IN(); +else + sqlCond = "1=1"; + +if (sqlCond == "") + sqlCond = new SqlBuilder().where("ACTIVITY.ACTIVITYID", new SqlBuilder().select("ACTIVITYLINK.ACTIVITY_ID").from("ACTIVITYLINK").groupBy("ACTIVITYLINK.ACTIVITY_ID"), operator2); + + +result.string(sqlCond); \ No newline at end of file diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterValuesProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterValuesProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..056eacc69deddeb622123f76b81c997713747a8a --- /dev/null +++ b/entity/Activity_entity/recordcontainers/db/filterextensions/isunlinked/filterValuesProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.object([["true", translate.text("Yes")], ["false", translate.text("No")]]); \ No newline at end of file diff --git a/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js b/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js index 826d12e6b5386f0ca1808c840e61d740ac726b3d..005f7ca5ac1ed5f7275f3c13e74ab1cc185e924d 100644 --- a/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js +++ b/entity/UniversalFileProcessor_entity/entityfields/activities/children/activityids_param/valueProcess.js @@ -1,4 +1,8 @@ import("system.vars"); import("system.result"); -result.string(vars.exists("$global.ACTIVITY_IDS")? vars.get("$global.ACTIVITY_IDS"):"[]"); \ No newline at end of file +if (vars.exists("$global.ACTIVITY_IDS") && vars.get("$global.ACTIVITY_IDS")) { + result.string(vars.get("$global.ACTIVITY_IDS")); +} else { + result.string("[]"); +} \ No newline at end of file diff --git a/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js b/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js index 43feeb028966f9f5e0da867224d550f289cc459b..8f1c9f0ead9994903655b9abd71da047ca14e850 100644 --- a/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js +++ b/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js @@ -32,6 +32,7 @@ for (var i = 0, l = files.length; i < l; i++) var mailObj = _getMailObj(files[i]); if (mailObj) { + mailObj.filename = files[i].filename; var incomingMailExec = new IncomingEmailExecutor(mailObj); incomingMailExec.setAlias(dbAlias); var mailImportResult = incomingMailExec.autoProcess() diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 7d7faf29064e6a889ba516cd390fe185946689dc..977fdd9d8d13ec60b43378be48ecade7ec655b5f 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -6804,7 +6804,34 @@ <key>${SQL_LIB_FIELD_WRONG_FORMAT}</key> </entry> <entry> - <key>Settings</key> + <key>yellow</key> + </entry> + <entry> + <key>Borrow</key> + </entry> + <entry> + <key>Is unlinked activity</key> + </entry> + <entry> + <key>Fantasy</key> + </entry> + <entry> + <key>Extend</key> + </entry> + <entry> + <key>Krimi</key> + </entry> + <entry> + <key>red</key> + </entry> + <entry> + <key>Return</key> + </entry> + <entry> + <key>green</key> + </entry> + <entry> + <key>Actionthriller</key> </entry> <entry> <key>No new recipients found that can be added to the bulk mail.</key> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 14b87249af125526a2090fb370943eebb3636f65..b5e2a9842537fbd6e1b18b389ca089903611fa58 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -32,7 +32,6 @@ </entry> <entry> <key>Finished</key> - <value>Abgeschlossen</value> </entry> <entry> <key>Show my organisations</key> @@ -82,10 +81,6 @@ <key>Has marketing approved this step?</key> <value>Hat das Marketing diesem Schritt zugestimmt?</value> </entry> - <entry> - <key>Create model</key> - <value>Modell erstellen</value> - </entry> <entry> <key>Task done</key> <value>Aufgabe abgeschlossen</value> @@ -700,10 +695,6 @@ <key>None</key> <value>Keine</value> </entry> - <entry> - <key>Edit workflow</key> - <value>Workflow bearbeiten</value> - </entry> <entry> <key>Date of request</key> <value>Datum der Anforderung</value> @@ -2098,10 +2089,6 @@ <key>{$TASK_STATUS}</key> <value>Status</value> </entry> - <entry> - <key>and open modeler</key> - <value>und Modeler öffnen</value> - </entry> <entry> <key>Task</key> <value>Aufgabe</value> @@ -4017,9 +4004,11 @@ </entry> <entry> <key>false</key> + <value>falsch</value> </entry> <entry> <key>true</key> + <value>wahr</value> </entry> <entry> <key>${MIN_MAX_ERROR} field: %0, value: %1, min: %2, max: %3</key> @@ -5063,7 +5052,7 @@ </entry> <entry> <key>Read</key> - <value>Gelesen</value> + <value>gelesen</value> </entry> <entry> <key>Permission Set ID</key> @@ -6738,7 +6727,7 @@ </entry> <entry> <key>archive</key> - <value>Archivieren</value> + <value>archivieren</value> </entry> <entry> <key>Bangladesh</key> @@ -8265,10 +8254,6 @@ Bitte Datumseingabe prüfen</value> <key>Contactreport</key> <value>Kontaktbericht</value> </entry> - <entry> - <key>The Sales Project can only be filled when a company has been specified</key> - <value>Das Vertriebsprojekt kann nur ausgefüllt werden, wenn eine Firma angegeben ist</value> - </entry> <entry> <key>Appointment planned</key> <value>Termin vereinbart</value> @@ -8583,7 +8568,6 @@ Bitte Datumseingabe prüfen</value> </entry> <entry> <key>Zip</key> - <value>Plz</value> </entry> <entry> <key>type</key> @@ -8740,93 +8724,35 @@ Bitte Datumseingabe prüfen</value> <value>gültig ab (in </value> </entry> <entry> - <key>workflow notification</key> - <value>Workflow Benachrichtigung</value> - </entry> - <entry> - <key>leadimport notification</key> - </entry> - <entry> - <key>bulk mail sent</key> - </entry> - <entry> - <key>download ready</key> - </entry> - <entry> - <key>No new recipients found that can be added to the bulk mail.</key> - <value>Keine neuen Empfänger, die zur Serienmail hinzugefügt werden können, gefunden.</value> - </entry> - <entry> - <key>Permission received</key> - <value>erhaltene Berechtigung</value> - </entry> - <entry> - <key>granted permission</key> - <value>vergebene Berechtigung</value> - </entry> - <entry> - <key>Receive new Department Permission</key> - <value>Neue Abteilungs-Berechtigung erhalten</value> - </entry> - <entry> - <key>Receive new User Permission</key> - <value>Neue Benutzer-Berechtigung erhalten</value> - </entry> - <entry> - <key>export</key> - </entry> - <entry> - <key>No new recipients found that can be added to the serial letter.</key> - <value>Keine neuen Empfänger, die zum Serienbrief werden können, gefunden.</value> - </entry> - <entry> - <key>export using the selected template</key> - <value>Mit der ausgewählten Vorlage Exportieren</value> + <key>yellow</key> </entry> <entry> - <key>send mail</key> - <value>E-Mail losschicken</value> + <key>Borrow</key> </entry> <entry> - <key>Total in euros</key> + <key>Is unlinked activity</key> + <value>Ist eine unverknüpfte Aktivität</value> </entry> <entry> - <key>Workflow Model</key> + <key>Fantasy</key> </entry> <entry> - <key>{SEND_MAIL}</key> - <value>Email versenden</value> + <key>Extend</key> </entry> <entry> - <key>The workflow could not be deployed</key> + <key>Krimi</key> </entry> <entry> - <key>Workflow deploy failed</key> + <key>red</key> </entry> <entry> - <key>Download letter and create Activity</key> - </entry> - <entry> - <key>{SENT_MAIL}</key> - </entry> - <entry> - <key>Add Participants</key> - </entry> - <entry> - <key>and open Report</key> - </entry> - <entry> - <key>Add Recipients</key> - </entry> - <entry> - <key>New</key> - <value>Neu</value> + <key>Return</key> </entry> <entry> - <key>Release</key> + <key>green</key> </entry> <entry> - <key>Archived</key> + <key>Actionthriller</key> </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index a36b9b673f2b9a681843ae6ffca66ea1d83a9a85..1db9b01933ba612aa3e557888ba31ba0b4ed18ee 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -6870,7 +6870,34 @@ <key>Valid from (as </key> </entry> <entry> - <key>Settings</key> + <key>yellow</key> + </entry> + <entry> + <key>Borrow</key> + </entry> + <entry> + <key>Is unlinked activity</key> + </entry> + <entry> + <key>Fantasy</key> + </entry> + <entry> + <key>Extend</key> + </entry> + <entry> + <key>Krimi</key> + </entry> + <entry> + <key>red</key> + </entry> + <entry> + <key>Return</key> + </entry> + <entry> + <key>green</key> + </entry> + <entry> + <key>Actionthriller</key> </entry> <entry> <key>No new recipients found that can be added to the bulk mail.</key> diff --git a/process/IncomingEmailExecutor_lib/process.js b/process/IncomingEmailExecutor_lib/process.js index a43fbc1f56043c6699cdfb335d50981fba6f24f0..555f4f161b3e60e782158c1a1aa1a632a5733c50 100644 --- a/process/IncomingEmailExecutor_lib/process.js +++ b/process/IncomingEmailExecutor_lib/process.js @@ -28,6 +28,7 @@ function IncomingEmailExecutor(pMail) this.mailSubject = this.rawMail[mail.MAIL_SUBJECT] || ""; this.mailSender = this.rawMail[mail.MAIL_SENDER]; this.mailSentDate = this.rawMail[mail.MAIL_SENTDATE]; + this.filename = this.rawMail.filename; var mailRecipientsTo = this.rawMail[mail.RECIPIENT_TO].split(";"); var mailRecipientsCc = this.rawMail[mail.RECIPIENT_CC].split(";"); @@ -194,14 +195,20 @@ IncomingEmailExecutor.prototype.createActivity = function(pAdditionalLinks) subject: this.mailSubject, content: this.getMailtextAsHtml(), categoryKeywordId: $KeywordRegistry.activityCategory$mail(), - directionKeywordId: this.activityData.direction || this.failbackActivityData.direction, - responsibleContactId: this.activityData.employeeContactId || this.failbackActivityData.employeeContactId + directionKeywordId: this.activityData.direction || this.failbackActivityData.direction }; + + if (vars.get("$sys.isclient")){ + activityDataForInsert.responsibleContactId = EmployeeUtils.getCurrentContactId(); + } else { + activityDataForInsert.responsibleContactId = this.activityData.employeeContactId || this.failbackActivityData.employeeContactId; + } + var activityLinks = this.activityData.links || this.failbackActivityData.links; if (pAdditionalLinks) activityLinks = activityLinks.concat(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 activityDocs = [[this.filename || "mail.eml", util.encodeBase64String(mail.toRFC(this.rawMail)), true]]; var activityRes = ActivityUtils.insertNewActivity(activityDataForInsert, activityLinks, activityDocs, this._alias, this.mailSentDate); return activityRes;