Files
esun3d/app/code/Esun/LingxingErp/Controller/Adminhtml/Shipment/View.php
T
2026-09-15 10:35:56 +08:00

37 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace Esun\LingxingErp\Controller\Adminhtml\Shipment;
use Esun\LingxingErp\Model\Sync\DetailProvider;
use Magento\Backend\App\Action;
use Magento\Framework\Controller\Result\Redirect;
use Magento\Framework\View\Result\Page;
use Magento\Framework\View\Result\PageFactory;
class View extends Action
{
public const ADMIN_RESOURCE = 'Esun_LingxingErp::shipments';
public function __construct(
Action\Context $context,
private readonly PageFactory $pageFactory,
private readonly DetailProvider $detailProvider
) {
parent::__construct($context);
}
public function execute(): Page|Redirect
{
$record = $this->detailProvider->getRecord('shipment', (int)$this->getRequest()->getParam('id'));
if ($record === null) {
$this->messageManager->addErrorMessage(__('The shipment synchronization record no longer exists.'));
return $this->resultRedirectFactory->create()->setPath('*/*/index');
}
$page = $this->pageFactory->create();
$page->setActiveMenu('Esun_LingxingErp::shipments');
$page->getConfig()->getTitle()->prepend(__('Shipment Synchronization #%1', $record['wo_number']));
return $page;
}
}