Esempio n. 1
0
 /**
  * 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;
 }
Esempio n. 2
0
 public function getRule()
 {
     foreach ($this->getRules() as $rule) {
         $matched_rule = TBT_Rewards_Model_Catalogrule_Rule::wrap($rule);
         return $matched_rule;
     }
     return null;
 }
Esempio n. 3
0
 /**
  * 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;
 }
Esempio n. 4
0
 /**
  * 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;
 }
Esempio n. 5
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."));
 }