/** * @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()); }
function sendOrderMail($data) { require_once '../app/Mage.php'; Mage::app(); if (isset($data['order_id']) && trim($data['order_id']) != '') { $order = Mage::getModel('sales/order')->loadByIncrementId(trim($data['order_id'])); $orderId = $order->getId(); if ($orderId) { $orderLoad = Mage::getModel('sales/order')->load($orderId); $orderLoad->sendNewOrderEmail(); $proArr['message'] = "sent"; $proArr['status'] = 'ok'; $sms = new Celusion_SMSConneXion_Model_Observer(); $observer = new Varien_Event_Observer(); $observer->setData(array('order_ids' => array(0 => $orderId))); $sms->sendOrderAlerts($observer); } else { $proArr['message'] = "order_id doesnot match"; $proArr['status'] = 'failed'; } } else { $proArr['message'] = "order_id is required"; $proArr['status'] = 'failed'; } return $proArr; }
public function testCheckAvailableReorder() { $orderMock = $this->mockModel('sales/order', array('load')); $id = 1; $incrementId = 10001; $orderMock->setId($id)->setData('increment_id', $incrementId); $orderMock->expects($this->any())->method('load')->will($this->returnValue($orderMock)); $helperMock = $this->mockHelper('xcom_channelorder', array('isChannelOrder')); $helperMock->expects($this->once())->method('isChannelOrder')->will($this->returnValue(true)); //mock request model for controller $requestMock = $this->getMock('stdClass', array('getParam', 'setParam')); $requestMock->expects($this->any())->method('getParam')->with($this->equalTo('order_id'))->will($this->returnValue($id)); $requestMock->expects($this->any())->method('setParam')->with($this->equalTo('order_id'))->will($this->returnValue($id)); //mock controller for observer $controllerMock = $this->getMock('stdClass', array('getRequest')); $controllerMock->expects($this->any())->method('getRequest')->will($this->returnValue($requestMock)); $observer = new Varien_Event_Observer(); $observer->setData('controller_action', $controllerMock); //process $this->_object->checkAvailableReorder($observer); /** @var $session Mage_Adminhtml_Model_Session_Quote */ $session = Mage::getSingleton('adminhtml/session'); $errors = $session->getMessages()->getErrors(); //test errors count $countErrors = 1; $this->assertEquals($countErrors, count($errors)); /** @var $error Mage_Core_Model_Message_Error */ $error = $errors[0]; $this->assertEquals('Order #' . $incrementId . ' cannot be reordered because it is from external marketplace.', $error->getText()); //clean errors $session->getMessages(true); /** * Test skipping order which is not external */ $helperMock = $this->mockHelper('xcom_channelorder', array('isChannelOrder')); $helperMock->expects($this->once())->method('isChannelOrder')->will($this->returnValue(false)); //process $this->_object->checkAvailableReorder($observer); //test errors count $errors = $session->getMessages()->getErrors(); $countErrors = 0; $this->assertEquals($countErrors, count($errors)); //clean errors $session->getMessages(true); /** * Test skipping order which not found */ $orderMock->setId(null); /** * Process * NOTE: Method Xcom_ChannelOrder_Helper_Data::isChannelOrder() must not run */ $this->_object->checkAvailableReorder($observer); //test errors count $errors = $session->getMessages()->getErrors(); $countErrors = 0; $this->assertEquals($countErrors, count($errors)); //clean errors $session->getMessages(true); }
/** * 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; }
/** * @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); }
/** * @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); } }
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; }
private function prepareStockItemObserver(Mage_Catalog_Model_Product $product) { /** @var $stockItem Mage_CatalogInventory_Model_Stock_Item */ $stockItem = Mage::getModel('cataloginventory/stock_item'); $stockItem->loadByProduct($product->getId())->setProductId($product->getId()); foreach ($product->getData('stock_item')->getData() as $key => $value) { $stockItem->setOrigData($key, $value); } $observer = new Varien_Event_Observer(); $observer->setEvent(new Varien_Event()); $observer->setData('item', $stockItem); return $observer; }
function sendChangePasswordMail($data) { include '../app/Mage.php'; Mage::init(); if (isset($data['user_id']) && trim($data['user_id']) != '' && isset($data['new_password']) && trim($data['new_password']) != '') { $customer = Mage::getModel('customer/customer')->load(trim($data['user_id'])); if ($customer->getEmail()) { $templateId = 2; //template id for sending customer data $mailTemplate = Mage::getModel('core/email_template'); $template_collection = $mailTemplate->load($templateId); $template_data = $template_collection->getData(); $templateId = $template_data['template_id']; $mailSubject = $template_data['template_subject']; $from_email = Mage::getStoreConfig('trans_email/ident_sales/email'); //fetch sender email $from_name = Mage::getStoreConfig('trans_email/ident_sales/name'); //fetch sender name $sender = array('name' => 'msupply', 'email' => '*****@*****.**'); $mailfirstname = $customer->getFirstname(); $vars = array('newpassword' => trim($data['new_password']), 'firstname' => $mailfirstname); $email = $customer->getEmail(); $storeId = Mage::app()->getStore()->getId(); $model = $mailTemplate->setReplyTo($sender['email'])->setTemplateSubject($mailSubject); $model->sendTransactional($templateId, $sender, $email, 'msupply', $vars, $storeId); //sms $sms = new Celusion_SMSConneXion_Model_Observer(); $observer = new Varien_Event_Observer(); $observer->setData(array('customer' => $customer)); $sms->sendUpdatePasswordAlertsApi($observer); $proArr['message'] = "sent"; $proArr['status'] = 'ok'; } else { $proArr['message'] = "user_id doesnot match"; $proArr['status'] = 'failed'; } } else { $proArr['message'] = "user_id and new_password is required"; $proArr['status'] = 'failed'; } return $proArr; }
/** * @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); }