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; }
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; }
/** * 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; }
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; }
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; }
/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }