Exemplo n.º 1
0
 /**
  * @see MageUC_Developer_Bar_Panel_Interface::update(Varien_Event $event)
  */
 public function update(Varien_Event $event)
 {
     if ($event->getName() == self::EVENT_MAGE_LOG) {
         self::$_arData[] = array('message' => $event->getMessage(), 'level' => $event->getLevel(), 'file' => $event->getFile());
     }
     return;
 }
Exemplo n.º 2
0
 /**
  * Get quote item validator/processor object
  *
  * @deprecated
  * @param   Varien_Event $event
  * @return  Mage_SalesRule_Model_Validator
  */
 public function getValidator($event)
 {
     if (!$this->_validator) {
         $this->_validator = Mage::getModel('salesrule/validator')->init($event->getWebsiteId(), $event->getCustomerGroupId(), $event->getCouponCode());
     }
     return $this->_validator;
 }
 private function prepareProductObserver(Mage_Catalog_Model_Product $product)
 {
     $event = new Varien_Event();
     $event->setProduct($product);
     $observer = new Varien_Event_Observer();
     $observer->setEvent($event);
     return $observer;
 }
Exemplo n.º 4
0
 /**
  * @see MageUC_Developer_Bar_Panel_Interface::update(Varien_Event $event)
  */
 public function update(Varien_Event $event)
 {
     if (!isset($this->_arEvents[$event->getName()])) {
         $this->_arEvents[$event->getName()] = 0;
     }
     $this->_arEvents[$event->getName()] += 1;
     $this->_totalEventDispatched++;
 }
 /**
  * When handling the before collect totals event,
  * quote item quantities should be checked by checking
  * quote inventory via the quantity service model.
  */
 public function testHandleBeforeCollectTotals()
 {
     $quote = Mage::getModel('sales/quote');
     $this->_event->setQuote($quote);
     // Side-effect test: just need to make sure quote inventory
     // is checked via the quantity service model.
     $this->_quantityService->expects($this->once())->method('checkQuoteInventory')->with($this->identicalTo($quote))->will($this->returnSelf());
     $this->_inventoryObserver->handleBeforeCollectTotals($this->_eventObserver);
 }
Exemplo n.º 6
0
 /**
  * Build correct observer structure
  *
  * @param $data array
  */
 protected function buildObserver(array $data)
 {
     $observer = new Varien_Event_Observer();
     $event = new Varien_Event();
     $event->setData($data);
     $data['event'] = $event;
     $observer->setData($data);
     return $observer;
 }
 /**
  * When handling the after set qty event,
  * quote item quantities should be checked by checking
  * quote inventory via the quantity service model.
  */
 public function testHandleAfterSetItemQty()
 {
     $quoteItem = Mage::getModel('sales/quote_item');
     $this->_event->setItem($quoteItem);
     // Side-effect test: just need to make sure quote inventory
     // is checked via the quantity service model.
     $this->_quantityService->expects($this->once())->method('checkQuoteItemInventory')->with($this->identicalTo($quoteItem))->will($this->returnSelf());
     $this->_inventoryObserver->handleAfterSetItemQty($this->_eventObserver);
 }
Exemplo n.º 8
0
 /**
  * @see Mage_Core_Model_App::dispatchEvent($eventName, $args)
  */
 public function dispatchEvent($eventName, $args)
 {
     $event = new Varien_Event($args);
     $event->setName($eventName);
     $observer = new Varien_Event_Observer();
     $observer->setData(array('event' => $event));
     $observer->addData($args);
     $this->_bar->update($observer->getEvent());
     return parent::dispatchEvent($eventName, $args);
 }
Exemplo n.º 9
0
 /** 
  * Adds the rewards catalog spending rule discounts to the tax display amount
  * @param Varien_Event $observer
  */
 public function addRewardsCatalogTaxDiscounts($observer)
 {
     $event = $observer->getEvent();
     $block = $event->getBlock();
     if ($block instanceof Mage_Tax_Block_Checkout_Grandtotal && $block->getTotal()) {
         $event->getBlock()->setTemplate('rewards/checkout/total/tax/grandtotal.phtml');
         $event->getBlock()->setTotalExclTaxExclCatalogRedem($this->getTotalExclTax($block));
     }
     return $this;
 }
Exemplo n.º 10
0
 /**
  * Executed from the core_block_abstract_to_html_after event
  * @param Varien_Event $obj
  */
 public function afterOutput($obj)
 {
     $block = $obj->getEvent()->getBlock();
     $transport = $obj->getEvent()->getTransport();
     // Magento 1.4.0.1 and lower dont have this transport, so we can't do autointegration : (
     if (empty($transport)) {
         return $this;
     }
     $this->_afterOutput($block, $transport);
     return $this;
 }
