public function viewformAction()
 {
     // Prepare data
     $configureResult = new Varien_Object();
     try {
         $orderItemId = (int) $this->getRequest()->getParam('item_id');
         if (!$orderItemId) {
             Mage::throwException($this->__('Quote item id is not received.'));
         }
         $orderItem = Mage::getModel('sales/order_item')->load($orderItemId);
         if (!$orderItem->getId()) {
             Mage::throwException($this->__('Quote item is not loaded.'));
         }
         $configureResult->setOk(true);
         $configureResult->setBuyRequest($orderItem->getBuyRequest());
         $configureResult->setCurrentStoreId($orderItem->getStoreId());
         $configureResult->setProductId($orderItem->getProductId());
     } catch (Exception $e) {
         $configureResult->setError(true);
         $configureResult->setMessage($e->getMessage());
     }
     // Render page
     /* @var $helper Mage_Adminhtml_Helper_Catalog_Product_Composite */
     $helper = Mage::helper('spacemariachi_custopt');
     $helper->renderConfigureResult($this, $configureResult);
     return $this;
 }
 /**
  * Ajax handler to response configuration fieldset of composite product in customer's wishlist
  *
  * @return Mage_Adminhtml_Customer_Wishlist_Product_Composite_WishlistController
  */
 public function configureAction()
 {
     $configureResult = new Varien_Object();
     try {
         $this->_initData();
         $configureResult->setProductId($this->_wishlistItem->getProductId());
         $configureResult->setBuyRequest($this->_wishlistItem->getBuyRequest());
         $configureResult->setCurrentStoreId($this->_wishlistItem->getStoreId());
         $configureResult->setCurrentCustomerId($this->_wishlist->getCustomerId());
         $configureResult->setOk(true);
     } catch (Exception $e) {
         $configureResult->setError(true);
         $configureResult->setMessage($e->getMessage());
     }
     /* @var $helper Mage_Adminhtml_Helper_Catalog_Product_Composite */
     $helper = Mage::helper('adminhtml/catalog_product_composite');
     $helper->renderConfigureResult($this, $configureResult);
     return $this;
 }
Example #3
0
 public function configureProductToAddAction()
 {
     echo 'okk';
     return;
     // Prepare data
     $productId = (int) $this->getRequest()->getParam('id');
     $configureResult = new Varien_Object();
     $configureResult->setOk(true);
     $configureResult->setProductId($productId);
     $sessionQuote = Mage::getSingleton('adminhtml/session_quote');
     $configureResult->setCurrentStoreId($sessionQuote->getStore()->getId());
     $configureResult->setCurrentCustomerId($sessionQuote->getCustomerId());
     // Render page
     /* @var $helper Mage_Adminhtml_Helper_Catalog_Product_Composite */
     $helper = Mage::helper('adminhtml/catalog_product_composite');
     $helper->renderConfigureResult($this, $configureResult);
     echo $this->_lens($productId);
     return $this;
 }
