/** * check activity update with status */ function testActivityUpdateWithStatus() { // Insert a row in civicrm_activity creating activity 4 $op = new PHPUnit_Extensions_Database_Operation_Insert(); $op->execute($this->_dbconn, new PHPUnit_Extensions_Database_DataSet_XMLDataSet(dirname(__FILE__) . '/dataset/activity_type_5.xml')); $params = array('id' => 4, 'source_contact_id' => 17, 'subject' => 'Hurry update works', 'status_id' => 2, 'activity_name' => 'Test activity type'); $result =& civicrm_activity_update($params); $this->assertNull($result['is_error'], "Error message: " . $result['error_message']); $this->assertEquals($result['id'], 4, "In line " . __LINE__); $this->assertEquals($result['source_contact_id'], 17, "In line " . __LINE__); $this->assertEquals($result['subject'], 'Hurry update works', "In line " . __LINE__); $this->assertEquals($result['status_id'], 2, "In line " . __LINE__); }
/** * process the form after the input has been submitted and validated * * @access public * @return None */ public function postProcess() { $params = $this->exportValues(); if (isset($params['field'])) { foreach ($params['field'] as $key => $value) { $value['custom'] = CRM_Core_BAO_CustomField::postProcess($value, CRM_Core_DAO::$_nullObject, $key, 'Activity'); $value['id'] = $key; if ($value['activity_date_time']) { $value['activity_date_time'] = CRM_Utils_Date::processDate($value['activity_date_time'], $value['activity_date_time_time']); } if ($value['activity_status_id']) { $value['status_id'] = $value['activity_status_id']; } if ($value['activity_details']) { $value['details'] = $value['activity_details']; } if ($value['activity_duration']) { $value['duration'] = $value['activity_duration']; } if ($value['activity_location']) { $value['location'] = $value['activity_location']; } if ($value['activity_subject']) { $value['subject'] = $value['activity_subject']; } $query = "\nSELECT activity_type_id , source_contact_id \nFROM civicrm_activity \nWHERE id = %1"; $params = array(1 => array($key, 'Integer')); $dao = CRM_Core_DAO::executeQuery($query, $params); $dao->fetch(); // Get Activity Type ID $value['activity_type_id'] = $dao->activity_type_id; // Get Conatct ID $value['source_contact_id'] = $dao->source_contact_id; require_once 'api/v2/Activity.php'; $activityId = civicrm_activity_update($value); // add custom field values if (CRM_Utils_Array::value('custom', $value) && is_array($value['custom'])) { require_once 'CRM/Core/BAO/CustomValueTable.php'; CRM_Core_BAO_CustomValueTable::store($value['custom'], 'civicrm_activity', $activityId->id); } } CRM_Core_Session::setStatus("Your updates have been saved."); } else { CRM_Core_Session::setStatus("No updates have been saved."); } }