From 97c7504fc3e17e4bfa0a0338adc997fd44ebec39 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 31 Oct 2014 22:25:51 +0000 Subject: [PATCH] recurring activity table for activity tabs on contact details page --- CRM/Activity/BAO/Activity.php | 7 ++++++- CRM/Activity/Page/AJAX.php | 12 ++++++++++++ CRM/Event/BAO/Query.php | 12 ++++++------ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/CRM/Activity/BAO/Activity.php b/CRM/Activity/BAO/Activity.php index 243fcd0ac6..ae2bdc9e31 100644 --- a/CRM/Activity/BAO/Activity.php +++ b/CRM/Activity/BAO/Activity.php @@ -830,9 +830,11 @@ SELECT {$activityTempTable}.*, {$activityContactTempTable}.record_type_id, {$activityContactTempTable}.contact_name, {$activityContactTempTable}.is_deleted, - {$activityContactTempTable}.counter + {$activityContactTempTable}.counter, + re.parent_id as is_recurring_activity FROM {$activityTempTable} INNER JOIN {$activityContactTempTable} on {$activityTempTable}.activity_id = {$activityContactTempTable}.activity_id +LEFT JOIN civicrm_recurring_entity re on {$activityContactTempTable}.activity_id = re.entity_id ORDER BY fixed_sort_order "; @@ -859,6 +861,7 @@ ORDER BY fixed_sort_order $values[$activityID]['status_id'] = $dao->status_id; $values[$activityID]['subject'] = $dao->subject; $values[$activityID]['campaign_id'] = $dao->campaign_id; + $values[$activityID]['is_recurring_activity'] = $dao->is_recurring_activity; if ($dao->campaign_id) { $values[$activityID]['campaign'] = $allCampaigns[$dao->campaign_id]; @@ -2598,6 +2601,8 @@ INNER JOIN civicrm_option_group grp ON ( grp.id = val.option_group_id AND grp.n 'Activity', $values['activity_id'] ); + + $contactActivities[$activityId]['is_recurring_activity'] = $values['is_recurring_activity']; } } diff --git a/CRM/Activity/Page/AJAX.php b/CRM/Activity/Page/AJAX.php index 842d447a56..87c6a3e260 100644 --- a/CRM/Activity/Page/AJAX.php +++ b/CRM/Activity/Page/AJAX.php @@ -459,6 +459,18 @@ class CRM_Activity_Page_AJAX { // get the contact activities $activities = CRM_Activity_BAO_Activity::getContactActivitySelector($params); + foreach ($activities as $key => $value) { + //Check if recurring activity + if (CRM_Utils_Array::value('is_recurring_activity', $value)) { + if ($key == $value['is_recurring_activity']) { + $activities[$key]['activity_type'] = $activities[$key]['activity_type'].'
Recurring Activity - (Parent)'; + } + else { + $activities[$key]['activity_type'] = $activities[$key]['activity_type'].'
Recurring Activity - (Child)'; + } + } + } + // store the activity filter preference CRM-11761 $session = CRM_Core_Session::singleton(); $userID = $session->get('userID'); diff --git a/CRM/Event/BAO/Query.php b/CRM/Event/BAO/Query.php index a3379d942e..52800ef9fb 100644 --- a/CRM/Event/BAO/Query.php +++ b/CRM/Event/BAO/Query.php @@ -206,7 +206,7 @@ class CRM_Event_BAO_Query { } } } - + /** * @param $query @@ -249,14 +249,14 @@ class CRM_Event_BAO_Query { 'civicrm_event', 'event_end_date', 'end_date', 'End Date' ); return; - + case 'event_id': $query->_where[$grouping][] = "civicrm_event.id $op {$value}"; $eventTitle = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $value, 'title'); $query->_qill[$grouping][] = ts('Event') . " $op {$eventTitle}"; $query->_tables['civicrm_event'] = $query->_whereTables['civicrm_event'] = 1; return; - + case 'event_include_repeating_events': /** * Include Repeating Events @@ -292,7 +292,7 @@ class CRM_Event_BAO_Query { $query->_qill[$grouping][] = ts('Include Repeating Events (If Any) ') . " = TRUE"; $query->_tables['civicrm_event'] = $query->_whereTables['civicrm_event'] = 1; return; - + case 'event_type_id': $eventTypes = CRM_Core_OptionGroup::values("event_type"); @@ -300,7 +300,7 @@ class CRM_Event_BAO_Query { $query->_qill[$grouping][] = ts('Event Type - %1', array(1 => $eventTypes[$value])); $query->_tables['civicrm_event'] = $query->_whereTables['civicrm_event'] = 1; return; - + case 'participant_test': // We dont want to include all tests for sql OR CRM-7827 if (!$value || $query->getOperator() != 'OR') { @@ -676,7 +676,7 @@ class CRM_Event_BAO_Query { } CRM_Campaign_BAO_Campaign::addCampaignInComponentSearch($form, 'participant_campaign_id'); - + $form->assign('validCiviEvent', TRUE); $form->setDefaults(array('participant_test' => 0)); } -- 2.25.1