Exemplo n.º 11
0
Arquivo: Xtest.php Projeto: nhp/Xtest
 /**
  * @param $model string model syntax or class name (codex_module/observer or Codex_Module_Model_Observer)
  * @param $method string the exact method name (as defined in confix.xml)
  * @param $eventName string the original name of the event
  * @param array $args array
  */
 public static function dispatchEvent($model, $method, $eventName, array $args = array())
 {
     $event = new Varien_Event($args);
     $event->setName($eventName);
     $observer = new Varien_Event_Observer();
     $observer->setData(array('event' => $event));
     $observer->addData($args);
     $object = Mage::getModel($model);
     if (method_exists($object, $method)) {
         $object->{$method}($observer);
     }
 }
Exemplo n.º 12
0
 /**
  * @test
  * @loadFixture
  */
 public function testScheduleOrderSync()
 {
     $model = Mage::getModel("klevu_search/observer");
     $order = Mage::getModel("sales/order")->load(1);
     $event = new Varien_Event();
     $event->addData(array("event_name" => "sales_order_place_after", "order" => $order));
     $observer = new Varien_Event_Observer();
     $observer->addData(array("event" => $event));
     $model->scheduleOrderSync($observer);
     $this->assertEquals(array(array("order_item_id" => "2")), $this->getOrderSyncQueue());
     $this->assertEquals(1, $this->getOrderSyncCronScheduleCollection()->getSize(), "Failed to assert that scheduleOrderSync() schedules the Order Sync cron when called.");
 }
Exemplo n.º 13
0
 /**
  * Executed from the core_block_abstract_to_html_after event
  * @param Varien_Event $obj
  */
 public function afterOutput($obj)
 {
     $block = $obj->getEvent()->getBlock();
     $transport = $obj->getEvent()->getTransport();
     // Magento 1.3 and lower dont have this transport, so we can't do autointegration : (
     if (empty($transport)) {
         return $this;
     }
     $this->appendToSignupForm($block, $transport);
     $this->appendToOnepageCheckoutSignup($block, $transport);
     return $this;
 }
 /**
  * @see MageUC_Developer_Bar_Panel_Interface::update(Varien_Event $event)
  */
 public function update(Varien_Event $event)
 {
     if (!$this->_profilerEnabled) {
         Mage::getSingleton('core/resource')->getConnection('core_write')->getProfiler()->setEnabled(true);
         $this->_profilerEnabled = true;
     }
     if ($event->getName() == MageUC_Developer_Bar::EVENT_POST_DISPATCH) {
         $conn = Mage::getSingleton('core/resource')->getConnection('core_write');
         $this->_profiler = $conn->getProfiler();
     }
     return;
 }
Exemplo n.º 15
0
 /**
  * Executed from the core_block_abstract_to_html_after event
  * @param Varien_Event $obj
  */
 public function afterOutput($obj)
 {
     $block = $obj->getEvent()->getBlock();
     $transport = $obj->getEvent()->getTransport();
     // Magento 1.3 and lower dont have this transport, so we can't do autointegration : (
     if (empty($transport)) {
         return $this;
     }
     $this->appendRewardsHeader($block, $transport);
     $this->appendCartPointsSpender($block, $transport);
     $this->appendPointsSummary($block, $transport);
     return $this;
 }
 public function testDispatchEventDoesNotCallApiIfNoMessages()
 {
     $e = new Varien_Event();
     $e->setName('triggerCode');
     $observer = new Varien_Event_Observer();
     $observer->setEvent($e);
     $events = $this->getEventCollection();
     $this->observer->expects($this->once())->method('getEvents')->with('event', 'triggerCode')->will($this->returnValue($events));
     $messages = array();
     $this->messageProcessor->expects($this->once())->method('processEvents')->with($events, $observer)->will($this->returnValue($messages));
     $this->esendexApi->expects($this->never())->method('sendMultipleMessages');
     $this->observer->dispatchEvent($observer);
 }
