* @license https://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * @link https://www.temando.com/ */ class Account extends Action implements HttpGetActionInterface { /** * Authorization level of a basic admin session * * @see \Magento\Backend\App\Action::_isAllowed() */ const ADMIN_RESOURCE = 'Temando_Shipping::portal'; /** * @var PortalUrl */ private $portalUrl; /** * Account constructor. * * @param Context $context * @param PortalUrl $portalUrl */ public function __construct( Context $context, PortalUrl $portalUrl ) { $this->portalUrl = $portalUrl; parent::__construct($context); } /** * Redirect user to Shipping Portal account * * @return ResultInterface */ public function execute() { try { $redirectUrl = $this->portalUrl->getAccountUrl(); } catch (LocalizedException $exception) { $msg = 'Temando Shipping is not properly configured. Please register an account.'; $this->messageManager->addWarningMessage(__($msg)); $redirectUrl = $this->getUrl('adminhtml/system_config/edit', [ 'section' => 'carriers', '_fragment' => 'carriers_temando-link', ]); } $redirect = $this->resultRedirectFactory->create(); $redirect->setUrl($redirectUrl); return $redirect; } }