/** * Build up a search query based on the users entries * * @return $this */ protected function _prepareBraintreeSearchQuery() { // Has the search query been set already? if ($this->searchQuery) { return $this->searchQuery; } $searchArray = array(); // Init some times $to = new Datetime(); $from = clone $to; $from = $from->modify("-24 hour"); // If a from and to date are set modify things if (Mage::app()->getRequest()->getParam('from_date') && Mage::app()->getRequest()->getParam('to_date')) { $from = new DateTime(Mage::app()->getRequest()->getParam('from_date')); $to = new DateTime(Mage::app()->getRequest()->getParam('to_date')); } // We always want to be filtering by a date to some degree $searchArray[] = Braintree_TransactionSearch::createdAt()->between($from, $to); // Type search if ($type = Mage::app()->getRequest()->getParam('type')) { $searchArray[] = Braintree_TransactionSearch::type()->is($type); } // Allow searching upon the status if ($status = Mage::app()->getRequest()->getParam('status')) { $searchArray[] = Braintree_TransactionSearch::status()->is($status); } // Order ID searching can be helpful if ($orderId = Mage::app()->getRequest()->getParam('order_id')) { $searchArray[] = Braintree_TransactionSearch::orderId()->is($orderId); } // Store the search query within the session Mage::getSingleton('adminhtml/session')->setBraintreeSearchQuery($searchArray); return $searchArray; }
function test_multipleValueNode_type_withRefund() { $customer = Braintree_Customer::createNoValidate(); $creditCard = Braintree_CreditCard::create(array('customerId' => $customer->id, 'cardholderName' => 'Joe Everyman' . rand(), 'number' => '5105105105105100', 'expirationDate' => '05/12'))->creditCard; $sale = Braintree_Transaction::saleNoValidate(array('amount' => Braintree_Test_TransactionAmounts::$authorize, 'paymentMethodToken' => $creditCard->token, 'options' => array('submitForSettlement' => true))); Braintree_Http::put('/transactions/' . $sale->id . '/settle'); $refund = Braintree_Transaction::refund($sale->id)->transaction; $credit = Braintree_Transaction::creditNoValidate(array('amount' => '100.00', 'paymentMethodToken' => $creditCard->token)); $collection = Braintree_Transaction::search(array(Braintree_TransactionSearch::creditCardCardholderName()->is($creditCard->cardholderName), Braintree_TransactionSearch::type()->is($credit->type), Braintree_TransactionSearch::refund()->is(True))); $this->assertEquals(1, $collection->maximumCount()); $this->assertEquals($refund->id, $collection->firstItem()->id); $collection = Braintree_Transaction::search(array(Braintree_TransactionSearch::creditCardCardholderName()->is($creditCard->cardholderName), Braintree_TransactionSearch::type()->is($credit->type), Braintree_TransactionSearch::refund()->is(False))); $this->assertEquals(1, $collection->maximumCount()); $this->assertEquals($credit->id, $collection->firstItem()->id); }