Exemplo n.º 17
0
 /**
  * @test
  * @loadFixture testGoogleAnonymizationDisabled
  */
 public function testGoogleAnonymizationDisabled()
 {
     $block = $this->app()->getLayout()->createBlock('googleanalytics/ga')->setTemplate('googleanalytics/ga.phtml');
     $transport = new Varien_Object();
     $transport->setHtml($block->toHtml());
     $event = new Varien_Event();
     $event->setData('block', $block);
     $event->setData('transport', $transport);
     $observer = new Varien_Event_Observer();
     $observer->setEvent($event);
     $this->_model->setGAAnonymizerCode($observer);
     $this->assertNotContains('_anonymizeIp', $observer->getEvent()->getTransport()->getHtml());
 }
 /**
  * @test
  * @loadFixture ~FireGento_AdminMonitoring/default
  */
 public function setRowUrl()
 {
     $history = Mage::getModel('firegento_adminmonitoring/history')->load(8);
     $transport = new Varien_Object();
     $observer = new Varien_Event_Observer();
     $event = new Varien_Event();
     $event->setData('history', $history);
     $event->setData('transport', $transport);
     $observer->setEvent($event);
     $observer->setData('history', $history);
     $observer->setData('transport', $transport);
     $this->_model->setRowUrl($observer);
     $this->assertContains('sales_order/view/order_id/1/', $transport->getRowUrl());
 }
 /**
  * Test voiding the redeemed gift cards.
  */
 public function testRedeemVoid()
 {
     // need to replace the checkout session to prevent errors when instantiating the gift card container
     $this->_replaceSession('checkout/session');
     $container = Mage::getModel('ebayenterprise_giftcard/container');
     $exceptionGiftCard = $this->getModelMock('ebayenterprise_giftcard/giftcard', array('void'));
     $exceptionGiftCard->setIsRedeemed(true)->setCardNumber('2222222222222222');
     // the void request may fail but processing should continue
     $exceptionGiftCard->expects($this->once())->method('void')->will($this->throwException(new EbayEnterprise_GiftCard_Exception()));
     $container->updateGiftCard($exceptionGiftCard);
     $giftCard = $this->getModelMock('ebayenterprise_giftcard/giftcard', array('void'));
     $giftCard->setIsRedeemed(true)->setCardNumber('1111111111111111');
     // make sure the card redeem is voided
     $giftCard->expects($this->once())->method('void')->will($this->returnSelf());
     $container->updateGiftCard($giftCard);
     $unredeemedGiftCard = $this->getModelMock('ebayenterprise_giftcard/giftcard', array('void'));
     $unredeemedGiftCard->setIsRedeemed(false)->setCardNumber('2222222222222222');
     // cards that were not redeemed (getIsRedeemed === false) should not be voided
     $unredeemedGiftCard->expects($this->never())->method('void')->will($this->throwException(new EbayEnterprise_GiftCard_Exception()));
     $container->updateGiftCard($unredeemedGiftCard);
     $quote = Mage::getModel('sales/quote');
     $order = Mage::getModel('sales/order');
     $this->_event->setQuote($quote)->setOrder($order);
     $observer = Mage::getModel('ebayenterprise_giftcard/observer', array('gift_card_container' => $container));
     // invoke the method, should void any redeemed card in the container
     $observer->redeemVoidGiftCards($this->_eventObserver);
 }
 /**
  * Test voiding the redeemed gift cards.
  */
 public function testRedeemVoid()
 {
     // need to replace the checkout session to prevent errors when instantiating the gift card container
     $this->_replaceSession('checkout/session');
     $exceptionGiftCard = $this->getModelMock('ebayenterprise_giftcard/giftcard', ['void']);
     $exceptionGiftCard->setIsRedeemed(true)->setCardNumber('2222222222222222');
     // the void request may fail but processing should continue
     $exceptionGiftCard->expects($this->once())->method('void')->will($this->throwException(new EbayEnterprise_GiftCard_Exception(__METHOD__ . ': test exception')));
     $giftCard = $this->getModelMock('ebayenterprise_giftcard/giftcard', ['void']);
     $giftCard->setIsRedeemed(true)->setCardNumber('1111111111111111');
     // make sure the card redeem is voided
     $giftCard->expects($this->once())->method('void')->will($this->returnSelf());
     // The set of gift cards in the container that have been redeemed and
     // need to be voided.
     $redeemedGiftCards = new SplObjectStorage();
     $redeemedGiftCards->attach($giftCard);
     $redeemedGiftCards->attach($exceptionGiftCard);
     $container = $this->getModelMock('ebayenterprise_giftcard/container', ['getRedeemedGiftCards']);
     $container->method('getRedeemedGiftCards')->will($this->returnValue($redeemedGiftCards));
     $quote = Mage::getModel('sales/quote');
     $order = Mage::getModel('sales/order');
     $this->_event->setQuote($quote)->setOrder($order);
     $observer = Mage::getModel('ebayenterprise_giftcard/observer', ['gift_card_container' => $container]);
     // invoke the method, should void any redeemed card in the container
     $observer->redeemVoidGiftCards($this->_eventObserver);
 }
 /**
  * handles the event checkout_type_onepage_save_order to set the currency of the order
  * @param Varien_Event $event
  */
 public function setOrderCurrency($event)
 {
     if (Mage::helper('imagecc')->isActive()) {
         $order = $event->getOrder();
         if ($order && !Mage::helper('imagecc')->isPaypalOrder($order)) {
             if ($this->_useFixedCurrency($order)) {
                 return;
             }
             Mage::helper('imagecc')->log("Using display currency " . $order->getIncrementId());
             $imagecc_preserved_information = array('order_fields' => array(), 'item_fields' => array());
             $_coreHelper = Mage::helper('core');
             foreach ($this->_orderFields as $field) {
                 $field2 = preg_replace('(^base_)', '', $field);
                 $new_v = $order->getData($field2);
                 //$v = $order->getData($field);
                 //$new_v = $_coreHelper->currency($v, false, false);
                 /**
                  * preserve information before change it
                  */
                 if ($field !== $field2) {
                     $imagecc_preserved_information['order_fields'][] = array('field' => $field, 'original_value' => $order->getData($field), 'new_value' => $new_v);
                 }
                 $order->setData($field, $new_v);
                 Mage::helper('imagecc')->log("{$field2} {$field} {$new_v}");
             }
             foreach ($order->getAllItems() as $item) {
                 $arr = $this->_itemFields;
                 $quoteItemId = $item->getData('quote_item_id');
                 $imagecc_preserved_information['item_fields'][$quoteItemId] = array();
                 foreach ($arr as $k) {
                     //$v = $item->getData($k);
                     //$new_v = $_coreHelper->currency($v, false, false);
                     $field2 = preg_replace('(^base_)', '', $k);
                     $new_v = $item->getData($field2);
                     /**
                      * preserve information before change it
                      */
                     if ($k !== $field2) {
                         $imagecc_preserved_information['item_fields'][$quoteItemId][] = array('field' => $k, 'original_value' => $item->getData($k), 'new_value' => $new_v);
                     }
                     $item->setData($k, $new_v);
                     Mage::helper('imagecc')->log("{$field2} {$k} {$new_v}");
                 }
                 //$item->save();
             }
             $store_currency = $order->getData('order_currency_code');
             /**
              * preserve information before change it
              */
             $imagecc_preserved_information['order_fields']['global_currency_code'] = array('original_value' => $order->getData('global_currency_code'), 'field' => 'global_currency_code', 'new_value' => '');
             $imagecc_preserved_information['order_fields']['base_currency_code'] = array('original_value' => $order->getData('base_currency_code'), 'field' => 'base_currency_code', 'new_value' => '');
             $imagecc_preserved_information['order_fields']['store_currency_code'] = array('original_value' => $order->getData('store_currency_code'), 'field' => 'store_currency_code', 'new_value' => '');
             $order->setData('global_currency_code', $store_currency)->setData('base_currency_code', $store_currency)->setData('store_currency_code', $store_currency)->setData('imagecc_preserved_information', json_encode($imagecc_preserved_information));
         }
     }
 }
