コード例 #1
0
ファイル: Abstract.php プロジェクト: rajarshc/Rooja
 /**
  * Ensures that the given product model is a rewards catlaog product
  *
  * @param mixed $product
  * @return TBT_Rewards_Model_Catalog_Product
  */
 private function ensureProduct($product)
 {
     if ($product == null) {
         $product = $this->getProduct();
     }
     if ($product instanceof Mage_Catalog_Model_Product) {
         $product = TBT_Rewards_Model_Catalog_Product::wrap($product);
     }
     return $product;
 }
コード例 #2
0
ファイル: Predictpoints.php プロジェクト: rajarshc/Rooja
 /**
  * Set the product to create the predict points block for.
  *
  * @param TBT_Rewards_Model_Catalog_Product $_product
  */
 public function setProduct($_product)
 {
     if (!$_product instanceof TBT_Rewards_Model_Catalog_Product) {
         $_product = TBT_Rewards_Model_Catalog_Product::wrap($_product);
     }
     $this->product = $_product;
     //@nelkaake Wednesday March 10, 2010 10:04:42 PM : New caching functionality
     //@nelkaake -m 5/11/10: new key generation functionality
     $this->setCacheKey($this->_genCacheKey());
     return $this;
 }
コード例 #3
0
ファイル: Optimize.php プロジェクト: rajarshc/Rooja
 /**
  * Returns an array of the lowest possible price using points, 
  * and the points used to obtain that price
  * 
  * @deprecated
  * 
  * @param TBT_Rewards_Model_Catalog_Product $product 
  * @return array
  */
 public function getRewardAdjustedPrice($product)
 {
     if ($product instanceof Mage_Catalog_Model_Product) {
         $product = TBT_Rewards_Model_Catalog_Product::wrap($product);
     }
     if (!$product instanceof TBT_Rewards_Model_Catalog_Product) {
         $product = Mage::getModel('rewards/catalog_product')->load($product->getId());
     }
     $optimized_price = $product->getRewardAdjustedPrice();
     return $optimized_price;
 }
コード例 #4
0
ファイル: Transfer.php プロジェクト: rajarshc/Rooja
 /**
  * returns an empty product if the product model could not be found
  *
  * @param   Mage_Sales_Model_Quote_Item||TBT_Rewards_Model_Catalog_Product $item				: the catalog item associated
  * @return TBT_Rewards_Model_Catalog_Product
  */
 private function assureProduct($item)
 {
     if ($item instanceof TBT_Rewards_Model_Catalog_Product) {
         $product =& $item;
     } else {
         if ($item instanceof Mage_Catalog_Model_Product) {
             $product = $this->assureProduct(TBT_Rewards_Model_Catalog_Product::wrap($item));
         } else {
             if ($this->hasGetProductFunc($item)) {
                 $product = $item->getProduct();
                 if (empty($product)) {
                     $product = Mage::getModel('rewards/catalog_product');
                 }
             } else {
                 $product = Mage::getModel('rewards/catalog_product');
             }
         }
     }
     return $product;
 }
コード例 #5
0
ファイル: RedeemController.php プロジェクト: rajarshc/Rooja
 /**
  * AJAX CALL. return a list of rules given a product and product price
  * param product_id
  * param rule_id
  * param price
  */
 public function getProductPriceRuleSettingsAction()
 {
     try {
         //$storeId = $product->getStoreId();
         //  Mage::app()->getStore($storeId);
         /* @var $store Mage_Core_Model_Store */
         $store = Mage::app()->getStore();
         /* @var $product Mage_Catalog_Model_Product */
         $productId = $this->getRequest()->get("productId");
         $product = Mage::getModel('catalog/product')->setStoreId($store->getId())->load($productId);
         if (!$product->getId()) {
             throw new Exception("Product ID provided does not exist");
         }
         if ($product instanceof Mage_Catalog_Model_Product) {
             $product = TBT_Rewards_Model_Catalog_Product::wrap($product);
         }
         /* @var $customer TBT_Rewards_Model_Customer */
         $customer = false;
         // set to false becaue getCatalogRedemptionRules( false | customer )
         if (Mage::getSingleton('rewards/session')->isCustomerLoggedIn()) {
             $customer = Mage::getSingleton('rewards/session')->getCustomer();
         }
         $price = (double) $this->getRequest()->get("price");
         $productPriceRuleMap = array();
         $applicableRules = $product->getCatalogRedemptionRules($customer);
         foreach ($applicableRules as $i => &$r) {
             $r = (array) $r;
             $ruleId = $r[TBT_Rewards_Model_Catalogrule_Rule::POINTS_RULE_ID];
             $rule = Mage::getModel('rewards/catalogrule_rule')->load($ruleId);
             if ($rule->getId()) {
                 $productPriceRuleMap[$ruleId] = $rule->getPointSliderSettings($store, $product, $customer, $price);
             }
         }
         echo json_encode($productPriceRuleMap);
     } catch (Exception $e) {
         die("Error: " . $e->getMessage());
     }
 }