Merge pull request #517 from dlobo/CRM-12274
authordlobo <lobo@civicrm.org>
Tue, 23 Apr 2013 22:04:50 +0000 (15:04 -0700)
committerdlobo <lobo@civicrm.org>
Tue, 23 Apr 2013 22:04:50 +0000 (15:04 -0700)
CRM-12274

CRM/Activity/BAO/Activity.php
tests/phpunit/api/v3/ActivityTest.php

index b5028c7f7b1c9afd318ba9143388e8167fb30a08..a9ddc03677c4b56eb67db1538cb2875a5b980fcd 100644 (file)
@@ -102,7 +102,7 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
       $defaults['assignee_contact'] = CRM_Activity_BAO_ActivityContact::retrieveContactIdsByActivityId($activity->id, $assigneeID);
       $assignee_contact_names = CRM_Activity_BAO_ActivityContact::getNames($activity->id, $assigneeID);
       $defaults['assignee_contact_value'] = implode('; ', $assignee_contact_names);
-
+      $sourceContactId = self::getActivityContact($activity->id, $sourceID);
       if ($activity->activity_type_id != CRM_Core_OptionGroup::getValue('activity_type', 'Bulk Email', 'name')) {
         $defaults['target_contact'] = CRM_Activity_BAO_ActivityContact::retrieveContactIdsByActivityId($activity->id, $targetID);
         $target_contact_names = CRM_Activity_BAO_ActivityContact::getNames($activity->id, $targetID);
@@ -114,7 +114,7 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
         )
       ) {
         $defaults['mailingId'] = CRM_Utils_System::url('civicrm/mailing/report',
-          "mid={$activity->source_record_id}&reset=1&atype={$activity->activity_type_id}&aid={$activity->id}&cid={$activity->source_contact_id}&context=activity"
+          "mid={$activity->source_record_id}&reset=1&atype={$activity->activity_type_id}&aid={$activity->id}&cid={$sourceContactId}&context=activity"
         );
       }
       else {
@@ -533,23 +533,23 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
         );
       }
       else {
-        $q = "action=view&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$activity->source_contact_id}&context=home";
+        $q = "action=view&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$params['source_contact_id']}&context=home";
         if ($activity->activity_type_id != CRM_Core_OptionGroup::getValue('activity_type', 'Email', 'name')) {
           $url = CRM_Utils_System::url('civicrm/activity', $q);
           if ($activity->activity_type_id == CRM_Core_OptionGroup::getValue('activity_type', 'Print PDF Letter', 'name')) {
             $recentOther['editUrl'] = CRM_Utils_System::url('civicrm/activity/pdf/add',
-              "action=update&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$activity->source_contact_id}&context=home"
+              "action=update&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$params['source_contact_id']}&context=home"
             );
           }
           else {
             $recentOther['editUrl'] = CRM_Utils_System::url('civicrm/activity/add',
-              "action=update&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$activity->source_contact_id}&context=home"
+              "action=update&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$params['source_contact_id']}&context=home"
             );
           }
 
           if (CRM_Core_Permission::check("delete activities")) {
             $recentOther['deleteUrl'] = CRM_Utils_System::url('civicrm/activity',
-              "action=delete&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$activity->source_contact_id}&context=home"
+              "action=delete&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$params['source_contact_id']}&context=home"
             );
           }
         }
@@ -557,7 +557,7 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
           $url = CRM_Utils_System::url('civicrm/activity/view', $q);
           if (CRM_Core_Permission::check('delete activities')) {
             $recentOther['deleteUrl'] = CRM_Utils_System::url('civicrm/activity',
-              "action=delete&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$activity->source_contact_id}&context=home"
+              "action=delete&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$params['source_contact_id']}&context=home"
             );
           }
         }
