diff --git a/.gitignore b/.gitignore index 1b58a932618a4de5ed7cea69c5b4ac23fd04787a..585abce2b3edb78d0d5e1b4aa2f0db528c23fccb 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 422c092450a3c169f0e216e50e90b905c8ef0bdb..b58cb097347d7d2a58a9fb170546bcff2d3ff6b4 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 72086687f5f3b9e25f311cbdc966e1524ab1139c..99f482f507b767b6977a55c0f9dbcdc4d5c92c1d 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; }