I limited this to activities as there are only 2 separate values & I thought it would keep it readable.
}
/**
+ * @deprecated
+ *
* Fetch object based on array of properties.
*
* @param array $params
* @return CRM_Activity_DAO_Activity
*/
public static function retrieve(&$params, &$defaults) {
+ // this will bypass acls - use the api instead.
+ // @todo add deprecation logging to this function.
$activity = new CRM_Activity_DAO_Activity();
$activity->copyValues($params);
$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')) {
+ if ($activity->activity_type_id != CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Bulk Email')) {
$defaults['target_contact'] = CRM_Activity_BAO_ActivityContact::retrieveContactIdsByActivityId($activity->id, $targetID);
$target_contact_names = CRM_Activity_BAO_ActivityContact::getNames($activity->id, $targetID);
$defaults['target_contact_value'] = implode('; ', $target_contact_names);
}
else {
$q = "action=view&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . CRM_Utils_Array::value('source_contact_id', $params) . "&context=home";
- if ($activity->activity_type_id != CRM_Core_OptionGroup::getValue('activity_type', 'Email', 'name')) {
+ if ($activity->activity_type_id != CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Email')) {
$url = CRM_Utils_System::url('civicrm/activity', $q);
- if ($activity->activity_type_id == CRM_Core_OptionGroup::getValue('activity_type', 'Print PDF Letter', 'name')) {
+ if ($activity->activity_type_id == CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Print PDF Letter')) {
$recentOther['editUrl'] = CRM_Utils_System::url('civicrm/activity/pdf/add',
"action=update&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid={$params['source_contact_id']}&context=home"
);
$activityParams = array(
'source_contact_id' => $activity->contact_id,
'source_record_id' => $activity->id,
- 'activity_type_id' => CRM_Core_OptionGroup::getValue('activity_type',
- $activityType,
- 'name'
- ),
+ 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', $activityType),
'subject' => $subject,
'activity_date_time' => $date,
'is_test' => $activity->is_test,
- 'status_id' => CRM_Core_OptionGroup::getValue('activity_status',
- 'Completed',
- 'name'
- ),
+ 'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_status_id', 'Completed'),
'skipRecentView' => TRUE,
'campaign_id' => $activity->campaign_id,
);
if ($targetContactID) {
$activityParams['target_contact_id'][] = $targetContactID;
}
+ // @todo - use api - remove lots of wrangling above. Remove deprecated fatal & let form layer
+ // deal with any exceptions.
if (is_a(self::create($activityParams), 'CRM_Core_Error')) {
CRM_Core_Error::fatal("Failed creating Activity for $component of id {$activity->id}");
return FALSE;
if (!$includePetition) {
//we only have activity type as a
//difference between survey and petition.
- $petitionTypeID = CRM_Core_OptionGroup::getValue('activity_type', 'petition', 'name');
+ $petitionTypeID = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'petition');
$where = array();
if ($petitionTypeID) {
*/
public static function createCaseViewsQuery($section = 'upcoming') {
$sql = "";
- $scheduled_id = CRM_Core_OptionGroup::getValue('activity_status', 'Scheduled', 'name');
+ $scheduled_id = CRM_Core_Pseudoconstant::getKey('CRM_Activity_BAO_Activity', 'activity_status_id', 'Scheduled');
switch ($section) {
case 'upcoming':
$sql = "CREATE OR REPLACE VIEW `civicrm_view_case_activity_upcoming`
'is_auto' => FALSE,
'is_current_revision' => 1,
'subject' => CRM_Utils_Array::value('subject', $params) ? $params['subject'] : $activityTypeName,
- 'status_id' => CRM_Core_OptionGroup::getValue('activity_status',
- $statusName,
- 'name'
- ),
+ 'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_status_id', $statusName),
'target_contact_id' => $client,
'medium_id' => CRM_Utils_Array::value('medium_id', $params),
'location' => CRM_Utils_Array::value('location', $params),
'source_contact_id' => $params['creatorID'],
'is_auto' => TRUE,
'is_current_revision' => 1,
- 'status_id' => CRM_Core_OptionGroup::getValue('activity_status',
- $statusName,
- 'name'
- ),
+ 'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_status_id', $statusName),
'target_contact_id' => $client,
'weight' => $orderVal,
);
$activityParams['skipRecentView'] = TRUE;
}
+ // @todo - switch to using api & remove the parameter pre-wrangling above.
$activity = CRM_Activity_BAO_Activity::create($activityParams);
if (!$activity) {
$transaction->commit();
- // check if activity record exist for this contribution, if
- // not add activity
- $activity = new CRM_Activity_DAO_Activity();
- $activity->source_record_id = $contribution->id;
- $activity->activity_type_id = CRM_Core_OptionGroup::getValue('activity_type',
- 'Contribution',
- 'name'
- );
+ $activity = civicrm_api3('Activity', 'get', array(
+ 'source_record_id' => $contribution->id,
+ 'options' => array('limit' => 1),
+ 'sequential' => 1,
+ 'activity_type_id' => 'Contribution',
+ 'return' => array('id', 'campaign'),
+ ));
//CRM-18406: Update activity when edit contribution.
- if ($activity->find(TRUE)) {
+ if ($activity['count']) {
// CRM-13237 : if activity record found, update it with campaign id of contribution
- CRM_Core_DAO::setFieldValue('CRM_Activity_BAO_Activity', $activity->id, 'campaign_id', $contribution->campaign_id);
- $contribution->activity_id = $activity->id;
+ // @todo compare campaign ids first.
+ CRM_Core_DAO::setFieldValue('CRM_Activity_BAO_Activity', $activity['id'], 'campaign_id', $contribution->campaign_id);
+ $contribution->activity_id = $activity['id'];
}
if (empty($contribution->contact_id)) {
$contribution->find(TRUE);
$activityParams = array(
'source_contact_id' => $targetCid,
'source_record_id' => $srcRecId,
- 'activity_type_id' => CRM_Core_OptionGroup::getValue('activity_type',
- $activityType,
- 'name'
- ),
+ 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', $activityType),
'subject' => $subject,
'activity_date_time' => $date,
- 'status_id' => CRM_Core_OptionGroup::getValue('activity_status',
- 'Completed',
- 'name'
- ),
+ 'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_status_id', 'Completed'),
'skipRecentView' => TRUE,
);
$activityParams['source_contact_id'] = $id;
$activityParams['target_contact_id'][] = $targetCid;
}
+ // @todo use api.
CRM_Activity_BAO_Activity::create($activityParams);
}
$activityParams = array(
'source_contact_id' => $dao->contact_id,
'source_record_id' => CRM_Utils_Array::value('source_record_id', $activityParams),
- 'activity_type_id' => CRM_Core_OptionGroup::getValue('activity_type',
- 'Cancel Recurring Contribution',
- 'name'
- ),
+ 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Cancel Recurring Contribution'),
'subject' => CRM_Utils_Array::value('subject', $activityParams, ts('Recurring contribution cancelled')),
'details' => $details,
'activity_date_time' => date('YmdHis'),
- 'status_id' => CRM_Core_OptionGroup::getValue('activity_status',
- 'Completed',
- 'name'
- ),
+ 'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_status_id', 'Completed'),
);
$session = CRM_Core_Session::singleton();
$cid = $session->get('userID');
$activityParams['target_contact_id'][] = $activityParams['source_contact_id'];
$activityParams['source_contact_id'] = $cid;
}
+ // @todo use the api & do less wrangling above
CRM_Activity_BAO_Activity::create($activityParams);
}
return TRUE;
}
else {
+ // @todo - this is bad! Get the function out of the ipn.
$baseIPN = new CRM_Core_Payment_BaseIPN();
return $baseIPN->cancelled($objects, $transaction);
}
$session = CRM_Core_Session::singleton();
if ($mapping->getEntity() == 'civicrm_membership') {
+ // @todo - not required with api
$activityTypeID
- = CRM_Core_OptionGroup::getValue('activity_type', 'Membership Renewal Reminder', 'name');
+ = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Membership Renewal Reminder');
}
else {
+ // @todo - not required with api
$activityTypeID
- = CRM_Core_OptionGroup::getValue('activity_type', 'Reminder Sent', 'name');
+ = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Reminder Sent');
}
$activityParams = array(
'details' => $tokenRow->render('body_html'),
'source_contact_id' => $session->get('userID') ? $session->get('userID') : $contactID,
'target_contact_id' => $contactID,
+ // @todo - not required with api
'activity_date_time' => CRM_Utils_Time::getTime('YmdHis'),
- 'status_id' => CRM_Core_OptionGroup::getValue('activity_status', 'Completed', 'name'),
+ // @todo - not required with api
+ 'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'status_id', 'Completed'),
'activity_type_id' => $activityTypeID,
'source_record_id' => $entityID,
);
+ // @todo use api, remove all the above wrangling
$activity = CRM_Activity_BAO_Activity::create($activityParams);
//file reminder on case if source activity is a case activity
$activityParams = array(
'source_contact_id' => $targetCid,
'source_record_id' => $srcRecId,
- 'activity_type_id' => CRM_Core_OptionGroup::getValue('activity_type',
- $activityType,
- 'name'
- ),
+ 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', $activityType),
'subject' => $subject,
'activity_date_time' => $date,
- 'status_id' => CRM_Core_OptionGroup::getValue('activity_status',
- 'Completed',
- 'name'
- ),
+ 'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_status_id', 'Completed'),
'skipRecentView' => TRUE,
);
$activityParams['source_contact_id'] = $id;
$activityParams['target_contact_id'][] = $targetCid;
}
+ // @todo use api & also look at duplication of similar methods.
CRM_Activity_BAO_Activity::create($activityParams);
}
$this->_groupFilter = TRUE;
$this->_tagFilter = TRUE;
- $open_case_val = CRM_Core_OptionGroup::getValue('activity_type', 'Open Case', 'name');
+ $open_case_val = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Open Case');
$crmDAO = &CRM_Core_DAO::executeQuery("SELECT cg.table_name, cg.extends AS ext, cf.label, cf.column_name FROM civicrm_custom_group cg INNER JOIN civicrm_custom_field cf ON cg.id = cf.custom_group_id
where (cg.extends='Contact' OR cg.extends='Individual' OR cg.extends_entity_column_value='$open_case_val') AND cg.is_active=1 AND cf.is_active=1 ORDER BY cg.table_name");
$curTable = '';
*/
public function tearDown() {
$this->quickCleanUpFinancialEntities();
- $this->quickCleanUpFinancialEntities(array('civicrm_event'));
parent::tearDown();
}
// Check amount in activity.
$activityParams = array(
'source_record_id' => $contribution->id,
- 'activity_type_id' => CRM_Core_OptionGroup::getValue('activity_type',
- 'Contribution',
- 'name'
- ),
+ 'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Contribution'),
);
+ // @todo use api instead.
$activity = CRM_Activity_BAO_Activity::retrieve($activityParams, $defaults);
$this->assertEquals($contribution->id, $activity->source_record_id, 'Check for activity associated with contribution.');
$oldCount = CRM_Core_DAO::singleValueQuery('select count(*) from civicrm_action_schedule');
$activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
$assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
- $scheduledStatus = CRM_Core_OptionGroup::getValue('activity_status', 'Scheduled', 'name');
- $activityTypeId = CRM_Core_OptionGroup::getValue('activity_type', "Meeting", 'name');
$title = "simpleActionSchedule" . substr(sha1(rand()), 0, 7);
$params = array(
'title' => $title,
'recipient' => $assigneeID,
'limit_to' => 1,
- 'entity_value' => $activityTypeId,
- 'entity_status' => $scheduledStatus,
+ 'entity_value' => 'Meeting',
+ 'entity_status' => 'Scheduled',
'is_active' => 1,
'record_activity' => 1,
'start_action_date' => 'activity_date_time',
$oldCount = CRM_Core_DAO::singleValueQuery('select count(*) from civicrm_action_schedule');
$activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name');
$assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
- $scheduledStatus = CRM_Core_OptionGroup::getValue('activity_status', 'Scheduled', 'name');
- $activityTypeId = CRM_Core_OptionGroup::getValue('activity_type', "Meeting", 'name');
$title = "simpleActionSchedule" . substr(sha1(rand()), 0, 7);
$params = array(
'title' => $title,
'recipient' => $assigneeID,
'limit_to' => 1,
- 'entity_value' => $activityTypeId,
- 'entity_status' => $scheduledStatus,
+ 'entity_value' => 'Meeting',
+ 'entity_status' => 'Scheduled',
'is_active' => 1,
'record_activity' => 1,
'mapping_id' => CRM_Activity_ActionMapping::ACTIVITY_MAPPING_ID,