/** * Checks to see if a rewardscatalogrule is valid * * @param TBT_Rewards_Model_Catalogrule_Rule $rule * @param integer $cgid * @param integer $wid * @return boolean true if the catalog rule is valid for the given parameters */ public function isValid($rule, $cgid, $wid) { $is_in_group = $rule->isApplicableToCustomerGroup($cgid); $is_in_website = $rule->isApplicableToWebsite($wid); $is_valid = $is_in_group && $is_in_website; return $is_valid; }
public function getRule() { foreach ($this->getRules() as $rule) { $matched_rule = TBT_Rewards_Model_Catalogrule_Rule::wrap($rule); return $matched_rule; } return null; }
/** * Returns a list of (rewards) catalog rule labels * @param TBT_Rewards_Model_Catalogrule_Rule $rule * @return Mage_Core_Model_Mysql4_Collection_Abstract */ public function getRuleLabels(TBT_Rewards_Model_Catalogrule_Rule $rule) { $ruleId = $rule->getId(); $ruleLabels = $this->getCollection()->addFieldToFilter('rule_id', $ruleId); return $ruleLabels; }
/** * Calculates how many points * * @param TBT_Rewards_Model_Catalogrule_Rule|int $rule : id or model * @return array */ public function getCatalogPointsForRule($rule) { if ($rule instanceof TBT_Rewards_Model_Catalogrule_Rule) { $rule_id = $rule->getId(); } else { $rule_id = $rule; } // calculate the proper points quantity based on rule and item $points = Mage::helper('rewards/transfer')->calculateCatalogPoints($rule_id, $this, true); return $points; }
/** * 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.")); }