Exemplo n.º 22
0
 /**
  * Register an event for this collection
  *
  * @param Varien_Event $event
  * @return Varien_Event_Collection
  */
 public function addEvent(Varien_Event $event)
 {
     $this->_events[$event->getName()] = $event;
     return $this;
 }
 public function dispatchEvent($eventName, $args)
 {
     $eventName = strtolower($eventName);
     foreach ($this->_events as $area => $events) {
         if (!isset($events[$eventName])) {
             $eventConfig = $this->getConfig()->getEventConfig($area, $eventName);
             if (!$eventConfig) {
                 $this->_events[$area][$eventName] = false;
                 continue;
             }
             $observers = array();
             foreach ($eventConfig->observers->children() as $obsName => $obsConfig) {
                 $observers[$obsName] = array('type' => (string) $obsConfig->type, 'model' => $obsConfig->class ? (string) $obsConfig->class : $obsConfig->getClassName(), 'method' => (string) $obsConfig->method, 'args' => (array) $obsConfig->args);
             }
             $events[$eventName]['observers'] = $observers;
             $this->_events[$area][$eventName]['observers'] = $observers;
         }
         if (false === $events[$eventName]) {
             continue;
         } else {
             $event = new Varien_Event($args);
             $event->setName($eventName);
             $observer = new Varien_Event_Observer();
         }
         foreach ($events[$eventName]['observers'] as $obsName => $obs) {
             $observer->setData(array('event' => $event));
             Varien_Profiler::start('OBSERVER: ' . $obsName);
             switch ($obs['type']) {
                 case 'disabled':
                     break;
                 case 'object':
                 case 'model':
                     $method = $obs['method'];
                     $observer->addData($args);
                     $object = Mage::getModel($obs['model']);
                     $this->_callObserverMethod($object, $method, $observer);
                     break;
                 default:
                     $method = $obs['method'];
                     $observer->addData($args);
                     $object = Mage::getSingleton($obs['model']);
                     $this->_callObserverMethod($object, $method, $observer);
                     break;
             }
             Varien_Profiler::stop('OBSERVER: ' . $obsName);
         }
     }
     return $this;
 }
