/** * Return PDF document * * @param array $creditmemos * @return Zend_Pdf */ public function getPdf($creditmemos = array()) { if (!Mage::getStoreConfig('vc_giftwrap/general/enable')) { return parent::getPdf($creditmemos); } $this->_beforeGetPdf(); $this->_initRenderer('creditmemo'); $pdf = new Zend_Pdf(); $this->_setPdf($pdf); $style = new Zend_Pdf_Style(); $this->_setFontBold($style, 10); foreach ($creditmemos as $creditmemo) { if ($creditmemo->getStoreId()) { Mage::app()->getLocale()->emulate($creditmemo->getStoreId()); Mage::app()->setCurrentStore($creditmemo->getStoreId()); } $page = $this->newPage(); $order = $creditmemo->getOrder(); /* Add image */ $this->insertLogo($page, $creditmemo->getStore()); /* Add address */ $this->insertAddress($page, $creditmemo->getStore()); /* Add head */ $this->insertOrder($page, $order, Mage::getStoreConfigFlag(self::XML_PATH_SALES_PDF_CREDITMEMO_PUT_ORDER_ID, $order->getStoreId())); /* Add document text and number */ $this->insertDocumentNumber($page, Mage::helper('sales')->__('Credit Memo # ') . $creditmemo->getIncrementId()); /* Add table */ $this->_drawGiftwrapHeader($page); /* Add body */ $wrapBlock = new VC_GiftWrap_Block_Adminhtml_Wrap_Creditmemo(); $wrapBlock->setOrder($order); $items = $wrapBlock->processGroup($wrapBlock->getList()); $i = 0; foreach ($items as $item) { $i++; $item->setType('giftwrap'); $item->setOrder($order); $item->setPosition($i); if (strlen($item->getBoxImage()) > 0) { $item->setBoxImagePath($wrapBlock->getImagePath($item->getBoxImage())); } if (strlen($item->getCardImage()) > 0) { $item->setCardImagePath($wrapBlock->getImagePath($item->getCardImage())); } $this->_drawGiftwrapItem($item, $page, $order); $page = end($pdf->pages); } /* Add table head */ $this->_drawHeader($page); /* Add body */ foreach ($creditmemo->getAllItems() as $item) { if ($item->getOrderItem()->getParentItem()) { continue; } /* Draw item */ $this->_drawItem($item, $page, $order); $page = end($pdf->pages); } /* Add totals */ $this->insertTotals($page, $creditmemo); } $this->_afterGetPdf(); if ($creditmemo->getStoreId()) { Mage::app()->getLocale()->revert(); } return $pdf; }