Example #4
0
 /**
  * Prepare collection of errors
  *
  * @return Enterprise_Checkout_Block_Adminhtml_Sku_Errors_Grid
  */
 protected function _prepareCollection()
 {
     $collection = new Varien_Data_Collection();
     $removeButtonHtml = $this->getLayout()->createBlock('adminhtml/widget_button', '', array('class' => 'delete', 'label' => '', 'onclick' => 'addBySku.removeFailedItem(this)', 'type' => 'button'))->toHtml();
     /* @var $parentBlock Enterprise_Checkout_Block_Adminhtml_Sku_Errors_Abstract */
     $parentBlock = $this->getParentBlock();
     foreach ($parentBlock->getFailedItems() as $affectedItem) {
         // Escape user-submitted input
         if (isset($affectedItem['item']['qty'])) {
             $affectedItem['item']['qty'] = empty($affectedItem['item']['qty']) ? '' : (double) $affectedItem['item']['qty'];
         }
         $item = new Varien_Object();
         $item->setCode($affectedItem['code']);
         if (isset($affectedItem['error'])) {
             $item->setError($affectedItem['error']);
         }
         $item->addData($affectedItem['item']);
         $item->setId($item->getSku());
         /* @var $product Mage_Catalog_Model_Product */
         $product = Mage::getModel('catalog/product');
         if (isset($affectedItem['item']['id'])) {
             $productId = $affectedItem['item']['id'];
             $item->setProductId($productId);
             $product->load($productId);
             /* @var $stockStatus Mage_CatalogInventory_Model_Stock_Status */
             $stockStatus = Mage::getModel('cataloginventory/stock_status');
             $status = $stockStatus->getProductStatus($productId, $this->getWebsiteId());
             if (!empty($status[$productId])) {
                 $product->setIsSalable($status[$productId]);
             }
             $item->setPrice(Mage::helper('core')->formatPrice($product->getPrice()));
         }
         $descriptionBlock = $this->getLayout()->createBlock('enterprise_checkout/adminhtml_sku_errors_grid_description', '', array('product' => $product, 'item' => $item));
         $item->setDescription($descriptionBlock->toHtml());
         $item->setRemoveButton($removeButtonHtml);
         $collection->addItem($item);
     }
     $this->setCollection($collection);
     return $this;
 }
Example #5
0
 public function configureQuoteItemsAction()
 {
     // Prepare data
     $configureResult = new Varien_Object();
     try {
         $quoteItemId = (int) $this->getRequest()->getParam('id');
         if (!$quoteItemId) {
             Mage::throwException($this->__('Quote item id is not received.'));
         }
         $quoteItem = Mage::getModel('buyback/quote_item')->load($quoteItemId);
         if (!$quoteItem->getId()) {
             Mage::throwException($this->__('Quote item is not loaded.'));
         }
         $configureResult->setOk(true);
         $optionCollection = Mage::getModel('buyback/quote_item_option')->getCollection()->addItemFilter(array($quoteItemId));
         $quoteItem->setOptions($optionCollection->getOptionsByItem($quoteItem));
         $configureResult->setBuyRequest($quoteItem->getBuyRequest());
         $configureResult->setCurrentStoreId($quoteItem->getStoreId());
         $configureResult->setProductId($quoteItem->getProductId());
         $sessionQuote = Mage::getSingleton('adminhtml/session_quote');
         $configureResult->setCurrentCustomerId($sessionQuote->getCustomerId());
     } catch (Exception $e) {
         $configureResult->setError(true);
         $configureResult->setMessage($e->getMessage());
     }
     // Render page
     /* @var $helper Mage_Adminhtml_Helper_Catalog_Product_Composite */
     $helper = Mage::helper('adminhtml/catalog_product_composite');
     $helper->renderConfigureResult($this, $configureResult);
     return $this;
 }
Example #6
0
 private function _getProductInformationWork($item, $getInfo, $hasChildren, $children)
 {
     $getProduct = in_array('product', $getInfo);
     $getImage = in_array('image_url', $getInfo);
     $getLink = in_array('product_url', $getInfo);
     $result = new Varien_Object();
     $result->setProductId((int) $item->getProductId());
     $result->setIsConfigurable(false);
     $result->setIsBundle(false);
     $result->setSku($item->getSku());
     if (Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $item->getProductType() && $hasChildren) {
         $result->setIsConfigurable(true);
         $result->setParentId($result->getProductId());
         $result->setProductId((int) $children[0]->getProductId());
     }
     if (Mage_Catalog_Model_Product_Type::TYPE_BUNDLE == $item->getProductType() && $hasChildren) {
         $result->setIsBundle(true);
         $product = Mage::getModel('catalog/product')->load($result->getProductId());
         $result->setSku($product->getSku());
         $result->setProduct($product);
     } else {
         if ($getProduct || $getImage || $getLink && !$result->getIsConfigurable()) {
             $result->setProduct(Mage::getModel('catalog/product')->load($result->getProductId()));
         }
     }
     if ($getLink) {
         $result->setProductUrl($this->getProductUrl($result->getIsConfigurable() ? Mage::getModel('catalog/product')->load($result->getParentId()) : $result->getProduct()));
     }
     if ($getImage) {
         $result->setImageUrl($this->getProductImage($result['product']));
     }
     return $result;
 }
