public function fetch(Mage_Sales_Model_Quote_Address $address)
 {
     $amount = $address->getDiscountAmount();
     if ($amount != 0) {
         if ($amount > 0) {
             $title = Mage::helper('sales')->__('Discount');
         } else {
             $title = Mage::helper('sales')->__('Surcharge');
         }
         if ($code = $address->getCouponCode()) {
             if ($amount > 0) {
                 $title = Mage::helper('sales')->__('Discount (%s)', $code);
             } else {
                 $title = Mage::helper('sales')->__('Surcharge (%s)', $code);
             }
         }
         $address->addTotal(array('code' => $this->getCode(), 'title' => $title, 'value' => -$amount, 'full_info' => $address->getFullDescr()));
     }
     return $this;
 }
Esempio n. 2
0
 /**
  * Add rule discount description label to address object
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @param   Mage_SalesRule_Model_Rule $rule
  * @return  Mage_SalesRule_Model_Validator
  */
 protected function _addDiscountDescription($address, $rule)
 {
     $description = $address->getDiscountDescriptionArray();
     $ruleLabel = $rule->getStoreLabel($address->getQuote()->getStore());
     $label = '';
     if ($ruleLabel) {
         $label = $ruleLabel;
     } else {
         if (strlen($address->getCouponCode())) {
             $label = $address->getCouponCode();
         }
     }
     if (strlen($label)) {
         $description[$rule->getId()] = $label;
     }
     $address->setDiscountDescriptionArray($description);
     return $this;
 }
Esempio n. 3
0
 public function fetch(Mage_Sales_Model_Quote_Address $address)
 {
     $amount = $address->getDiscountAmount();
     if ($amount != 0) {
         $title = Mage::helper('sales')->__('Discount');
         $code = $address->getCouponCode();
         if (strlen($code)) {
             $title = Mage::helper('sales')->__('Discount (%s)', $code);
         }
         $address->addTotal(array('code' => $this->getCode(), 'title' => $title, 'value' => -$amount));
     }
     return $this;
 }
Esempio n. 4
0
 /**
  * Add the rule label to the address for later usage
  *
  * @param Mage_Sales_Model_Quote_Address $address
  * @param Mage_SalesRule_Model_Rule      $rule
  *
  * @return $this
  */
 protected function addRuleDescription(Mage_Sales_Model_Quote_Address $address, Mage_SalesRule_Model_Rule $rule)
 {
     $descriptions = $address->getDiscountDescriptionArray();
     $label = trim($rule->getStoreLabel($address->getQuote()->getStore()));
     if (empty($label) && strlen($address->getCouponCode())) {
         $label = $address->getCouponCode();
     }
     if (!empty($label)) {
         $descriptions[$rule->getId()] = $label;
     }
     $address->setDiscountDescriptionArray($descriptions);
     return $this;
 }