diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/views/Mail.php b/pkg/vtiger/modules/MailManager/modules/MailManager/views/Mail.php old mode 100644 new mode 100755 index 51b1757b41c1794a29ace9fead44bf13e02c1317..a36ca4917b5d442393a834d838c19888865614fe --- a/pkg/vtiger/modules/MailManager/modules/MailManager/views/Mail.php +++ b/pkg/vtiger/modules/MailManager/modules/MailManager/views/Mail.php @@ -39,6 +39,7 @@ class MailManager_Mail_View extends MailManager_Abstract_View { $metainfo = array( 'from' => $mail->from(), 'subject' => $mail->subject(), + 'sendto'=>$mail->to(), 'msgno' => $mail->msgNo(), 'msguid' => $mail->uniqueid(), 'folder' => $foldername ); @@ -323,4 +324,4 @@ class MailManager_Mail_View extends MailManager_Abstract_View { return $request->validateReadAccess(); } } -?> \ No newline at end of file +?> diff --git a/pkg/vtiger/modules/MailManager/modules/MailManager/views/Relation.php b/pkg/vtiger/modules/MailManager/modules/MailManager/views/Relation.php old mode 100644 new mode 100755 index 78e17176480e044ab9da4c3b2a14d73d302bbdd4..b8d9cd0826ed76c0ef4205929577d760a6bd31b9 --- a/pkg/vtiger/modules/MailManager/modules/MailManager/views/Relation.php +++ b/pkg/vtiger/modules/MailManager/modules/MailManager/views/Relation.php @@ -55,7 +55,13 @@ class MailManager_Relation_View extends MailManager_Abstract_View { // Check if the message is already linked. $linkedto = MailManager_Relate_Action::associatedLink($request->get('_msguid')); - // If the message was not linked, lookup for matching records, using FROM address + // If the message was not linked, lookup for matching records, using FROM address unless it is in the sent folder + $folder=$request->get('_folder'); + if ($folder=="Sent"){ + $contacts=$request->get('_msendto'); + }else{ + $contacts=$request->get('_mfrom'); + } if (empty($linkedto)) { $results = array(); $modules = array(); @@ -63,10 +69,8 @@ class MailManager_Relation_View extends MailManager_Abstract_View { foreach (self::$MODULES as $MODULE) { if(!in_array($MODULE, $allowedModules)) continue; - $from = $request->get('_mfrom'); - if(empty($from)) continue; - - $results[$MODULE] = $this->lookupModuleRecordsWithEmail($MODULE, $from); + if(empty($contacts)) continue; + $results[$MODULE] = $this->lookupModuleRecordsWithEmail($MODULE, $contacts); $describe = $this->ws_describe($MODULE); $modules[$MODULE] = array('label' => $describe['label'], 'name' => textlength_check($describe['name']), 'id' => $describe['idPrefix'] ); @@ -417,18 +421,22 @@ class MailManager_Relation_View extends MailManager_Abstract_View { * @param Email Address $email * @return Array */ - public function lookupModuleRecordsWithEmail($module, $email) { + public function lookupModuleRecordsWithEmail($module, $emails) { $currentUserModel = vglobal('current_user'); - $query = $this->buildSearchQuery($module, $email, 'EMAIL'); - $qresults = vtws_query( $query, $currentUserModel ); - $describe = $this->ws_describe($module); - $labelFields = explode(',', $describe['labelFields']); - + //could be to multiple email addresses $results = array(); - foreach($qresults as $qresult) { - $labelValues = array(); - foreach($labelFields as $fieldname) { - if(isset($qresult[$fieldname])) $labelValues[] = $qresult[$fieldname]; + foreach(explode(",",$emails) as $email){ + $query = $this->buildSearchQuery($module, $email, 'EMAIL'); + $qresults = vtws_query( $query, $currentUserModel ); + $describe = $this->ws_describe($module); + $labelFields = explode(',', $describe['labelFields']); + foreach($qresults as $qresult) { + $labelValues = array(); + foreach($labelFields as $fieldname) { + if(isset($qresult[$fieldname])) $labelValues[] = $qresult[$fieldname]; + } + $ids = vtws_getIdComponents($qresult['id']); + $results[] = array( 'wsid' => $qresult['id'], 'id' => $ids[1], 'label' => implode(' ', $labelValues)); } $ids = vtws_getIdComponents($qresult['id']); $results[] = array( 'wsid' => $qresult['id'], 'id' => $ids[1], 'label' => implode(' ', $labelValues)); @@ -440,4 +448,4 @@ class MailManager_Relation_View extends MailManager_Abstract_View { return $request->validateWriteAccess(); } } -?> \ No newline at end of file +?> diff --git a/pkg/vtiger/modules/MailManager/templates/resources/MailManager.js b/pkg/vtiger/modules/MailManager/templates/resources/MailManager.js old mode 100644 new mode 100755 index ecc7388a487b335f4c0f5e2eee6ca2c493a9009a..e0368d335efaca5aa4f667d20a99d7be7e914bd0 --- a/pkg/vtiger/modules/MailManager/templates/resources/MailManager.js +++ b/pkg/vtiger/modules/MailManager/templates/resources/MailManager.js @@ -766,6 +766,7 @@ if (typeof(MailManager) == 'undefined') { var meta = MailManager.mail_open_meta; AppConnector.request(MailManager._baseurl() + "_operation=relation&_operationarg=find&_mfrom=" + encodeURIComponent(meta['from']) + + '&_msendto='+ encodeURIComponent(meta['sendto']) + '&_folder=' +encodeURIComponent(meta['folder']) +'&_msgno=' +encodeURIComponent(meta['msgno']) +'&_msguid=' + encodeURIComponent(meta['msguid'].replace('<', '<').replace('>', '>'))).then(function(responseJSON) { responseJSON = JSON.parse(responseJSON);