diff --git a/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/patternExtensionProcess.js b/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/patternExtensionProcess.js index ad39e57e9cd6587861d2480f9fbde1e483008f00..9360238deb1103fbc8489a29aa4c4b21caf2d3c6 100644 --- a/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/patternExtensionProcess.js +++ b/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/patternExtensionProcess.js @@ -4,7 +4,7 @@ import("system.db"); import("system.vars"); import("system.tools"); -if(tools.hasRole(vars.get("$sys.user"), "PROJECT_Support")) +if(tools.hasRole(vars.get("$sys.user"), "PROJECT_ServiceAgent")) { var filter = "( +_index_group_:KNOWLEDGE_KNOWLEDGEBASE + ( (publish_value: 2)) ) OR ( -_index_group_:KNOWLEDGE_KNOWLEDGEBASE )"; result.string(filter) diff --git a/entity/ServiceEmailAllDocuments_entity/entityfields/documentfile/displayValueProcess.js b/entity/ServiceEmailAllDocuments_entity/entityfields/documentfile/displayValueProcess.js index 5d1039bbe8559176b283e8c12d1f54b38b532ed5..191b98d61432415034ddabec9628a671b9c51808 100644 --- a/entity/ServiceEmailAllDocuments_entity/entityfields/documentfile/displayValueProcess.js +++ b/entity/ServiceEmailAllDocuments_entity/entityfields/documentfile/displayValueProcess.js @@ -10,6 +10,4 @@ if (binaryDocumentID) var myDocumentFilename = db.getBinaryMetadataForIds([binaryDocumentID], true, alias); result.string(myDocumentFilename[0].filename); -} - - +} \ No newline at end of file diff --git a/entity/ServiceEmail_Documents_entity/ServiceEmail_Documents_entity.aod b/entity/ServiceEmail_Documents_entity/ServiceEmail_Documents_entity.aod index e12fe53688b1e534b6490e8c59808804e620e935..ccc84cd798c854899d3353f4d0b607ee73b89138 100644 --- a/entity/ServiceEmail_Documents_entity/ServiceEmail_Documents_entity.aod +++ b/entity/ServiceEmail_Documents_entity/ServiceEmail_Documents_entity.aod @@ -17,8 +17,6 @@ </entityField> <entityField> <name>NAME</name> - <title>Filename</title> - <dropDownProcess>%aditoprj%/entity/ServiceEmail_Documents_entity/entityfields/name/dropDownProcess.js</dropDownProcess> <state>AUTO</state> </entityField> <entityProvider> @@ -42,6 +40,7 @@ </entityField> <entityField> <name>BINARY_FILENAME</name> + <title>Filename</title> </entityField> <entityField> <name>BINARY_ID</name> @@ -50,6 +49,11 @@ <name>#PROVIDER_AGGREGATES</name> <useAggregates v="true" /> </entityProvider> + <entityField> + <name>CONTEXT</name> + <title>Source</title> + <displayValueProcess>%aditoprj%/entity/ServiceEmail_Documents_entity/entityfields/context/displayValueProcess.js</displayValueProcess> + </entityField> </entityFields> <recordContainers> <jDitoRecordContainer> @@ -57,7 +61,6 @@ <jDitoRecordAlias>_____SYSTEMALIAS</jDitoRecordAlias> <isSortable v="true" /> <contentProcess>%aditoprj%/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js</contentProcess> - <rowCountProcess></rowCountProcess> <onInsert>%aditoprj%/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/onInsert.js</onInsert> <recordFieldMappings> <jDitoRecordFieldMapping> @@ -69,6 +72,9 @@ <jDitoRecordFieldMapping> <name>preview.value</name> </jDitoRecordFieldMapping> + <jDitoRecordFieldMapping> + <name>CONTEXT.value</name> + </jDitoRecordFieldMapping> </recordFieldMappings> </jDitoRecordContainer> </recordContainers> diff --git a/entity/ServiceEmail_Documents_entity/entityfields/context/displayValueProcess.js b/entity/ServiceEmail_Documents_entity/entityfields/context/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..5241df31243ce36dbb418a5f0f02a22e909ec36c --- /dev/null +++ b/entity/ServiceEmail_Documents_entity/entityfields/context/displayValueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.translate"); +import("system.result"); + +result.string(translate.text(vars.get("$field.CONTEXT"))); \ No newline at end of file diff --git a/entity/ServiceEmail_Documents_entity/entityfields/name/dropDownProcess.js b/entity/ServiceEmail_Documents_entity/entityfields/name/dropDownProcess.js deleted file mode 100644 index d955208bdc545425d13265311960fb97519db5c7..0000000000000000000000000000000000000000 --- a/entity/ServiceEmail_Documents_entity/entityfields/name/dropDownProcess.js +++ /dev/null @@ -1,15 +0,0 @@ -import("system.vars"); -import("system.db"); -import("Sql_lib"); -import("system.translate"); -import("system.result"); - - -let ticketID = vars.get("$param.TicketId_param"); -if (ticketID) -{ - let alias = SqlUtils.getBinariesAlias(); - var ticketFileNames = db.getBinaryMetadataForIds([ticketID], true, alias); - - result.object(ticketFileNames); -} diff --git a/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js b/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js index 379a4d80a8ca2a9d9293cd39da12df5de28c55b7..afecdd627c44553793553b2b936836873cb9cb9c 100644 --- a/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/ServiceEmail_Documents_entity/recordcontainers/jdito/contentProcess.js @@ -17,10 +17,26 @@ import("system.result"); let ticketID = vars.get("$param.TicketId_param"); if(ticketID) { - let alias = SqlUtils.getBinariesAlias(); - var ticketFileIds = db.getBinaryMetadata("TICKET", "DOCUMENT", ticketID, true, alias); - ticketFileIds.forEach(function(binaryMetaData){ - mapDates.push([binaryMetaData.id,binaryMetaData.filename,binaryMetaData.preview]) + let Binariesalias = SqlUtils.getBinariesAlias(); + let Dataalias = SqlUtils.getDataAlias(); + // ADD ALSO ALL DOCUMENTS FROM CORESPONDENTING ACTIVITIES + var activityRowIds = newSelect("ACTIVITYLINK.ACTIVITY_ID", Dataalias) + .from("ACTIVITYLINK") + .where("ACTIVITYLINK.OBJECT_ROWID",ticketID) + .arrayColumn() + + activityRowIds.forEach(function(activityId) + { + var activityFileIds = db.getBinaryMetadata("ACTIVITY", "DOCUMENT", activityId, true, Binariesalias); + activityFileIds.forEach(function(binaryMetaData){ + binaryMetaData["context"] = "Activity"; + mapDates.push([binaryMetaData.id,binaryMetaData.filename,binaryMetaData.preview, binaryMetaData.context]) + }); + }); + var ticketFileIds = db.getBinaryMetadata("TICKET", "DOCUMENT", ticketID, true, Binariesalias); + ticketFileIds.forEach(function(binaryMetaData){ + binaryMetaData["context"] = "Serviceticket"; + mapDates.push([binaryMetaData.id,binaryMetaData.filename,binaryMetaData.preview, binaryMetaData.context]) }); } result.object(mapDates); diff --git a/entity/ServiceEmail_entity/afterUiInit.js b/entity/ServiceEmail_entity/afterUiInit.js index 6684d982bdbfe52853f7125b3eba61304c560c01..457c932e3aed55cae26fec07509873841b55a63e 100644 --- a/entity/ServiceEmail_entity/afterUiInit.js +++ b/entity/ServiceEmail_entity/afterUiInit.js @@ -137,21 +137,21 @@ if( vars.get("$param.ActionName_param") && (vars.get("$param.ActionName_param") activityRowIds.forEach(function(activityId) { - var activityFileIds = db.getBinaryMetadata("ACTIVITY", "DOCUMENT", activityId, true, alias); - activityFileIds.forEach(function(fileID){ + var activityFile = db.getBinaryMetadata("ACTIVITY", "DOCUMENT", activityId, true, alias); + activityFile.forEach(function(file){ neon.addRecord("TicketDocumentsCons", { - "DOCUMENTFILE":fileID + "DOCUMENTFILE":file.id }); }); }); // ADD original ticket dockuments - var ticketFileIds = db.getBinaryMetadata("TICKET", "DOCUMENT", ticketID, true, alias); - ticketFileIds.forEach(function(fileID){ + var ticketFile = db.getBinaryMetadata("TICKET", "DOCUMENT", ticketID, true, alias); + ticketFile.forEach(function(file){ neon.addRecord("TicketDocumentsCons", { - "DOCUMENTFILE":fileID.id + "DOCUMENTFILE":file.id }); - }); + }); } /// SET DEFAULS STATUS diff --git a/entity/ServiceEmail_entity/recordcontainers/jdito/onInsert.js b/entity/ServiceEmail_entity/recordcontainers/jdito/onInsert.js index 8c507747bc810136d2b47e3289006557b8678a66..082d2c305af780656f5456963a7dc03f056ed276 100644 --- a/entity/ServiceEmail_entity/recordcontainers/jdito/onInsert.js +++ b/entity/ServiceEmail_entity/recordcontainers/jdito/onInsert.js @@ -112,19 +112,22 @@ if(vars.exists("$field.TicketDocumentsCons.insertedRows")) if(binaryDocumentID) { let alias = SqlUtils.getBinariesAlias(); - var myDocumentInfos = SqlUitils.getBinaryMetadata("TICKET", "DOCUMENT", binaryDocumentID, true, Alias); - fileName = myDocumentInfos.filename; + var myDocumentInfos = db.getBinaryMetadataForIds([binaryDocumentID], true, alias); - contentBinary = db.getBinaryContent(myDocumentInfos.id, alias) + fileName = myDocumentInfos[0].filename; + fileSize = myDocumentInfos[0].size; + filemimeType = myDocumentInfos[0].mimetype; - fileSize = myDocumentInfos.size; - if(myDocumentInfos && contentBinary) + contentBinary = db.getBinaryContent(myDocumentInfos[0].id, alias) + + if(myDocumentInfos[0] && contentBinary) { eml.attachmentTemplates.push( { content: contentBinary, - filename: fileName + mimeType: filemimeType, + filename: fileName }); mySendedFiles += ('- "' + fileName + '" | Size: ' + fileSize +';<br/> '); @@ -170,7 +173,7 @@ if(returnedMsgAfterSend == true) var infoText = translate.text("Mailing to customer"); if(sendType != "external") { - infoText = translate.text("Internal mailing"); + infoText = translate.text("Internal forwarding via mailing"); } //insert Activity diff --git a/entity/SupportTicket_entity/entityfields/counteractivities/valueProcess.js b/entity/SupportTicket_entity/entityfields/counteractivities/valueProcess.js index 3ee26efad0f035c6825bd04f0c91ce4eaf647e7e..0cfb4574d1eec717268c7fe9cdbf565f9ec13743 100644 --- a/entity/SupportTicket_entity/entityfields/counteractivities/valueProcess.js +++ b/entity/SupportTicket_entity/entityfields/counteractivities/valueProcess.js @@ -5,8 +5,8 @@ import("system.result"); result.string( newSelect("count(*)") - .from("ACTIVITY") - .where("ACTIVITY.PARENT_CONTEXT", ContextUtils.getCurrentContextId()) - .and("ACTIVITY.PARENT_ID", vars.get("$field.TICKETID")) + .from("ACTIVITYLINK") + .where("ACTIVITYLINK.OBJECT_TYPE", ContextUtils.getCurrentContextId()) + .and("ACTIVITYLINK.OBJECT_ROWID", vars.get("$field.TICKETID")) .cell() ); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 4492b3414a545216935ed7dc2eaeb3cbb4a9583f..54877615643425e6c73f3cb12e87d10e65e19b8c 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -11096,6 +11096,21 @@ <entry> <key>${MIN_MAX_ERROR_MAX_INT_VALUE} field: %0, value: %1, min: %2</key> </entry> + <entry> + <key>Internal forwarding via mailing</key> + </entry> + <entry> + <key>A Phase filter has to be set when creating a checklistentry for the Salesproject Context.</key> + </entry> + <entry> + <key>Search component</key> + </entry> + <entry> + <key>Intenral mailing</key> + </entry> + <entry> + <key>Mailing to customer</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index c5fbc600f3187815a087b7df2d66154a2de32587..0c8d26e9dd81d7404b03ad0957f6b9e3df10aaae 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -1346,6 +1346,9 @@ <key>My Turnover</key> <value>Mein Umsatz</value> </entry> + <entry> + <key>Intenral mailing</key> + </entry> <entry> <key>NORMAL</key> <value>normal</value> @@ -6749,6 +6752,10 @@ <key>Existing contact</key> <value>Bestehender Kontakt</value> </entry> + <entry> + <key>Internal forwarding via mailing</key> + <value>Interne Weiterleitung via Mail</value> + </entry> <entry> <key>Mailing</key> <value>Mailing</value> @@ -7379,6 +7386,10 @@ <key>USER_EDIT</key> <value>USER_EDIT</value> </entry> + <entry> + <key>Mailing to customer</key> + <value>Mail an Kunden</value> + </entry> <entry> <key>CONTACTID (UID)</key> <value>Kontakt ID</value> @@ -13076,6 +13087,10 @@ Bitte Datumseingabe prüfen</value> <key>OpenDocument Graphics</key> <value>OpenDocument Grafik</value> </entry> + <entry> + <key>Search component</key> + <value>Suchkomponente</value> + </entry> <entry> <key>OpenDocument Graphics Template</key> <value>OpenDocument Grafikvorlage</value> @@ -14503,7 +14518,7 @@ Bitte Datumseingabe prüfen</value> <key>Employee group already selected.</key> </entry> <entry> - <key>Open new mosaico template</key> + <key>A Phase filter has to be set when creating a checklistentry for the Salesproject context.</key> </entry> <entry> <key>Open new mosaico template</key> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index b39d47e306b779a08bc8a967a51647140a06fd85..2eb9fd685016cd5925b317493490a583120812f9 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -11192,6 +11192,21 @@ <entry> <key>Guest</key> </entry> + <entry> + <key>Internal forwarding via mailing</key> + </entry> + <entry> + <key>A Phase filter has to be set when creating a checklistentry for the Salesproject Context.</key> + </entry> + <entry> + <key>Search component</key> + </entry> + <entry> + <key>Intenral mailing</key> + </entry> + <entry> + <key>Mailing to customer</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonView/ServiceEmailLookupView/ServiceEmailLookupView.aod b/neonView/ServiceEmailLookupView/ServiceEmailLookupView.aod index de30445d96c54990e26b74ad0a23f9bc69eda1d7..ecadc5cb1afe586e0e973d8a261a1f8a35f1e837 100644 --- a/neonView/ServiceEmailLookupView/ServiceEmailLookupView.aod +++ b/neonView/ServiceEmailLookupView/ServiceEmailLookupView.aod @@ -20,6 +20,10 @@ <name>1e6c40af-b728-4e5c-94e3-74bc2b438c38</name> <entityField>BINARY_FILENAME</entityField> </neonTableColumn> + <neonTableColumn> + <name>aa5c3961-98c3-4d72-a246-0a4015103683</name> + <entityField>CONTEXT</entityField> + </neonTableColumn> </columns> </tableViewTemplate> </children> diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod index f6f3c7abce65917d179d87caeca557a7d7c52bba..53ab0caac36683e0428368e59387b678f6ff4455 100644 --- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod +++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod @@ -45,6 +45,7 @@ <indexsearchIncrementingIndexerInterval v="1000" /> <indexsearchIncrementingIndexerBunchSize v="250" /> <userdirectoryAlias>_____SYSTEMALIAS</userdirectoryAlias> + <binariesAlias>_____SYSTEMALIAS</binariesAlias> <mailBridgeMailserver> <mailbridgeMailserver> <name>abfa63d1-a47e-41f6-a87d-138bf04adc1e</name> diff --git a/process/activeDirectoryImport_serverProcess/process.js b/process/activeDirectoryImport_serverProcess/process.js index 0c06426a2e47db1fa71704fc3c1be2594dd3c7d9..8196b7468f9c9c5b923b4c560e592b40f98379e7 100644 --- a/process/activeDirectoryImport_serverProcess/process.js +++ b/process/activeDirectoryImport_serverProcess/process.js @@ -37,7 +37,7 @@ var roleMapping = { "GroupName4" : "PROJECT_Marketing", "GroupName5" : "PROJECT_OfficeStaff", "GroupName6" : "PROJECT_ProjectManagement", - "GroupName7" : "PROJECT_Support", + "GroupName7" : "PROJECT_ServiceAgent", "GroupName8" : "PROJECT_Workflow" }; diff --git a/process/mailbridge_service/process.js b/process/mailbridge_service/process.js index 8fb7bd912497800f9542370491a59c0b8eef62ec..417fee26fbb075cea13b2163d92ebff1a73bbd27 100644 --- a/process/mailbridge_service/process.js +++ b/process/mailbridge_service/process.js @@ -350,12 +350,9 @@ ticketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj) "categoryKeywordId" : $KeywordRegistry.activityCategory$mail(), "userNew" : "System" } - var ActivityLink = - { - "SupportTicket" : ticketID - } + var ActivityLink = ["SupportTicket", ticketID]; - ActivityUtils.insertNewActivity(DataPreset, ActivityLink); + ActivityUtils.insertNewActivity(DataPreset, [ActivityLink]); // add Attachment from Mail ticketMailbridgeUtils.saveAttachement(activityID, pMailObj, "ACTIVITY") @@ -387,11 +384,9 @@ ticketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj) "categoryKeywordId" : $KeywordRegistry.activityCategory$mail(), "userNew" : "System" } - var ActivityLink = - { - "SupportTicket" : ticketID - } - ActivityUtils.insertNewActivity(DataPreset, ActivityLink); + var ActivityLink = ["SupportTicket", ticketID]; + + ActivityUtils.insertNewActivity(DataPreset, [ActivityLink]); // add Attachment from Mail ticketMailbridgeUtils.saveAttachement(activityID, pMailObj, "ACTIVITY") @@ -443,11 +438,10 @@ ticketMailbridgeUtils.findTicket = function(pSubject, pInboxObject, pMailObj) "categoryKeywordId" : $KeywordRegistry.activityCategory$mail(), "userNew" : "System" } - var ActivityLink = - { - "SupportTicket" : ticketID - } - ActivityUtils.insertNewActivity(DataPreset, ActivityLink); + + var ActivityLink = ["SupportTicket", ticketID]; + + ActivityUtils.insertNewActivity(DataPreset, [ActivityLink]); ticketMailbridgeUtils.saveAttachement(activityID, pMailObj, "ACTIVITY") } @@ -676,12 +670,10 @@ ticketMailbridgeUtils.createTicket = function(pMailObject, pFilterResult, pInbox "content" : "<p>"+ eml.subject +"</p><br>"+ eml.body.toString(), "categoryKeywordId" : $KeywordRegistry.activityCategory$mail(), "userNew" : "System" - } - var ActivityLink = - { - "SupportTicket" : ticketID - } - ActivityUtils.insertNewActivity(DataPreset, ActivityLink); + } + var ActivityLink = ["SupportTicket", ticketID]; + + ActivityUtils.insertNewActivity(DataPreset, [ActivityLink]); } else {