Example #1
0
 /**
  * Method is invoked after save
  *
  * @param Varien_Object $object
  * @return Mage_Eav_Model_Entity_Attribute_Backend_Abstract
  */
 public function afterSave($object)
 {
     if ($object->getOrderItem()) {
         $object->getOrderItem()->save();
     }
     return parent::beforeSave($object);
 }
Example #2
0
 /**
  * Getting all available childs for Invoice, Shipmen or Creditmemo item
  *
  * @param Varien_Object $item
  * @return array
  */
 public function getChilds($item)
 {
     $_itemsArray = array();
     if ($item instanceof Mage_Sales_Model_Order_Invoice_Item) {
         $_items = $item->getInvoice()->getAllItems();
     } else {
         if ($item instanceof Mage_Sales_Model_Order_Shipment_Item) {
             $_items = $item->getShipment()->getAllItems();
         } else {
             if ($item instanceof Mage_Sales_Model_Order_Creditmemo_Item) {
                 $_items = $item->getCreditmemo()->getAllItems();
             }
         }
     }
     if ($_items) {
         foreach ($_items as $_item) {
             if ($parentItem = $_item->getOrderItem()->getParentItem()) {
                 $_itemsArray[$parentItem->getId()][$_item->getOrderItemId()] = $_item;
             } else {
                 $_itemsArray[$_item->getOrderItem()->getId()][$_item->getOrderItemId()] = $_item;
             }
         }
     }
     if (isset($_itemsArray[$item->getOrderItem()->getId()])) {
         return $_itemsArray[$item->getOrderItem()->getId()];
     } else {
         return null;
     }
 }
Example #3
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();
 }
 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;';
 }
Example #6
0
 /**
  * Retrieve Selection attributes
  *
  * @param Varien_Object $item
  * @return mixed
  */
 public function getSelectionAttributes($item)
 {
     if ($item instanceof Mage_Sales_Model_Order_Item) {
         $options = $item->getProductOptions();
     } else {
         $options = $item->getOrderItem()->getProductOptions();
     }
     if (isset($options['bundle_selection_attributes'])) {
         return unserialize($options['bundle_selection_attributes']);
     }
     return null;
 }
 /**
  * @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 #8
0
 /**
  * Draw
  *
  * @param  Varien_Object          $item     creditmemo/shipping/invoice to draw
  * @param  Zend_Pdf_Page          $page     Current page object of Zend_Pdf
  * @param  Mage_Sales_Model_Order $order    order to get infos from
  * @param  int                    $position position in table
  *
  * @return Zend_Pdf_Page
  */
 protected function _drawItem(Varien_Object $item, Zend_Pdf_Page $page, Mage_Sales_Model_Order $order, $position = 1)
 {
     $type = $item->getOrderItem()->getProductType();
     $renderer = $this->_getRenderer($type);
     $renderer->setOrder($order);
     $renderer->setItem($item);
     $renderer->setPdf($this);
     $renderer->setPage($page);
     $renderer->setRenderedModel($this);
     $renderer->draw($position);
     return $renderer->getPage();
 }
Example #9
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)
 {
     $orderItem = $item->getOrderItem();
     $type = $orderItem->getProductType();
     $renderer = $this->_getRenderer($type);
     $this->renderItem($item, $page, $order, $renderer);
     $transportObject = new Varien_Object(array('renderer_type_list' => array()));
     Mage::dispatchEvent('pdf_item_draw_after', array('transport_object' => $transportObject, 'entity_item' => $item));
     foreach ($transportObject->getRendererTypeList() as $type) {
         $renderer = $this->_getRenderer($type);
         if ($renderer) {
             $this->renderItem($orderItem, $page, $order, $renderer);
         }
     }
     return $renderer->getPage();
 }
Example #10
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();
 }