protected $_softFrom = NULL;
- protected $_customGroupExtends = array('Contribution');
+ protected $_customGroupExtends = array(
+ 'Contact',
+ 'Individual',
+ 'Contribution'
+ );
- /**
- */
/**
*/
public function __construct() {
-
+ $this->_autoIncludeIndexedFieldsAsOrderBys = 1;
// Check if CiviCampaign is a) enabled and b) has active campaigns
$config = CRM_Core_Config::singleton();
$campaignEnabled = in_array("CiviCampaign", $config->enableComponents);
'first_name' => array(
'title' => ts('First Name'),
),
+ 'middle_name' => array(
+ 'title' => ts('Middle Name'),
+ ),
'last_name' => array(
'title' => ts('Last Name'),
),
'no_display' => TRUE,
'required' => TRUE,
),
+ 'gender_id' => array(
+ 'title' => ts('Gender'),
+ ),
+ 'birth_date' => array(
+ 'title' => ts('Birth Date'),
+ ),
+ 'age' => array(
+ 'title' => ts('Age'),
+ 'dbAlias' => 'TIMESTAMPDIFF(YEAR, contact_civireport.birth_date, CURDATE())',
+ ),
'contact_type' => array(
'title' => ts('Contact Type'),
),
'no_display' => TRUE,
'type' => CRM_Utils_Type::T_INT,
),
+ 'gender_id' => array(
+ 'title' => ts('Gender'),
+ 'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+ 'options' => CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'gender_id'),
+ ),
+ 'birth_date' => array(
+ 'title' => ts('Birth Date'),
+ 'operatorType' => CRM_Report_Form::OP_DATE,
+ ),
+ 'contact_type' => array(
+ 'title' => ts('Contact Type'),
+ ),
+ 'contact_sub_type' => array(
+ 'title' => ts('Contact Subtype'),
+ ),
),
+ 'grouping' => 'contact-fields',
'order_bys' => array(
'sort_name' => array(
'title' => ts('Last Name, First Name'),
'default_weight' => '0',
'default_order' => 'ASC',
),
+ 'first_name' => array(
+ 'name' => 'first_name',
+ 'title' => ts('First Name'),
+ ),
+ 'gender_id' => array(
+ 'name' => 'gender_id',
+ 'title' => ts('Gender'),
+ ),
+ 'birth_date' => array(
+ 'name' => 'birth_date',
+ 'title' => ts('Birth Date'),
+ ),
+ 'contact_type' => array(
+ 'title' => ts('Contact Type'),
+ ),
+ 'contact_sub_type' => array(
+ 'title' => ts('Contact Subtype'),
+ ),
),
- 'grouping' => 'contact-fields',
+
),
'civicrm_email' => array(
'dao' => 'CRM_Core_DAO_Email',
$entryFound = $this->alterDisplayAddressFields($row, $rows, $rowNum, 'contribute/detail', 'List all contribution(s) for this ') ? TRUE : $entryFound;
+ //handle gender
+ if (array_key_exists('civicrm_contact_gender_id', $row)) {
+ if ($value = $row['civicrm_contact_gender_id']) {
+ $gender = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'gender_id');
+ $rows[$rowNum]['civicrm_contact_gender_id'] = $gender[$value];
+ }
+ $entryFound = TRUE;
+ }
+
+ // display birthday in the configured custom format
+ if (array_key_exists('civicrm_contact_birth_date', $row)) {
+ $birthDate = $row['civicrm_contact_birth_date'];
+ if ($birthDate) {
+ $rows[$rowNum]['civicrm_contact_birth_date'] = CRM_Utils_Date::customFormat($birthDate, '%Y%m%d');
+ }
+ $entryFound = TRUE;
+ }
+
// skip looking further in rows, if first row itself doesn't
// have the column we need
if (!$entryFound) {