Skip to content
Snippets Groups Projects
Commit 1b68288c authored by Kurund Jalmi's avatar Kurund Jalmi
Browse files

Merge pull request #442 from yashodha/CRM-12274

Crm 12274
parents 997f6c5c a6e671ae
No related branches found
No related tags found
No related merge requests found
......@@ -95,7 +95,7 @@ class CRM_Campaign_BAO_Query {
//all below tables are require to fetch result.
//1. get survey activity target table in.
$query->_select['survey_activity_target_contact_id'] = 'civicrm_activity_contact.contact_id as survey_activity_target_contact_id';
$query->_select['survey_activity_target_contact_id'] = 'civicrm_activity_target.contact_id as survey_activity_target_contact_id';
$query->_select['survey_activity_target_id'] = 'civicrm_activity_target.id as survey_activity_target_id';
$query->_element['survey_activity_target_id'] = 1;
$query->_element['survey_activity_target_contact_id'] = 1;
......@@ -158,10 +158,10 @@ class CRM_Campaign_BAO_Query {
$query->_qill[$grouping][] = ts('Survey - %1', array(1 => CRM_Core_DAO::getFieldValue('CRM_Campaign_DAO_Survey', $value, 'title')));
$query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause('civicrm_activity.source_record_id',
$op, $value, "Integer"
$op, $value, 'Integer'
);
$query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause('civicrm_survey.id',
$op, $value, "Integer"
$op, $value, 'Integer'
);
return;
......@@ -170,7 +170,7 @@ class CRM_Campaign_BAO_Query {
$query->_qill[$grouping][] = ts('Survey Status - %1', array(1 => $activityStatus[$value]));
$query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause('civicrm_activity.status_id',
$op, $value, "Integer"
$op, $value, 'Integer'
);
return;
......@@ -189,8 +189,8 @@ class CRM_Campaign_BAO_Query {
}
}
$query->_qill[$grouping][] = ts('Survey Interviewer - %1', array(1 => $surveyInterviewerName));
$query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause('civicrm_activity_assignment.assignee_contact_id',
$op, $value, "Integer"
$query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause('civicrm_activity_assignment.contact_id',
$op, $value, 'Integer'
);
return;
}
......@@ -206,8 +206,8 @@ class CRM_Campaign_BAO_Query {
switch ($name) {
case self::CIVICRM_ACTIVITY_TARGET:
$from = " INNER JOIN civicrm_activity_contact
ON ( civicrm_activity_contact.contact_id = contact_a.id AND civicrm_activity_contact.record_type = 'Target') ";
$from = " INNER JOIN civicrm_activity_contact civicrm_activity_target
ON ( civicrm_activity_target.contact_id = contact_a.id AND civicrm_activity_target.record_type = 'Target') ";
break;
case self::CIVICRM_ACTIVITY:
......@@ -219,7 +219,8 @@ class CRM_Campaign_BAO_Query {
case self::CIVICRM_ACTIVITY_ASSIGNMENT:
$from = "
INNER JOIN civicrm_activity_assignment ON ( civicrm_activity.id = civicrm_activity_assignment.activity_id ) ";
INNER JOIN civicrm_activity_contact civicrm_activity_assignment ON ( civicrm_activity.id = civicrm_activity_assignment.activity_id AND
civicrm_activity_assignment.record_type = 'Assignee' ) ";
break;
case 'civicrm_survey':
......
......@@ -234,12 +234,12 @@ AND ac.case_id = %1
}
$query = "
SELECT a.*, aa.assignee_contact_id as assigneeID, at.target_contact_id as targetID
SELECT a.*, aa.contact_id as assigneeID, at.contact_id as targetID
{$selectCaseActivity}
FROM civicrm_activity a
{$joinCaseActivity}
LEFT JOIN civicrm_activity_target at ON a.id = at.activity_id
LEFT JOIN civicrm_activity_assignment aa ON a.id = aa.activity_id
LEFT JOIN civicrm_activity_contact at ON a.id = at.activity_id AND at.record_type = 'Target'
LEFT JOIN civicrm_activity_contact aa ON a.id = aa.activity_id AND aa.record_type = 'Assignee'
WHERE a.id = %1
";
$params = array(1 => array($activityID, 'Integer'));
......
......@@ -83,9 +83,9 @@ class CRM_Logging_Differ {
break;
case 'civicrm_activity':
$join = "
LEFT JOIN civicrm_activity_target at ON at.activity_id = lt.id AND at.target_contact_id = %3
LEFT JOIN civicrm_activity_assignment aa ON aa.activity_id = lt.id AND aa.assignee_contact_id = %3
LEFT JOIN civicrm_activity source ON source.id = lt.id AND source.source_contact_id = %3";
LEFT JOIN civicrm_activity_contact at ON at.activity_id = lt.id AND at.contact_id = %3 AND at.record_type = 'Target'
LEFT JOIN civicrm_activity_contact aa ON aa.activity_id = lt.id AND aa.contact_id = %3 AND aa.record_type = 'Assignee'
LEFT JOIN civicrm_activity_contact source ON source.activity_id = lt.id AND source.contact_id = %3 AND source.record_type = 'Source' ";
$contactIdClause = "AND (at.id IS NOT NULL OR aa.id IS NOT NULL OR source.id IS NOT NULL)";
break;
case 'civicrm_case':
......@@ -106,6 +106,7 @@ SELECT DISTINCT lt.id FROM `{$this->db}`.`log_$table` lt
WHERE log_conn_id = %1 AND
log_date BETWEEN DATE_SUB(%2, INTERVAL {$this->interval}) AND DATE_ADD(%2, INTERVAL {$this->interval})
{$contactIdClause}";
$dao = CRM_Core_DAO::executeQuery($sql, $params);
while ($dao->fetch()) {
$diffs = array_merge($diffs, $this->diffsInTableForId($table, $dao->id));
......
......@@ -28,12 +28,14 @@
<headerPattern>/(activity.)?source(.contact(.id)?)?/i</headerPattern>
<comment>Contact ID of the person scheduling or logging this Activity. Usually the authenticated user.</comment>
<add>1.1</add>
<drop>4.4</drop>
</field>
<foreignKey>
<name>source_contact_id</name>
<table>civicrm_contact</table>
<key>id</key>
<add>1.1</add>
<drop>4.4</drop>
<onDelete>SET NULL</onDelete>
</foreignKey>
<index>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment