X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FReport%2FForm%2FContribute%2FTopDonor.php;h=fdb055fdc89df2f2015bd060336e5a067e1accae;hb=ced9bfed5abf0d9edd1c9039a4089666b603a5ff;hp=4b0117a15811248545380715918c9ded297d61fe;hpb=1219e6af26646ad548b2d7e97a7f345af4655c21;p=civicrm-core.git diff --git a/CRM/Report/Form/Contribute/TopDonor.php b/CRM/Report/Form/Contribute/TopDonor.php index 4b0117a158..fdb055fdc8 100644 --- a/CRM/Report/Form/Contribute/TopDonor.php +++ b/CRM/Report/Form/Contribute/TopDonor.php @@ -1,5 +1,4 @@ _columns = array( - 'civicrm_contact' => array( - 'dao' => 'CRM_Contact_DAO_Contact', - 'fields' => array( - 'id' => array( - 'no_display' => TRUE, - 'required' => TRUE, - ), - 'display_name' => array( - 'title' => ts('Contact Name'), - 'required' => TRUE, - 'no_repeat' => TRUE, - ), - 'first_name' => array( - 'title' => ts('First Name'), - ), - 'last_name' => array( - 'title' => ts('Last Name'), - ), - 'contact_type' => array( - 'title' => ts('Contact Type'), - ), - 'contact_sub_type' => array( - 'title' => ts('Contact Subtype'), - ), + 'civicrm_contact' => array( + 'dao' => 'CRM_Contact_DAO_Contact', + 'fields' => array( + 'id' => array( + 'no_display' => TRUE, + 'required' => TRUE, + ), + 'display_name' => array( + 'title' => ts('Contact Name'), + 'required' => TRUE, + 'no_repeat' => TRUE, + ), + 'first_name' => array( + 'title' => ts('First Name'), + ), + 'last_name' => array( + 'title' => ts('Last Name'), + ), + 'contact_type' => array( + 'title' => ts('Contact Type'), + ), + 'contact_sub_type' => array( + 'title' => ts('Contact Subtype'), ), ), - ) - + $this->getAddressColumns() - + array( - 'civicrm_contribution' => array( - 'dao' => 'CRM_Contribute_DAO_Contribution', - 'fields' => array( - 'total_amount' => array( - 'title' => ts('Amount Statistics'), - 'required' => TRUE, - 'statistics' => array( - 'sum' => ts('Aggregate Amount'), - 'count' => ts('Donations'), - 'avg' => ts('Average'), - ), - ), - 'currency' => array( - 'required' => TRUE, - 'no_display' => TRUE, + ), + ); + $this->_columns += $this->getAddressColumns(); + $this->_columns += array( + 'civicrm_contribution' => array( + 'dao' => 'CRM_Contribute_DAO_Contribution', + 'fields' => array( + 'total_amount' => array( + 'title' => ts('Amount Statistics'), + 'required' => TRUE, + 'statistics' => array( + 'sum' => ts('Aggregate Amount'), + 'count' => ts('Donations'), + 'avg' => ts('Average'), ), ), - 'filters' => array( - 'receive_date' => array( - 'default' => 'this.year', - 'operatorType' => CRM_Report_Form::OP_DATE, - ), - 'currency' => array( - 'title' => 'Currency', - 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Core_OptionGroup::values('currencies_enabled'), - 'default' => NULL, - 'type' => CRM_Utils_Type::T_STRING, - ), - 'total_range' => array( - 'title' => ts('Show no. of Top Donors'), - 'type' => CRM_Utils_Type::T_INT, - 'default_op' => 'eq', - ), - 'financial_type_id' => array( - 'name' => 'financial_type_id', - 'title' => ts('Financial Type'), - 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::financialType(), - ), - 'contribution_status_id' => array( - 'title' => ts('Contribution Status'), - 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), - 'default' => array(1), - ), + 'currency' => array( + 'required' => TRUE, + 'no_display' => TRUE, ), ), - 'civicrm_email' => array( - 'dao' => 'CRM_Core_DAO_Email', - 'fields' => array( - 'email' => array( - 'title' => ts('Email'), - 'default' => TRUE, - 'no_repeat' => TRUE, - ), + 'filters' => array( + 'receive_date' => array( + 'default' => 'this.year', + 'operatorType' => CRM_Report_Form::OP_DATE, + ), + 'currency' => array( + 'title' => 'Currency', + 'operatorType' => CRM_Report_Form::OP_MULTISELECT, + 'options' => CRM_Core_OptionGroup::values('currencies_enabled'), + 'default' => NULL, + 'type' => CRM_Utils_Type::T_STRING, + ), + 'total_range' => array( + 'title' => ts('Show no. of Top Donors'), + 'type' => CRM_Utils_Type::T_INT, + 'default_op' => 'eq', + ), + 'financial_type_id' => array( + 'name' => 'financial_type_id', + 'title' => ts('Financial Type'), + 'operatorType' => CRM_Report_Form::OP_MULTISELECT, + 'options' => CRM_Contribute_PseudoConstant::financialType(), + ), + 'contribution_status_id' => array( + 'title' => ts('Contribution Status'), + 'operatorType' => CRM_Report_Form::OP_MULTISELECT, + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'default' => array(1), ), - 'grouping' => 'email-fields', ), - 'civicrm_phone' => array( - 'dao' => 'CRM_Core_DAO_Phone', - 'fields' => array( - 'phone' => array( - 'title' => ts('Phone'), - 'default' => TRUE, - 'no_repeat' => TRUE, - ), + ), + 'civicrm_email' => array( + 'dao' => 'CRM_Core_DAO_Email', + 'fields' => array( + 'email' => array( + 'title' => ts('Email'), + 'default' => TRUE, + 'no_repeat' => TRUE, ), - 'grouping' => 'phone-fields', ), - ); + 'grouping' => 'email-fields', + ), + 'civicrm_phone' => array( + 'dao' => 'CRM_Core_DAO_Phone', + 'fields' => array( + 'phone' => array( + 'title' => ts('Phone'), + 'default' => TRUE, + 'no_repeat' => TRUE, + ), + ), + 'grouping' => 'phone-fields', + ), + ); $this->_groupFilter = TRUE; $this->_tagFilter = TRUE; @@ -234,7 +229,7 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form { if (!in_array($op, array( 'eq', - 'lte' + 'lte', )) ) { $errors['total_range_op'] = ts("Please select 'Is equal to' OR 'Is Less than or equal to' operator"); @@ -335,7 +330,6 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form { $this->limit(); - //set the variable value rank, rows = 0 $setVariable = " SET @rows:=0, @rank=0 "; CRM_Core_DAO::singleValueQuery($setVariable); @@ -423,11 +417,15 @@ ORDER BY civicrm_contribution_total_amount_sum DESC } /** - * @param $rows + * Alter display of rows. + * + * Iterate through the rows retrieved via SQL and make changes for display purposes, + * such as rendering contacts as links. + * + * @param array $rows + * Rows generated by SQL, with an array for each row. */ public function alterDisplay(&$rows) { - // custom code to alter rows - $entryFound = FALSE; $rank = 1; if (!empty($rows)) { @@ -457,4 +455,5 @@ ORDER BY civicrm_contribution_total_amount_sum DESC } } } + }