Example #7
0
 /**
  * Ajax handler to response configuration fieldset of composite product in customer's cart
  *
  * @return Mage_Adminhtml_Customer_Cart_Product_Composite_CartController
  */
 public function configureAction()
 {
     $configureResult = new Varien_Object();
     try {
         $this->_initData();
         $quoteItem = $this->_quoteItem;
         $optionCollection = Mage::getModel('Mage_Sales_Model_Quote_Item_Option')->getCollection()->addItemFilter($quoteItem);
         $quoteItem->setOptions($optionCollection->getOptionsByItem($quoteItem));
         $configureResult->setOk(true);
         $configureResult->setProductId($quoteItem->getProductId());
         $configureResult->setBuyRequest($quoteItem->getBuyRequest());
         $configureResult->setCurrentStoreId($quoteItem->getStoreId());
         $configureResult->setCurrentCustomer($this->_customer);
     } catch (Exception $e) {
         $configureResult->setError(true);
         $configureResult->setMessage($e->getMessage());
     }
     /* @var $helper Mage_Adminhtml_Helper_Catalog_Product_Composite */
     $helper = Mage::helper('Mage_Adminhtml_Helper_Catalog_Product_Composite');
     $helper->renderConfigureResult($this, $configureResult);
     return $this;
 }
Example #8
0
 /**
  * Ajax handler to response configuration fieldset of composite product in customer's cart
  *
  * @return Mage_Adminhtml_Customer_Cart_Product_Composite_CartController
  */
 public function configureAction()
 {
     $configureResult = new Varien_Object();
     try {
         $this->_initData();
         $quoteItem = $this->_quoteItem;
         $optionCollection = Mage::getModel('sales/quote_item_option')->getCollection()->addItemFilter($quoteItem);
         $quoteItem->setOptions($optionCollection->getOptionsByItem($quoteItem));
         $configureResult->setOk(true);
         $configureResult->setProductId($quoteItem->getProductId());
         $configureResult->setBuyRequest($quoteItem->getBuyRequest());
         $configureResult->setCurrentStoreId($quoteItem->getStoreId());
         $configureResult->setCurrentCustomer($this->_customer);
     } catch (Exception $e) {
         $configureResult->setError(true);
         $configureResult->setMessage($e->getMessage());
     }
     /* @var $helper Mage_Adminhtml_Helper_Catalog_Product_Composite */
     $helper = Mage::helper('adminhtml/catalog_product_composite');
     // During order creation in the backend admin has ability to add any products to order
     Mage::helper('catalog/product')->setSkipSaleableCheck(true);
     $helper->renderConfigureResult($this, $configureResult);
     return $this;
 }
