/**
  * Clear customer segment indexer if customer segment is on|off on backend
  *
  * @param Varien_Event_Observer $observer
  * @return Enterprise_TargetRule_Model_Observer
  */
 public function coreConfigSaveCommitAfter(Varien_Event_Observer $observer)
 {
     if ($observer->getDataObject()->getPath() == 'customer/enterprise_customersegment/is_enabled' && $observer->getDataObject()->isValueChanged()) {
         Mage::getSingleton('index/indexer')->logEvent(new Varien_Object(array('type_id' => null, 'store' => null)), Enterprise_TargetRule_Model_Index::ENTITY_TARGETRULE, Enterprise_TargetRule_Model_Index::EVENT_TYPE_CLEAN_TARGETRULES);
         Mage::getSingleton('index/indexer')->indexEvents(Enterprise_TargetRule_Model_Index::ENTITY_TARGETRULE, Enterprise_TargetRule_Model_Index::EVENT_TYPE_CLEAN_TARGETRULES);
     }
     return $this;
 }
예제 #2
0
 /**
  * Entry point for the observer.
  *
  * @param Varien_Event_Observer $observer
  * @return \Rubic_MigrationHelper_Model_Observer
  */
 public function configSaveAfter($observer)
 {
     $data = $observer->getDataObject();
     if ($data->isValueChanged()) {
         /**
          * Generate a message from migration data.
          */
         $migration = array('path' => $data->getPath(), 'value' => $data->getValue(), 'scope' => $data->getScope(), 'scope_id' => $data->getScopeId());
         $message = Mage::getModel('migration_helper/message_migration', $migration);
         /**
          * Log the migration, just in case.
          */
         Mage::log($migration, null, 'migrations.log');
         /**
          * Generate a physical migration if module is configured that way.
          */
         if ($this->_doGenerateMigrations()) {
             $this->_generateMigration($message);
         }
         /**
          * Add the message to the admin session.
          */
         $this->_getAdminSession()->addMessage($message);
     }
     return $this;
 }
예제 #3
0
 public function sendVoucherOnStatusChange(Varien_Event_Observer $observer)
 {
     $order = $observer->getDataObject();
     $incrementId = $order->getIncrementId();
     if (!in_array($order->getStatus(), explode(',', Mage::getStoreConfig('voucher_options/configs/order_status_admin')))) {
         return;
     }
     $vouchers = Mage::getModel('voucher/vouchers')->getCollection()->addFieldToFilter('order_increment_id', $incrementId);
     foreach ($vouchers as $voucher) {
         $this->_sendVoucherEmail($voucher, $order);
     }
 }
예제 #4
0
파일: Observer.php 프로젝트: quyip8818/Mag
 /**
  * Attach children products after product load
  * Observes: catalog_product_load_after
  *
  * @param Varien_Event_Observer $observer
  */
 public function productLoadAfter(Varien_Event_Observer $observer)
 {
     if (!Mage::helper('configurableswatches')->isEnabled()) {
         // functionality disabled
         return;
         // exit without loading swatch functionality
     }
     /* @var $helper Mage_ConfigurableSwatches_Helper_Mediafallback */
     $helper = Mage::helper('configurableswatches/mediafallback');
     /* @var $product Mage_Catalog_Model_Product */
     $product = $observer->getDataObject();
     if ($product->getTypeId() != Mage_Catalog_Model_Product_Type_Configurable::TYPE_CODE) {
         return;
     }
     $helper->groupMediaGalleryImages($product);
     $helper->attachConfigurableProductChildrenAttributeMapping(array($product), $product->getStoreId());
 }
 /**
  * Resave exception rules to cache storage
  *
  * @param Varien_Event_Observer $observer
  * @return Enterprise_PageCache_Model_Observer
  */
 public function registerDesignExceptionsChange(Varien_Event_Observer $observer)
 {
     $object = $observer->getDataObject();
     Enterprise_PageCache_Model_Cache::getCacheInstance()->save($object->getValue(), Enterprise_PageCache_Model_Processor::DESIGN_EXCEPTION_KEY, array(Enterprise_PageCache_Model_Processor::CACHE_TAG));
     return $this;
 }
 public function saveProduct(Varien_Event_Observer $observer)
 {
     $product = $observer->getDataObject();
     $product = Mage::getModel('catalog/product')->load($product->getId());
     Algolia_Algoliasearch_Model_Indexer_Algolia::$product_categories[$product->getId()] = $product->getCategoryIds();
 }
예제 #7
0
 public function onStockItemSaveAfter(Varien_Event_Observer $observer)
 {
     if ($observer->getDataObject() && $observer->getDataObject()->getProductId()) {
         $productId = $observer->getDataObject()->getProductId();
         Mirasvit_Fpc_Model_Cache::getCacheInstance()->clean('CATALOG_PRODUCT_' . $productId);
     }
 }
예제 #8
0
 /**
  * Method observes core_abstract_save_after event
  * as far as Enterprise_Rma_Model_Rma doesn't have own event prefix
  *
  * @param Varien_Event_Observer $observer
  */
 public function rmaSaveAfter(Varien_Event_Observer $observer)
 {
     try {
         /* will listen to Enterprise_Rma_Model_Rma only*/
         $dataObject = $observer->getDataObject();
         if (get_class($dataObject) === 'Enterprise_Rma_Model_Rma') {
             if ($dataObject->getStatus() == 'closed') {
                 //send partial order return message
             }
         }
     } catch (Exception $exception) {
         $this->_handleException($exception);
     }
 }