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