Пример #1
0
 /**
  * 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;
 }