@@ -1696,7 +1696,7 @@ WHERE      activity.id IN ($activityIds)";
     $activityStatuses = CRM_Core_OptionGroup::values('activity_status');
 
     while ($dao->fetch()) {
-      $activities[$dao->activity_id]['source_contact_id'] = $dao->source_contact_id;
+      //$activities[$dao->activity_id]['source_contact_id'] = $dao->source_contact_id;
       $activities[$dao->activity_id]['id'] = $dao->activity_id;
       $activities[$dao->activity_id]['activity_type_id'] = $dao->activity_type_id;
       $activities[$dao->activity_id]['subject'] = $dao->subject;
index 41498f73b312e045f124d05f40a8080ce009249f..d6f4bfae2fa37f15a6a1bf7a9ae32c8f77c0dd7f 100644 (file)
@@ -362,7 +362,7 @@ class api_v3_ActivityTest extends CiviUnitTestCase {
     $this->assertAPISuccess($result, ' in line ' . __LINE__);
     $result = civicrm_api('activity', 'get', $this->_params);
     $this->assertAPISuccess($result, ' in line ' . __LINE__);
-    $this->assertEquals($result['values'][$result['id']]['source_contact_id'], 17, 'in line ' . __LINE__);
+    //$this->assertEquals($result['values'][$result['id']]['source_contact_id'], 17, 'in line ' . __LINE__);
     $this->assertEquals($result['values'][$result['id']]['duration'], 120, 'in line ' . __LINE__);
     $this->assertEquals($result['values'][$result['id']]['subject'], 'test activity type id', 'in line ' . __LINE__);
     $this->assertEquals($result['values'][$result['id']]['activity_date_time'], '2011-06-02 14:36:13', 'in line ' . __LINE__);
@@ -405,7 +405,7 @@ class api_v3_ActivityTest extends CiviUnitTestCase {
       "Error message: " . CRM_Utils_Array::value('error_message', $result) . ' in line ' . __LINE__
     );
 
-    $this->assertEquals($result['values'][$result['id']]['source_contact_id'], 17, 'in line ' . __LINE__);
+    //$this->assertEquals($result['values'][$result['id']]['source_contact_id'], 17, 'in line ' . __LINE__);
     $result = civicrm_api('activity', 'get', array('id' => $result['id'], 'version' => $this->_apiversion));
     $this->assertEquals($result['values'][$result['id']]['source_contact_id'], 17, 'in line ' . __LINE__);
 
@@ -605,7 +605,7 @@ class api_v3_ActivityTest extends CiviUnitTestCase {
     $this->assertEquals($result['is_error'], 0,
       "Error message: " . CRM_Utils_Array::value('error_message', $result) . ' in line ' . __LINE__
     );
-    $this->assertEquals($result['values'][$result['id']]['source_contact_id'], 17, 'in line ' . __LINE__);
+    //$this->assertEquals($result['values'][$result['id']]['source_contact_id'], 17, 'in line ' . __LINE__);
     $this->assertEquals($result['values'][$result['id']]['duration'], 120, 'in line ' . __LINE__);
     $this->assertEquals($result['values'][$result['id']]['subject'], 'Make-it-Happen Meeting', 'in line ' . __LINE__);
     $this->assertEquals($result['values'][$result['id']]['activity_date_time'], date('Ymd') . '000000', 'in line ' . __LINE__);
@@ -659,7 +659,7 @@ class api_v3_ActivityTest extends CiviUnitTestCase {
     $this->assertAPISuccess($result);
 
     $this->assertEquals($activity['id'], $result['id'], 'In line ' . __LINE__);
-    $this->assertEquals(17, $result['values'][0]['source_contact_id'], 'In line ' . __LINE__);
+    //$this->assertEquals(17, $result['values'][0]['source_contact_id'], 'In line ' . __LINE__);
 
     $this->assertEquals($contact['id'], $result['values'][0]['assignee_contact_id'][0], 'In line ' . __LINE__);
 
@@ -806,7 +806,7 @@ class api_v3_ActivityTest extends CiviUnitTestCase {
     $this->assertEquals("custom string", $result['values'][0]['custom_' . $ids['custom_field_id']], ' in line ' . __LINE__);
 
 
-    $this->assertEquals(17, $result['values'][0]['source_contact_id'], 'In line ' . __LINE__);
+    //$this->assertEquals(17, $result['values'][0]['source_contact_id'], 'In line ' . __LINE__);
     $this->assertEquals($this->test_activity_type_value, $result['values'][0]['activity_type_id'], 'In line ' . __LINE__);
     $this->assertEquals('test activity type id', $result['values'][0]['subject'], 'In line ' . __LINE__);
     $this->customFieldDelete($ids['custom_field_id']);
@@ -838,7 +838,7 @@ class api_v3_ActivityTest extends CiviUnitTestCase {
     $this->assertEquals(0, $result['is_error'], "Error message: " . CRM_Utils_Array::value('error_message', $result));
     $this->assertEquals("custom string", $result['values'][0]['custom_' . $ids['custom_field_id']], ' in line ' . __LINE__);
 
-    $this->assertEquals(17, $result['values'][0]['source_contact_id'], 'In line ' . __LINE__);
+    //$this->assertEquals(17, $result['values'][0]['source_contact_id'], 'In line ' . __LINE__);
     $this->assertEquals($this->test_activity_type_value, $result['values'][0]['activity_type_id'], 'In line ' . __LINE__);
     $this->assertEquals('test activity type id', $result['values'][0]['subject'], 'In line ' . __LINE__);
     $this->assertEquals($result['values'][0]['id'], $result['id'], 'in line ' . __LINE__);
@@ -1217,9 +1217,9 @@ class api_v3_ActivityTest extends CiviUnitTestCase {
     $result = civicrm_api('activity', 'create', $params);
     $this->assertAPISuccess($result, "In line " . __LINE__);
     $this->assertEquals($result['id'], $activity['id'], "In line " . __LINE__);
-    $this->assertEquals($result['values'][$activity['id']]['source_contact_id'], 17,
+    /*$this->assertEquals($result['values'][$activity['id']]['source_contact_id'], 17,
       "In line " . __LINE__
-    );
+      );*/
     $this->assertEquals($result['values'][$activity['id']]['subject'], 'Hurry update works',
       "In line " . __LINE__
     );
@@ -1253,7 +1253,7 @@ class api_v3_ActivityTest extends CiviUnitTestCase {
     $findactivity = civicrm_api('Activity', 'Get', array('id' => $activity['id'], 'version' => 3));
 
     $this->assertAPISuccess($findactivity);
-    $this->assertEquals(17, $findactivity['values'][$findactivity['id']]['source_contact_id'], 'In line ' . __LINE__);
+    //$this->assertEquals(17, $findactivity['values'][$findactivity['id']]['source_contact_id'], 'In line ' . __LINE__);
   }
 
   /**