public function validate(Varien_Object $object)
 {
     // for optimization if we no conditions
     if (!$this->getConditions()) {
         return true;
     }
     $origProduct = null;
     if ($object->getHasChildren() && $object->getProductType() == 'configurable') {
         //remember original product
         $origProduct = $object->getProduct();
         $origSku = $object->getSku();
         foreach ($object->getChildren() as $child) {
             // only one itereation.
             $categoryIds = array_merge($child->getProduct()->getCategoryIds(), $origProduct->getCategoryIds());
             $categoryIds = array_unique($categoryIds);
             $object->setProduct($child->getProduct());
             $object->setSku($child->getSku());
             $object->getProduct()->setCategoryIds($categoryIds);
         }
     }
     $result = @Mage_Rule_Model_Condition_Combine::validate($object);
     if ($origProduct) {
         // restore original product
         $object->setProduct($origProduct);
         $object->setSku($origSku);
     }
     return $result;
 }
Example #2
0
 public function getItemHtml(Varien_Object $item)
 {
     if ($item->getOrderItem()) {
         $type = $item->getOrderItem()->getProductType();
     } else {
         $type = $item->getProductType();
     }
     return $this->getItemRenderer($type)->setItem($item)->toHtml();
 }
 /**
  * Renders quantity as integer
  *
  * @param Varien_Object $row
  * @return int|string
  */
 public function _getValue(Varien_Object $row)
 {
     if ($row->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
         return '';
     }
     $quantity = parent::_getValue($row);
     if ($row->getIsQtyDecimal()) {
         return sprintf("%01.4f", $quantity);
     } else {
         return intval($quantity);
     }
 }
 public function getColumnHtml(Varien_Object $item, $column, $field = null)
 {
     $orderId = $this->getRequest()->getParam('order_id');
     if ($item->getOrderItem()) {
         $block = $this->getColumnRenderer($column, $item->getOrderItem()->getProductType());
     } else {
         $block = $this->getColumnRenderer($column, $item->getProductType());
     }
     if ($block) {
         $block->setItem($item);
         if (!is_null($field)) {
             $block->setField($field);
         }
         if ($column == 'qty') {
             $html = $block->toHtml();
             $allDropships = Mage::getModel('inventorydropship/inventorydropship')->getCollection()->addFieldToFilter('order_id', $orderId)->addFieldToFilter('status', array('in' => array('3', '4', '6')));
             $allDropshipIds = array();
             foreach ($allDropships as $dropship) {
                 $allDropshipIds[] = $dropship->getId();
             }
             $dropshipProductNumber = 0;
             $dropshipProducts = Mage::getModel('inventorydropship/inventorydropship_product')->getCollection()->addFieldToFilter('dropship_id', array('in' => $allDropshipIds))->addFieldToFilter('item_id', $item->getOrderItemId());
             foreach ($dropshipProducts as $dropshipProduct) {
                 $dropshipProductNumber += $dropshipProduct->getQtyApprove();
             }
             if ($dropshipProductNumber > 0) {
                 $addMoreHtml = '<table cellspacing="0" class="qty-table"><tbody><tr><td>';
                 $addMoreHtml .= Mage::helper('inventorydropship')->__('Dropship');
                 $addMoreHtml .= '</td><td><strong>' . $dropshipProductNumber . '</strong></td></tr></tbody></table>';
                 $html .= $addMoreHtml;
             }
             return $html;
         } else {
             return $block->toHtml();
         }
     }
     return '&nbsp;';
 }
Example #5
0
 /**
  * Retrieve rendered column html content
  *
  * @param Varien_Object $item
  * @param string $column the column key
  * @param string $field the custom item field
  * @return string
  */
 public function getColumnHtml(Varien_Object $item, $column, $field = null)
 {
     if ($item->getOrderItem()) {
         $block = $this->getColumnRenderer($column, $item->getOrderItem()->getProductType());
     } else {
         $block = $this->getColumnRenderer($column, $item->getProductType());
     }
     if ($block) {
         $block->setItem($item);
         if (!is_null($field)) {
             $block->setField($field);
         }
         return $block->toHtml();
     }
     return '&nbsp;';
 }
 /**
  * @see Mage_Sales_Block_Items_Abstract::_getItemType()
  * Return product type for quote/order item
  *
  * @param  Varien_Object
  * @return string
  */
 protected function _getItemType(Varien_Object $item)
 {
     if ($item->getOrderItem()) {
         $type = $item->getOrderItem()->getProductType();
     } elseif ($item instanceof Mage_Sales_Model_Quote_Address_Item) {
         $type = $item->getQuoteItem()->getProductType();
     } else {
         $type = $item->getProductType();
     }
     return $type;
 }
Example #7
0
 /**
  * Draw Item process
  *
  * @param Varien_Object $item
  * @param Zend_Pdf_Page $page
  * @param Mage_Sales_Model_Order $order
  * @return Zend_Pdf_Page
  */
 protected function _drawItem(Varien_Object $item, Zend_Pdf_Page $page, Mage_Sales_Model_Order $order)
 {
     $type = $item->getProductType();
     $renderer = $this->_getRenderer($type);
     $renderer->setOrder($order);
     $renderer->setItem($item);
     $renderer->setPdf($this);
     $renderer->setPage($page);
     $renderer->setRenderedModel($this);
     $renderer->draw();
     return $renderer->getPage();
 }
Example #8
0
 /**
  * Get item row html
  *
  * @param   Varien_Object $item
  * @return  string
  */
 public function getItemHtml(Varien_Object $item)
 {
     if ($item->getOrderItem()) {
         $type = $item->getOrderItem()->getProductType();
     } elseif ($item instanceof Mage_Sales_Model_Quote_Address_Item) {
         $type = $item->getQuoteItem()->getProductType();
     } else {
         $type = $item->getProductType();
     }
     $block = $this->getItemRenderer($type)->setItem($item);
     $this->_prepareItem($block);
     return $block->toHtml();
 }