Example #9
0
 /**
  * Collect tax totals for quote address. If quote address doesn't have a
  * postal code or postal code is "-" (OneStepCheckout), no tax is requested
  * from Avatax. When selling to a country that doesn't require postal code
  * this could be a problem, but Avatax doesn't support those locations yet.
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @return  Mage_Tax_Model_Sales_Total_Quote
  */
 public function collect(Mage_Sales_Model_Quote_Address $address)
 {
     $this->_setAddress($address);
     parent::collect($address);
     if ($address->getPostcode() && $address->getPostcode() != '-') {
         $store = $address->getQuote()->getStore();
         /** @var OnePica_AvaTax_Model_Avatax_Estimate $calculator */
         $calculator = Mage::getModel('avatax/avatax_estimate');
         $address->setTotalAmount($this->getCode(), 0);
         $address->setBaseTotalAmount($this->getCode(), 0);
         $address->setTaxAmount(0);
         $address->setBaseTaxAmount(0);
         $address->setShippingTaxAmount(0);
         $address->setBaseShippingTaxAmount(0);
         //Added check for calculating tax for regions filtered in the admin
         if ($this->_isAddressActionable($address)) {
             /** @var Mage_Sales_Model_Quote_Item $item */
             foreach ($address->getAllItems() as $item) {
                 $item->setAddress($address);
                 $baseAmount = $calculator->getItemTax($item);
                 $giftBaseTaxTotalAmount = $calculator->getItemGiftTax($item);
                 $giftTaxTotalAmount = $store->convertPrice($giftBaseTaxTotalAmount);
                 $giftBaseTaxAmount = $this->_getDataHelper()->roundUp($giftBaseTaxTotalAmount / $item->getQty(), 2);
                 $giftTaxAmount = $store->convertPrice($giftBaseTaxAmount);
                 $amount = $store->convertPrice($baseAmount);
                 $percent = $calculator->getItemRate($item);
                 $item->setTaxAmount($amount);
                 $item->setBaseTaxAmount($baseAmount);
                 $item->setTaxPercent($percent);
                 $item->setGwBaseTaxAmount($giftBaseTaxAmount);
                 $item->setGwTaxAmount($giftTaxAmount);
                 $item->setPriceInclTax($item->getPrice() + $amount / $item->getQty());
                 $item->setBasePriceInclTax($item->getBasePrice() + $baseAmount / $item->getQty());
                 $item->setRowTotalInclTax($item->getRowTotal() + $amount);
                 $item->setBaseRowTotalInclTax($item->getBaseRowTotal() + $baseAmount);
                 if (!$calculator->isProductCalculated($item)) {
                     $this->_addAmount($amount);
                     $this->_addBaseAmount($baseAmount);
                 }
                 $this->_addAmount($giftTaxTotalAmount);
                 $this->_addBaseAmount($giftBaseTaxTotalAmount);
             }
             if ($address->getAddressType() == Mage_Sales_Model_Quote_Address::TYPE_SHIPPING || $address->getUseForShipping()) {
                 $shippingItem = new Varien_Object();
                 $shippingItem->setSku(Mage::helper('avatax')->getShippingSku($store->getId()));
                 $shippingItem->setProductId(Mage::helper('avatax')->getShippingSku($store->getId()));
                 $shippingItem->setAddress($address);
                 $baseShippingTax = $calculator->getItemTax($shippingItem);
                 $shippingTax = $store->convertPrice($baseShippingTax);
                 $shippingAmt = $address->getTotalAmount('shipping');
                 $baseShippingAmt = $address->getBaseTotalAmount('shipping');
                 $address->setShippingTaxAmount($shippingTax);
                 $address->setBaseShippingTaxAmount($baseShippingTax);
                 $address->setShippingInclTax($shippingAmt + $shippingTax);
                 $address->setBaseShippingInclTax($baseShippingAmt + $baseShippingTax);
                 $address->setShippingTaxable($shippingTax ? $shippingAmt : 0);
                 $address->setBaseShippingTaxable($baseShippingTax ? $baseShippingAmt : 0);
                 $address->setIsShippingInclTax(false);
                 $this->_addAmount($shippingTax);
                 $this->_addBaseAmount($baseShippingTax);
             }
             if ($address->getGwPrice() > 0) {
                 $gwOrderItem = new Varien_Object();
                 $gwOrderItem->setSku(Mage::helper('avatax')->getGwOrderSku($store->getId()));
                 $gwOrderItem->setProductId(Mage::helper('avatax')->getGwOrderSku($store->getId()));
                 $gwOrderItem->setAddress($address);
                 $baseGwOrderTax = $calculator->getItemTax($gwOrderItem);
                 $gwOrderTax = $store->convertPrice($baseGwOrderTax);
                 $address->setGwBaseTaxAmount($baseGwOrderTax);
                 $address->setGwTaxAmount($gwOrderTax);
                 $this->_addAmount($gwOrderTax);
                 $this->_addBaseAmount($baseGwOrderTax);
             }
             if ($address->getGwAddPrintedCard()) {
                 $gwPrintedCardItem = new Varien_Object();
                 $gwPrintedCardItem->setSku(Mage::helper('avatax')->getGwPrintedCardSku($store->getId()));
                 $gwPrintedCardItem->setProductId(Mage::helper('avatax')->getGwPrintedCardSku($store->getId()));
                 $gwPrintedCardItem->setAddress($address);
                 $baseGwPrintedCardTax = $calculator->getItemTax($gwPrintedCardItem);
                 $gwPrintedCardTax = $store->convertPrice($baseGwPrintedCardTax);
                 $address->setGwPrintedCardBaseTaxAmount($baseGwPrintedCardTax);
                 $address->setGwPrintedCardTaxAmount($gwPrintedCardTax);
                 $this->_addAmount($gwPrintedCardTax);
                 $this->_addBaseAmount($baseGwPrintedCardTax);
             }
         }
     }
     return $this;
 }
