<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.6 |
+ | CiviCRM version 4.7 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
*
* @package CRM
* @copyright CiviCRM LLC (c) 2004-2015
- * $Id$
*/
class CRM_Contribute_BAO_Query {
$query->_select['contribution_campaign_title'] = "civicrm_campaign.title as contribution_campaign_title";
$query->_element['contribution_campaign_title'] = $query->_tables['civicrm_campaign'] = 1;
}
+
+ // Adding address_id in a way that is more easily extendable since the above is a bit ... wordy.
+ $supportedBasicReturnValues = array('address_id');
+ foreach ($supportedBasicReturnValues as $fieldName) {
+ if (!empty($query->_returnProperties[$fieldName])) {
+ $query->_select[$fieldName] = "civicrm_contribution.{$fieldName} as $fieldName";
+ $query->_element[$fieldName] = $query->_tables['civicrm_contribution'] = 1;
+ }
+ }
+
//CRM-16116: get financial_type_id
if (!empty($query->_returnProperties['financial_type_id'])) {
$query->_select['financial_type_id'] = "civicrm_contribution.financial_type_id as financial_type_id";
case 'contribution_contact_id':
case (strpos($name, '_amount') !== FALSE):
case (strpos($name, '_date') !== FALSE && $name != 'contribution_fulfilled_date'):
+ case 'contribution_campaign_id':
$qillName = $name;
$pseudoExtraParam = NULL;
// @todo including names using a switch statement & then using an 'if' to filter them out is ... odd!
'contribution_check_number',
'contribution_payment_instrument_id',
'contribution_contact_id',
+ 'contribution_campaign_id',
)
)
) {
$name = str_replace('contribution_', '', $name);
- if (!in_array($name, array('source', 'id', 'contact_id'))) {
+ if (!in_array($name, array('source', 'id', 'contact_id', 'campaign_id'))) {
$qillName = str_replace('contribution_', '', $qillName);
}
}
$query->_tables['civicrm_contribution_soft'] = $query->_whereTables['civicrm_contribution_soft'] = 1;
return;
- case 'contribution_campaign_id':
- $campParams = array(
- 'op' => $op,
- 'campaign' => $value,
- 'grouping' => $grouping,
- 'tableName' => 'civicrm_contribution',
- );
- CRM_Campaign_BAO_Query::componentSearchClause($campParams, $query);
- return;
-
case 'contribution_batch_id':
$batches = CRM_Contribute_PseudoConstant::batch();
$query->_where[$grouping][] = " civicrm_entity_batch.batch_id $op $value";
/**
* Add all the elements shared between contribute search and advnaced search.
*
- *
* @param CRM_Core_Form $form
- *
- * @return void
*/
public static function buildSearchForm(&$form) {
// stores the label
$form->add('hidden', 'pcp_made_through');
- $statusValues = CRM_Core_PseudoConstant::get('CRM_Contribute_DAO_Contribution', 'contribution_status');
+ $statusValues = CRM_Core_PseudoConstant::get('CRM_Contribute_DAO_Contribution', 'contribution_status_id');
// Remove status values that are only used for recurring contributions or pledges (In Progress, Overdue).
unset($statusValues['5'], $statusValues['6']);
-
- $form->addSelect('contribution_status_id',
- array('entity' => 'contribution', 'multiple' => 'multiple', 'label' => ts('Contribution Status(s)'), 'option_url' => NULL, 'placeholder' => ts('- any -'))
+ $form->add('select', 'contribution_status_id',
+ ts('Contribution Status'), $statusValues,
+ FALSE, array('class' => 'crm-select2', 'multiple' => 'multiple')
);
// Add fields for thank you and receipt