/** * @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; }
/** * 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; }
/** * @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); }
/** * 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); }
/** * @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); }
/** * 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; }
/** * 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; }
/** * @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); } }
/** * @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."); }
/** * 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; }
/** * 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); }
/** * @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)); } } }
/** * 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; }
/** * 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']); }
/** * @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); }
/** * 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()); }
/** * 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(); }
/** * 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'); } }