Example #1
0
 /**
  * 
  * Enter description here ...
  * @param TBT_Rewards_Model_Salesrule_Rule $rule
  * @param Mage_Sales_Model_Quote $quote
  * @param Mage_Sales_Model_Quote_Address_Item $item
  */
 public function isValidRedemption(TBT_Rewards_Model_Salesrule_Rule $rule, $quote, $item)
 {
     $rule_id = $rule->getId();
     //@nelkaake -a 11/03/11: Firstly, only deal with points rules.
     if (!$rule->isPointsRule()) {
         return false;
     }
     if (!$rule->isRedemptionRule()) {
         return false;
     }
     if (!$rule->getActions()->validate($item)) {
         return false;
     }
     return true;
 }
Example #2
0
 /**
  * Safe method of checking if a rule is a points rule.
  * @param TBT_Rewards_Model_Salesrule_Rule|TBT_Rewards_Model_Catalogrule_Rule|Mage_CatalogRule_Model_Rule|Mage_SalesRule_Model_Rule $rule
  */
 public function isPointsRule($rule)
 {
     if ($rule instanceof TBT_Rewards_Model_Salesrule_Rule || $rule instanceof TBT_Rewards_Model_Catalogrule_Rule) {
         return $rule->isPointsRule();
     }
     if ($rule instanceof Mage_CatalogRule_Model_Rule) {
         $rule = Mage::helper('rewards/rule')->getCatalogrule($rule->getId());
         return $rule->isPointsRule();
     }
     if ($rule instanceof Mage_SalesRule_Model_Rule) {
         $rule = Mage::helper('rewards/rule')->getSalesRule($rule->getId());
         return $rule->isPointsRule();
     }
     Mage::logException(new Exception("Reached Helper_Rule::isPointsRule() with parameter that is not a catalog rule or cart or catalog rule."));
 }