Example #10
0
 /**
  * Apply gift wrapping tax
  *
  * @param Mage_Sales_Model_Quote_Address         $address
  * @param Mage_Core_Model_Store|int              $store
  * @param OnePica_AvaTax_Model_Action_Calculator $calculator
  * @return $this
  */
 protected function _applyGwTax(Mage_Sales_Model_Quote_Address $address, $store, $calculator)
 {
     if ($address->getGwPrice() > 0) {
         $gwOrderItem = new Varien_Object();
         $gwOrderItem->setId(Mage::helper('avatax/config')->getGwOrderSku($store->getId()));
         $gwOrderItem->setProductId(Mage::helper('avatax/config')->getGwOrderSku($store->getId()));
         $gwOrderItem->setAddress($address);
         $baseGwOrderTax = $calculator->getItemTax($gwOrderItem);
         $gwOrderTax = $store->convertPrice($baseGwOrderTax);
         $address->setGwBaseTaxAmount($baseGwOrderTax);
         $address->setGwTaxAmount($gwOrderTax);
         if ($this->_getTaxDataHelper()->priceIncludesTax($store)) {
             $gwBasePriceAmount = $address->getGwBasePrice() - $baseGwOrderTax;
             $gwPriceAmount = $store->convertPrice($gwBasePriceAmount);
             $address->setGwBasePrice($gwBasePriceAmount);
             $address->setGwPrice($gwPriceAmount);
             $address->setGrandTotal($address->getGrandTotal() - $gwOrderTax);
             $address->setBaseGrandTotal($address->getBaseGrandTotal() - $baseGwOrderTax);
         }
         $this->_addAmount($gwOrderTax);
         $this->_addBaseAmount($baseGwOrderTax);
     }
     if ($address->getGwAddPrintedCard()) {
         $gwPrintedCardItem = new Varien_Object();
         $gwPrintedCardItem->setId(Mage::helper('avatax/config')->getGwPrintedCardSku($store->getId()));
         $gwPrintedCardItem->setProductId(Mage::helper('avatax/config')->getGwPrintedCardSku($store->getId()));
         $gwPrintedCardItem->setAddress($address);
         $baseGwPrintedCardTax = $calculator->getItemTax($gwPrintedCardItem);
         $gwPrintedCardTax = $store->convertPrice($baseGwPrintedCardTax);
         $address->setGwPrintedCardBaseTaxAmount($baseGwPrintedCardTax);
         $address->setGwPrintedCardTaxAmount($gwPrintedCardTax);
         if ($this->_getTaxDataHelper()->priceIncludesTax($store)) {
             $baseGwPrintedCardAmount = $address->getGwCardBasePrice() - $baseGwPrintedCardTax;
             $gwPrintedCardAmount = $store->convertPrice($baseGwPrintedCardAmount);
             $address->setGwCardPrice($gwPrintedCardAmount);
             $address->setGwCardBasePrice($baseGwPrintedCardAmount);
             $address->setGrandTotal($address->getGrandTotal() - $gwPrintedCardTax);
             $address->setBaseGrandTotal($address->getBaseGrandTotal() - $baseGwPrintedCardTax);
         }
         $this->_addAmount($gwPrintedCardTax);
         $this->_addBaseAmount($baseGwPrintedCardTax);
     }
     return $this;
 }