'operatorType' => CRM_Report_Form::OP_SELECT,
'options' => ['0' => ts('No'), '1' => ts('Yes')],
];
+ $this->_columns['civicrm_case_activity'] = [
+ 'dao' => 'CRM_Case_DAO_CaseActivity',
+ 'fields' => [],
+ ];
}
if ($campaignEnabled) {
parent::__construct();
}
- public function preProcess() {
- // Is "Include Case Activities" selected? If yes, include the case_id as a hidden column
- $formToUse = $this->noController ? NULL : $this;
- $includeCaseActivities = CRM_Utils_Request::retrieve('include_case_activities_value', 'Boolean', $formToUse);
- if (!empty($includeCaseActivities)) {
- $this->_columns['civicrm_case_activity'] = [
- 'dao' => 'CRM_Case_DAO_CaseActivity',
- 'fields' => [
- 'case_id' => [
- 'no_display' => TRUE,
- 'required' => TRUE,
- ],
- ],
- ];
- }
- parent::preProcess();
+ protected static function addCaseActivityColumns($columns) {
+ $columns['civicrm_case_activity']['fields'] = [
+ 'case_id' => [
+ 'title' => ts('Case ID'),
+ 'required' => TRUE,
+ 'dbAlias' => $columns['civicrm_case_activity']['alias'] . '.case_id',
+ 'type' => CRM_Utils_Type::T_INT,
+ ],
+ ];
+ return $columns;
}
/**
}
}
+ if (!empty($this->_params['include_case_activities_value'])) {
+ $this->_columns = self::addCaseActivityColumns($this->_columns);
+ }
+
// @todo - all this temp table stuff is here because pre 4.4 the activity contact
// form did not exist.
// Fixing the way the construct method declares them will make all this redundant.