/** * Renders column * * Shows link in one row instead of select element in parent class * * @param Varien_Object $row * @return string */ public function render(Varien_Object $row) { $actions = $this->getColumn()->getActions(); if (empty($actions) || !is_array($actions)) { return ' '; } $out = '<input type="hidden" id="h' . $row->getId() . '" name="h' . $row->getId() . '" value="' . $row->getId() . '" class="rowId" />'; $out .= '<input type="hidden" name="items[' . $row->getId() . '][order_item_id]" value="' . $row->getOrderItemId() . '" />'; $separator = ''; foreach ($actions as $action) { if (!(isset($action['status_depended']) && ($row->getStatus() === Enterprise_Rma_Model_Rma_Source_Status::STATE_APPROVED || $row->getStatus() === Enterprise_Rma_Model_Rma_Source_Status::STATE_DENIED || $row->getStatus() === Enterprise_Rma_Model_Rma_Source_Status::STATE_REJECTED))) { $out .= $separator . $this->_toLinkHtml($action, $row); $separator = '<span class="separator">|</span>'; } } return $out; }
/** * Get available for return item quantity * * @param Varien_Object $row * @return int */ public function getQtyOrdered($row) { $orderItemsData = $this->getOrderItemsData(); if (is_array($orderItemsData) && isset($orderItemsData[$row->getOrderItemId()]) && isset($orderItemsData[$row->getOrderItemId()]['qty_shipped']) && isset($orderItemsData[$row->getOrderItemId()]['qty_returned'])) { $return = $orderItemsData[$row->getOrderItemId()]['qty_shipped'] - $orderItemsData[$row->getOrderItemId()]['qty_returned']; } else { $return = 0; } return $return; }
/** * Draw packages block * * @param Zend_Pdf_Page $page * @return Mage_Sales_Model_Order_Pdf_Shipment_Packaging */ protected function _drawPackageBlock(Zend_Pdf_Page $page) { if ($this->getPackageShippingBlock()) { $packaging = $this->getPackageShippingBlock(); } else { $packaging = Mage::getBlockSingleton('adminhtml/sales_order_shipment_packaging'); } $packages = $packaging->getPackages(); $packageNum = 1; foreach ($packages as $packageId => $package) { $page->setFillColor(new Zend_Pdf_Color_Rgb(0.93, 0.92, 0.92)); $page->drawRectangle(25, $this->y + 15, 190, $this->y - 35); $page->drawRectangle(190, $this->y + 15, 350, $this->y - 35); $page->drawRectangle(350, $this->y + 15, 570, $this->y - 35); $page->setFillColor(new Zend_Pdf_Color_GrayScale(1)); $page->drawRectangle(520, $this->y + 15, 570, $this->y - 5); $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); $packageText = Mage::helper('sales')->__('Package') . ' ' . $packageNum; $page->drawText($packageText, 525, $this->y, 'UTF-8'); $packageNum++; $package = new Varien_Object($package); $params = new Varien_Object($package->getParams()); $dimensionUnits = Mage::helper('usa')->getMeasureDimensionName($params->getDimensionUnits()); $typeText = Mage::helper('sales')->__('Type') . ' : ' . $packaging->getContainerTypeByCode($params->getContainer()); $page->drawText($typeText, 35, $this->y, 'UTF-8'); if ($params->getLength() != null) { $lengthText = $params->getLength() . ' ' . $dimensionUnits; } else { $lengthText = '--'; } $lengthText = Mage::helper('sales')->__('Length') . ' : ' . $lengthText; $page->drawText($lengthText, 200, $this->y, 'UTF-8'); if ($params->getDeliveryConfirmation() != null) { $confirmationText = Mage::helper('sales')->__('Signature Confirmation') . ' : ' . $packaging->getDeliveryConfirmationTypeByCode($params->getDeliveryConfirmation()); $page->drawText($confirmationText, 355, $this->y, 'UTF-8'); } $this->y = $this->y - 10; if ($packaging->displayCustomsValue() != null) { $customsValueText = Mage::helper('sales')->__('Customs Value') . ' : ' . $packaging->displayPrice($params->getCustomsValue()); $page->drawText($customsValueText, 35, $this->y, 'UTF-8'); } if ($params->getWidth() != null) { $widthText = $params->getWidth() . ' ' . $dimensionUnits; } else { $widthText = '--'; } $widthText = Mage::helper('sales')->__('Width') . ' : ' . $widthText; $page->drawText($widthText, 200, $this->y, 'UTF-8'); if ($params->getContentType() != null) { if ($params->getContentType() == 'OTHER') { $contentsValue = $params->getContentTypeOther(); } else { $contentsValue = $packaging->getContentTypeByCode($params->getContentType()); } $contentsText = Mage::helper('sales')->__('Contents') . ' : ' . $contentsValue; $page->drawText($contentsText, 355, $this->y, 'UTF-8'); } $this->y = $this->y - 10; $weightText = Mage::helper('sales')->__('Total Weight') . ' : ' . $params->getWeight() . ' ' . Mage::helper('usa')->getMeasureWeightName($params->getWeightUnits()); $page->drawText($weightText, 35, $this->y, 'UTF-8'); if ($params->getHeight() != null) { $heightText = $params->getHeight() . ' ' . $dimensionUnits; } else { $heightText = '--'; } $heightText = Mage::helper('sales')->__('Height') . ' : ' . $heightText; $page->drawText($heightText, 200, $this->y, 'UTF-8'); $this->y = $this->y - 10; if ($params->getSize()) { $sizeText = Mage::helper('sales')->__('Size') . ' : ' . ucfirst(strtolower($params->getSize())); $page->drawText($sizeText, 35, $this->y, 'UTF-8'); } if ($params->getGirth() != null) { $dimensionGirthUnits = Mage::helper('usa')->getMeasureDimensionName($params->getGirthDimensionUnits()); $girthText = Mage::helper('sales')->__('Girth') . ' : ' . $params->getGirth() . ' ' . $dimensionGirthUnits; $page->drawText($girthText, 200, $this->y, 'UTF-8'); } $this->y = $this->y - 5; $page->setFillColor(new Zend_Pdf_Color_GrayScale(1)); $page->drawRectangle(25, $this->y, 570, $this->y - 30 - count($package->getItems()) * 12); $this->y = $this->y - 10; $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); $page->drawText(Mage::helper('sales')->__('Items in the Package'), 30, $this->y, 'UTF-8'); $txtIndent = 5; $itemCollsNumber = $packaging->displayCustomsValue() ? 5 : 4; $itemCollsX[0] = 30; // coordinate for Product name $itemCollsX[1] = 250; // coordinate for Product name $itemCollsXEnd = 565; $itemCollsXStep = round(($itemCollsXEnd - $itemCollsX[1]) / ($itemCollsNumber - 1)); // calculate coordinates for all other cells (Weight, Customs Value, Qty Ordered, Qty) for ($i = 2; $i <= $itemCollsNumber; $i++) { $itemCollsX[$i] = $itemCollsX[$i - 1] + $itemCollsXStep; } $i = 0; $page->setFillColor(new Zend_Pdf_Color_Rgb(0.93, 0.92, 0.92)); $page->drawRectangle($itemCollsX[$i], $this->y - 5, $itemCollsX[++$i], $this->y - 15); $page->drawRectangle($itemCollsX[$i], $this->y - 5, $itemCollsX[++$i], $this->y - 15); $page->drawRectangle($itemCollsX[$i], $this->y - 5, $itemCollsX[++$i], $this->y - 15); $page->drawRectangle($itemCollsX[$i], $this->y - 5, $itemCollsX[++$i], $this->y - 15); $page->drawRectangle($itemCollsX[$i], $this->y - 5, $itemCollsXEnd, $this->y - 15); $this->y = $this->y - 12; $i = 0; $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); $page->drawText(Mage::helper('sales')->__('Product'), $itemCollsX[$i] + $txtIndent, $this->y, 'UTF-8'); $page->drawText(Mage::helper('sales')->__('Weight'), $itemCollsX[++$i] + $txtIndent, $this->y, 'UTF-8'); if ($packaging->displayCustomsValue()) { $page->drawText(Mage::helper('sales')->__('Customs Value'), $itemCollsX[++$i] + $txtIndent, $this->y, 'UTF-8'); } $page->drawText(Mage::helper('sales')->__('Qty Ordered'), $itemCollsX[++$i] + $txtIndent, $this->y, 'UTF-8'); $page->drawText(Mage::helper('sales')->__('Qty'), $itemCollsX[++$i] + $txtIndent, $this->y, 'UTF-8'); $i = 0; foreach ($package->getItems() as $itemId => $item) { $item = new Varien_Object($item); $i = 0; $page->setFillColor(new Zend_Pdf_Color_GrayScale(1)); $page->drawRectangle($itemCollsX[$i], $this->y - 3, $itemCollsX[++$i], $this->y - 15); $page->drawRectangle($itemCollsX[$i], $this->y - 3, $itemCollsX[++$i], $this->y - 15); $page->drawRectangle($itemCollsX[$i], $this->y - 3, $itemCollsX[++$i], $this->y - 15); $page->drawRectangle($itemCollsX[$i], $this->y - 3, $itemCollsX[++$i], $this->y - 15); $page->drawRectangle($itemCollsX[$i], $this->y - 3, $itemCollsXEnd, $this->y - 15); $this->y = $this->y - 12; $i = 0; $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); $page->drawText($item->getName(), $itemCollsX[$i] + $txtIndent, $this->y, 'UTF-8'); $page->drawText($item->getWeight(), $itemCollsX[++$i] + $txtIndent, $this->y, 'UTF-8'); if ($packaging->displayCustomsValue()) { $page->drawText($packaging->displayPrice($item->getCustomsValue()), $itemCollsX[++$i] + $txtIndent, $this->y, 'UTF-8'); } $page->drawText($packaging->getQtyOrderedItem($item->getOrderItemId()), $itemCollsX[++$i] + $txtIndent, $this->y, 'UTF-8'); $page->drawText($item->getQty() * 1, $itemCollsX[++$i] + $txtIndent, $this->y, 'UTF-8'); } $this->y = $this->y - 30; } return $this; }
/** * Interface for the Queue. * * @param \Varien_Object $queueEvent * @return bool */ public function assignSerialsFromQueue(Varien_Object $queueEvent) { $queueItem = $queueEvent->getQueueItem(); if ($queueItem->testAndSetLock()) { $orderItem = Mage::getModel('sales/order_item')->load($queueEvent->getOrderItemId()); $downloadableCollection = Mage::getModel('ecodes/downloadable')->getCollection(); $downloadableCollection->setInfo('queue_item', $queueItem); if ($downloadableCollection->assignSerials($orderItem)) { $queueItem->releaseLock(Gorilla_Queue_Model_Queue::STATUS_SUCCESS); return $this; } $queueItem->releaseLock(Gorilla_Queue_Model_Queue::STATUS_OPEN); } }