/**
  * @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());
 }
示例#2
0
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;
}
示例#3
0
 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);
 }
示例#4
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;
 }
 /**
  * @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);
 }
示例#6
0
文件: Xtest.php 项目: 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);
     }
 }
 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;
}
示例#10
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);
 }