Ejemplo n.º 1
0
 /**
  * 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_rangeNode_createdAt_handlesUTCDateTimes()
 {
     $transaction = Braintree_Transaction::saleNoValidate(array('amount' => '1000.00', 'creditCard' => array('cardholderName' => 'Pingu Penguin' . rand(), 'number' => '5105105105105100', 'expirationDate' => '05/12')));
     $ten_min_ago = date_create("now -10 minutes", new DateTimeZone("UTC"));
     $ten_min_from_now = date_create("now +10 minutes", new DateTimeZone("UTC"));
     $collection = Braintree_Transaction::search(array(Braintree_TransactionSearch::id()->is($transaction->id), Braintree_TransactionSearch::createdAt()->between($ten_min_ago, $ten_min_from_now)));
     $this->assertEquals(1, $collection->maximumCount());
     $this->assertEquals($transaction->id, $collection->firstItem()->id);
 }