Exemplo n.º 24
0
 /**
  * add DHL account to shipment create request
  *
  * @test
  * @loadFixture ../../../../../Intraship/Test/var/fixtures/shipments
  * @loadFixture ../../../../../Intraship/Test/var/fixtures/parcels
  */
 public function testBillingAddressIsNull()
 {
     $shipment = Mage::getModel('intraship/shipment')->load(10);
     $event = new Varien_Event();
     $event->setObject($shipment);
     Mage::getModel('dhlaccount/observer')->dhlIntrashipShipmentLoadAfter($event);
     $this->assertFalse($shipment->hasCustomizedAddress());
     // parcel announcement
     $shipment = Mage::getModel('intraship/shipment')->load(1);
     $event = new Varien_Event();
     $shipment->getShipment()->getBillingAddress()->setDhlaccount('123');
     $event->setObject($shipment);
     Mage::getModel('dhlaccount/observer')->dhlIntrashipShipmentLoadAfter($event);
     $this->assertTrue(is_array($shipment->getCustomerAddress()));
     $customerAddress = $shipment->getCustomerAddress();
     $this->assertTrue(array_key_exists('dhlaccount', $customerAddress));
     $this->assertEquals('123', $customerAddress['dhlaccount']);
     // packstation
     $event = new Varien_Event();
     $shipment->getShipment()->getShippingAddress()->setDhlaccount('567');
     $shipment->getShipment()->getShippingAddress()->setStreet('123');
     $event->setObject($shipment);
     Mage::getModel('dhlaccount/observer')->dhlIntrashipShipmentLoadAfter($event);
     $this->assertTrue(is_array($shipment->getCustomerAddress()));
     $customerAddress = $shipment->getCustomerAddress();
     $this->assertTrue(array_key_exists('id_number', $customerAddress));
     $this->assertEquals('567', $customerAddress['id_number']);
     $this->assertTrue(array_key_exists('station_id', $customerAddress));
     $this->assertEquals('123', $customerAddress['station_id']);
 }
Exemplo n.º 25
0
 /**
  * @test
  * @loadFixture testPaymentMethodIsActive
  */
 public function testPaymentMethodIsActive()
 {
     $model = Mage::getModel('debit/debit');
     $checkResult = new StdClass();
     $checkResult->isAvailable = true;
     $observer = new Varien_Event_Observer();
     $event = new Varien_Event();
     $event->setData('method_instance', $model);
     $event->setData('result', $checkResult);
     $observer->setData('method_instance', $model);
     $observer->setData('result', $checkResult);
     $observer->setEvent($event);
     $this->_model->paymentMethodIsActive($observer);
     $this->assertTrue($observer->getEvent()->getResult()->isAvailable);
 }
Exemplo n.º 26
0
 /**
  * Checkes the observer's event_regex against event's name
  *
  * @param Varien_Event $event
  * @return boolean
  */
 public function isValidFor(Varien_Event $event)
 {
     return preg_match($this->getEventRegex(), $event->getName());
 }
Exemplo n.º 27
0
 /**
  * Checkes the observer's event_regex against event's name
  *
  * @param Varien_Event $event
  * @return boolean
  */
 public function isValidFor(Varien_Event $event)
 {
     return $this->getEventName() === $event->getName();
 }
Exemplo n.º 28
0
 /**
  * handles the event adminhtml_cache_refresh_type
  * @param Varien_Event $observer
  */
 public function cacheRefreshType($observer)
 {
     if ($observer->getType() === 'cssoptim') {
         $this->refreshCssOptimCache('adminhtml_cache_refresh_type');
     }
 }