+--------------------------------------------------------------------+
| CiviCRM version 5 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2018 |
+ | Copyright CiviCRM LLC (c) 2004-2019 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2018
+ * @copyright CiviCRM LLC (c) 2004-2019
*/
class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
*/
public static function getFields($checkPermission = TRUE) {
if (!isset(\Civi::$statics[__CLASS__]) || !isset(\Civi::$statics[__CLASS__]['fields']) || !isset(\Civi::$statics[__CLASS__]['contribution'])) {
- $fields = CRM_Contribute_BAO_Contribution::exportableFields($checkPermission);
+ $fields = CRM_Contribute_BAO_Contribution::exportableFields($checkPermission);
+ CRM_Contribute_BAO_Contribution::appendPseudoConstantsToFields($fields);
unset($fields['contribution_contact_id']);
\Civi::$statics[__CLASS__]['fields']['contribution'] = $fields;
}
$quoteValue = "\"$value\"";
}
- $strtolower = function_exists('mb_strtolower') ? 'mb_strtolower' : 'strtolower';
-
$recurrringFields = CRM_Contribute_BAO_ContributionRecur::getRecurringFields();
unset($recurrringFields['contribution_recur_payment_made']);
foreach ($recurrringFields as $dateField => $dateFieldTitle) {
$query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1;
return;
- case 'contribution_recur_processor_id':
case 'contribution_recur_payment_processor_id':
+ $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("civicrm_contribution_recur.payment_processor_id", $op, $value, "String");
+ $paymentProcessors = civicrm_api3('PaymentProcessor', 'get', array());
+ $paymentProcessorNames = array();
+ foreach ($value as $paymentProcessorId) {
+ $paymentProcessorNames[] = $paymentProcessors['values'][$paymentProcessorId]['name'];
+ }
+ $query->_qill[$grouping][] = ts("Recurring Contribution Payment Processor %1 %2", array(1 => $op, 2 => implode(', ', $paymentProcessorNames)));
+ $query->_tables['civicrm_contribution_recur'] = $query->_whereTables['civicrm_contribution_recur'] = 1;
+ return;
+
+ case 'contribution_recur_processor_id':
case 'contribution_recur_trxn_id':
$fieldName = str_replace('contribution_recur_', '', $name);
$query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("civicrm_contribution_recur.{$fieldName}",
$op, $value, "String"
);
+ $recurFields = CRM_Contribute_DAO_ContributionRecur::fields();
+ $query->_qill[$grouping][] = ts("Recurring Contribution %1 %2 '%3'", array(1 => $recurFields[$fieldName]['title'], 2 => $op, 3 => $value));
$query->_tables['civicrm_contribution_recur'] = $query->_whereTables['civicrm_contribution_recur'] = 1;
return;
return;
case 'contribution_note':
- $value = $strtolower(CRM_Core_DAO::escapeString($value));
+ $value = CRM_Core_DAO::escapeString($value);
if ($wildcard) {
$value = "%$value%";
$op = 'LIKE';
}
- // LOWER roughly translates to 'hurt my database without deriving any benefit' See CRM-19811.
- $wc = ($op != 'LIKE') ? "LOWER(civicrm_note.note)" : "civicrm_note.note";
- $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause($wc, $op, $value, "String");
+ $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause('civicrm_note.note', $op, $value, "String");
$query->_qill[$grouping][] = ts('Contribution Note %1 %2', array(1 => $op, 2 => $quoteValue));
$query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = $query->_whereTables['contribution_note'] = 1;
return;
return;
}
$whereTable = $fields[$fldName];
- $value = trim($value);
+ if (!is_array($value)) {
+ $value = trim($value);
+ }
$dataType = "String";
if (!empty($whereTable['type'])) {
$form->add('text', 'contribution_amount_high', ts('To'), array('size' => 8, 'maxlength' => 8));
$form->addRule('contribution_amount_high', ts('Please enter a valid money value (e.g. %1).', array(1 => CRM_Utils_Money::format('99.99', ' '))), 'money');
- // Adding Cancelled Contribution fields -- CRM-21343
- $form->add('text', 'contribution_cancel_reason', ts('Cancellation / Refund Reason'), array('size' => 40));
+ $form->addField('cancel_reason', array('entity' => 'Contribution'));
CRM_Core_Form_Date::buildDateRange($form, 'contribution_cancel_date', 1, '_low', '_high', ts('From:'), FALSE);
$form->addElement('hidden', 'contribution_cancel_date_range_error');