From a387877eb428a21349e0b8a686b81546477b5932 Mon Sep 17 00:00:00 2001 From: Madhu S R <madhu.sr@vtigersolutions.com> Date: Wed, 3 Apr 2024 10:03:30 +0530 Subject: [PATCH] #Fixes::159009390::madhusr::Not able to unlink the emails from the project module --- .gitignore | 1 + modules/Contacts/Contacts.php | 15 ++++++++++++++- .../Project/modules/Project/models/Relation.php | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1b58a9326..585abce2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ vendor/* !vendor/.htaccess +.vscode/* \ No newline at end of file diff --git a/modules/Contacts/Contacts.php b/modules/Contacts/Contacts.php index 422c09245..b58cb0973 100644 --- a/modules/Contacts/Contacts.php +++ b/modules/Contacts/Contacts.php @@ -788,7 +788,7 @@ class Contacts extends CRMEntity { } } - $relatedIds = array_merge(array($id), $this->getRelatedPotentialIds($id), $this->getRelatedTicketIds($id)); + $relatedIds = array_merge(array($id), $this->getRelatedPotentialIds($id), $this->getRelatedTicketIds($id), $this->getRelatedProjectIds($id)); $relatedIds = implode(', ', $relatedIds); $userNameSql = getSqlForNameInDisplayFormat(array('first_name'=> @@ -1614,6 +1614,19 @@ function get_contactsforol($user_name) return $relatedIds; } + function getRelatedProjectIds($id) { + $relatedIds = array(); + $db = PearDatabase::getInstance(); + $query = "SELECT DISTINCT vtiger_crmentity.crmid FROM vtiger_contactdetails LEFT JOIN vtiger_project ON + (vtiger_project.linktoaccountscontacts = vtiger_contactdetails.contactid) INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_project.projectid + WHERE vtiger_crmentity.deleted = 0 AND vtiger_contactdetails.contactid = ?"; + $result = $db->pquery($query, array($id)); + for ($i = 0; $i < $db->num_rows($result); $i++) { + $relatedIds[] = $db->query_result($result, $i, 'crmid'); + } + return $relatedIds; + } + } ?> diff --git a/pkg/vtiger/modules/Projects/Project/modules/Project/models/Relation.php b/pkg/vtiger/modules/Projects/Project/modules/Project/models/Relation.php index 72086687f..99f482f50 100644 --- a/pkg/vtiger/modules/Projects/Project/modules/Project/models/Relation.php +++ b/pkg/vtiger/modules/Projects/Project/modules/Project/models/Relation.php @@ -21,6 +21,8 @@ class Project_Relation_Model extends Vtiger_Relation_Model{ $destinationModuleName = $this->getRelationModuleModel()->get('name'); $sourceModuleFocus = CRMEntity::getInstance($sourceModuleName); $sourceModuleFocus->delete_related_module($sourceModuleName, $sourceRecordId, $destinationModuleName, $relatedRecordId); + $destinationModuleFocus = CRMEntity::getInstance($destinationModuleName); + $destinationModuleFocus->unlinkRelationship($relatedRecordId, $sourceModuleName, $sourceRecordId); $sourceModuleFocus->trackUnLinkedInfo($sourceModuleName, $sourceRecordId, $destinationModuleName, $relatedRecordId); return true; } -- GitLab