123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Shipping\Block\Adminhtml\Create;
- /**
- * Adminhtml shipment items grid
- *
- * @api
- * @since 100.0.2
- */
- class Items extends \Magento\Sales\Block\Adminhtml\Items\AbstractItems
- {
- /**
- * Sales data
- *
- * @var \Magento\Sales\Helper\Data
- */
- protected $_salesData;
- /**
- * @var \Magento\Shipping\Model\CarrierFactory
- */
- protected $_carrierFactory;
- /**
- * @param \Magento\Backend\Block\Template\Context $context
- * @param \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry
- * @param \Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration
- * @param \Magento\Framework\Registry $registry
- * @param \Magento\Sales\Helper\Data $salesData
- * @param \Magento\Shipping\Model\CarrierFactory $carrierFactory
- * @param array $data
- */
- public function __construct(
- \Magento\Backend\Block\Template\Context $context,
- \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry,
- \Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration,
- \Magento\Framework\Registry $registry,
- \Magento\Sales\Helper\Data $salesData,
- \Magento\Shipping\Model\CarrierFactory $carrierFactory,
- array $data = []
- ) {
- $this->_salesData = $salesData;
- $this->_carrierFactory = $carrierFactory;
- parent::__construct($context, $stockRegistry, $stockConfiguration, $registry, $data);
- }
- /**
- * Retrieve invoice order
- *
- * @return \Magento\Sales\Model\Order
- */
- public function getOrder()
- {
- return $this->getShipment()->getOrder();
- }
- /**
- * Retrieve source
- *
- * @return \Magento\Sales\Model\Order\Shipment
- */
- public function getSource()
- {
- return $this->getShipment();
- }
- /**
- * Retrieve shipment model instance
- *
- * @return \Magento\Sales\Model\Order\Shipment
- */
- public function getShipment()
- {
- return $this->_coreRegistry->registry('current_shipment');
- }
- /**
- * Prepare child blocks
- *
- * @return string
- */
- protected function _beforeToHtml()
- {
- $this->addChild(
- 'submit_button',
- \Magento\Backend\Block\Widget\Button::class,
- [
- 'label' => __('Submit Shipment'),
- 'class' => 'save submit-button primary',
- 'onclick' => 'submitShipment(this);'
- ]
- );
- return parent::_beforeToHtml();
- }
- /**
- * Format given price
- *
- * @param float $price
- * @return string
- */
- public function formatPrice($price)
- {
- return $this->getShipment()->getOrder()->formatPrice($price);
- }
- /**
- * Retrieve HTML of update button
- *
- * @return string
- */
- public function getUpdateButtonHtml()
- {
- return $this->getChildHtml('update_button');
- }
- /**
- * Get url for update
- *
- * @return string
- */
- public function getUpdateUrl()
- {
- return $this->getUrl('sales/*/updateQty', ['order_id' => $this->getShipment()->getOrderId()]);
- }
- /**
- * Check possibility to send shipment email
- *
- * @return bool
- */
- public function canSendShipmentEmail()
- {
- return $this->_salesData->canSendNewShipmentEmail($this->getOrder()->getStore()->getId());
- }
- /**
- * Checks the possibility of creating shipping label by current carrier
- *
- * @return bool
- */
- public function canCreateShippingLabel()
- {
- $shippingCarrier = $this->_carrierFactory->create(
- $this->getOrder()->getShippingMethod(true)->getCarrierCode()
- );
- return $shippingCarrier && $shippingCarrier->isShippingLabelsAvailable();
- }
- }
|