getRequest()->getParam(self::PARAM_INTEGRATION_ID); if ($integrationId) { try { $integrationData = $this->_integrationService->get($integrationId)->getData(); $originalName = $this->escaper->escapeHtml($integrationData[Info::DATA_NAME]); } catch (IntegrationException $e) { $this->messageManager->addError($this->escaper->escapeHtml($e->getMessage())); $this->_redirect('*/*/'); return; } catch (\Exception $e) { $this->_logger->critical($e); $this->messageManager->addError(__('Internal error. Check exception log for details.')); $this->_redirect('*/*'); return; } $restoredIntegration = $this->_getSession()->getIntegrationData(); if ($restoredIntegration) { $integrationData = array_merge($integrationData, $restoredIntegration); } } else { $this->messageManager->addError(__('Integration ID is not specified or is invalid.')); $this->_redirect('*/*/'); return; } $this->_registry->register(self::REGISTRY_KEY_CURRENT_INTEGRATION, $integrationData); $this->restoreResourceAndSaveToRegistry(); $this->_view->loadLayout(); $this->_getSession()->setIntegrationData([]); $this->_setActiveMenu('Magento_Integration::system_integrations'); if ($this->_integrationData->isConfigType($integrationData)) { $title = __('View "%1" Integration', $originalName); } else { $title = __('Edit "%1" Integration', $originalName); } $this->_addBreadcrumb($title, $title); $this->_view->getPage()->getConfig()->getTitle()->prepend($title); $this->_view->renderLayout(); } }