/**
  * @event salesrule_rule_condition_combine
  * @param Varien_Event_Observer $observer
  * @return $this
  */
 public function addFiltersToSalesRuleCombine(Varien_Event_Observer $observer)
 {
     /** @noinspection PhpUndefinedMethodInspection */
     /** @var Varien_Object $additional */
     $additional = $observer->getAdditional();
     /** @noinspection PhpUndefinedMethodInspection */
     $conditions = $additional->getConditions() ?: array();
     $conditions = array_merge_recursive(array(array('label' => Mage::helper('adyen_subscription')->__('Adyen Subscription'), 'value' => array(array('label' => Mage::helper('adyen_subscription')->__('Product Subscription ID'), 'value' => 'adyen_subscription/salesRule_condition_productSubscription'), array('label' => Mage::helper('adyen_subscription')->__('Number of subscription order'), 'value' => 'adyen_subscription/salesRule_condition_quoteCount')))), $conditions);
     /** @noinspection PhpUndefinedMethodInspection */
     $additional->setConditions($conditions);
     return $this;
 }
示例#2
0
 /**
  * Add Customer Segment condition to the salesrule management
  *
  * @param Varien_Event_Observer $observer
  */
 public function addSegmentsToSalesRuleCombine(Varien_Event_Observer $observer)
 {
     if (!Mage::helper('enterprise_customersegment')->isEnabled()) {
         return;
     }
     $transport = $observer->getAdditional();
     $cond = $transport->getConditions();
     if (!is_array($cond)) {
         $cond = array();
     }
     $cond[] = array('value' => 'enterprise_customersegment/segment_condition_segment', 'label' => Mage::helper('enterprise_customersegment')->__('Customer Segment'));
     $transport->setConditions($cond);
 }
示例#3
0
 /**
  * Adds new conditions
  * @param   Varien_Event_Observer $observer
  */
 public function handleNewConditions($observer)
 {
     $transport = $observer->getAdditional();
     $cond = $transport->getConditions();
     if (!is_array($cond)) {
         $cond = array();
     }
     $types = array('customer' => 'Customer attributes', 'orders' => 'Purchases history');
     foreach ($types as $typeCode => $typeLabel) {
         $condition = Mage::getModel('amrules/rule_condition_' . $typeCode);
         $conditionAttributes = $condition->loadAttributeOptions()->getAttributeOption();
         $attributes = array();
         foreach ($conditionAttributes as $code => $label) {
             $attributes[] = array('value' => 'amrules/rule_condition_' . $typeCode . '|' . $code, 'label' => $label);
         }
         $cond[] = array('value' => $attributes, 'label' => Mage::helper('amrules')->__($typeLabel));
     }
     $transport->setConditions($cond);
     return $this;
 }
 /**
  * Hook SalesRule condition combine and add extra conditions
  *
  * @param Varien_Event_Observer $observer
  * @return Varien_Event_Observer
  */
 public function onConditionCombine($observer)
 {
     /** @var RapidCampaign_Promotions_Helper_Config $configHelper */
     $configHelper = Mage::helper('rapidcampaign_promotions/config');
     // Module disabled
     if (!$configHelper->extensionEnabled()) {
         return $observer;
     }
     if (!Mage::registry('rapidcampaign/widget/created')) {
         return $observer;
     }
     /** @var RapidCampaign_Promotions_Model_Condition_Extra $extraCondition */
     $extraCondition = Mage::getModel('rapidcampaign_promotions/condition_extra');
     $extraAttributes = $extraCondition->loadAttributeOptions()->getAttributeOption();
     $attributes = array();
     foreach ($extraAttributes as $code => $label) {
         $attributes[] = array('value' => 'rapidcampaign_promotions/condition_extra|' . $code, 'label' => $label);
     }
     $additional = $observer->getAdditional();
     $conditions = (array) $additional->getConditions();
     $conditions = array_merge_recursive($conditions, $attributes);
     $additional->setConditions($conditions);
     $observer->setAdditional($additional);
     Mage::unregister('rapidcampaign/widget/created');
     return $observer;
 }
 /**
  * Add additional text to checkout review page if "cash on delivery" payment method is selected
  *
  * @param Varien_Event_Observer $observer
  * @event checkout_additional_information
  */
 public function addCheckoutAdditionalInformation(Varien_Event_Observer $observer)
 {
     /** @var $quote Mage_Sales_Model_Quote */
     $quote = Mage::getSingleton('checkout/session')->getQuote();
     if ($quote->getPayment()->getMethod() == 'cashondelivery') {
         $customText = $quote->getPayment()->getMethodInstance()->getCustomText();
         if ($customText) {
             $additionalObject = $observer->getAdditional();
             $text = (string) $additionalObject->getText();
             if ($text) {
                 $text .= '<br />';
             }
             $text .= $customText;
             $additionalObject->setText($text);
         }
     }
 }
 public function addKeywordCondition(Varien_Event_Observer $observer)
 {
     $additional = $observer->getAdditional();
     $conditions = (array) $additional->getConditions();
     $additional->setConditions(array_merge_recursive($conditions, array(array('value' => 'autobuypromotions/rule_condition_keyword', 'label' => Mage::helper('autobuypromotions')->__('Keywords')))));
 }