diff --git a/classes/Router/Middlewares/HasBackupAvailable.php b/classes/Router/Middlewares/HasBackupAvailable.php new file mode 100644 index 000000000..c1e72c29a --- /dev/null +++ b/classes/Router/Middlewares/HasBackupAvailable.php @@ -0,0 +1,19 @@ +upgradeContainer->getBackupFinder()->getAvailableBackups(); + + if (empty($backups)) { + return Routes::HOME_PAGE; + } + + return null; + } +} diff --git a/classes/Router/RoutesConfig.php b/classes/Router/RoutesConfig.php index 7a2ee5143..0450cd3fe 100644 --- a/classes/Router/RoutesConfig.php +++ b/classes/Router/RoutesConfig.php @@ -15,6 +15,7 @@ use PrestaShop\Module\AutoUpgrade\Controller\UpdatePageUpdateController; use PrestaShop\Module\AutoUpgrade\Controller\UpdatePageUpdateOptionsController; use PrestaShop\Module\AutoUpgrade\Controller\UpdatePageVersionChoiceController; +use PrestaShop\Module\AutoUpgrade\Router\Middlewares\HasBackupAvailable; use PrestaShop\Module\AutoUpgrade\Router\Middlewares\LocalChannelXmlAndZipAreValid; use PrestaShop\Module\AutoUpgrade\Router\Middlewares\UpdateIsConfigured; @@ -142,6 +143,9 @@ class RoutesConfig Routes::RESTORE_PAGE_BACKUP_SELECTION => [ 'controller' => RestorePageBackupSelectionController::class, 'method' => 'index', + 'middleware' => [ + HasBackupAvailable::class, + ], ], Routes::RESTORE_STEP_BACKUP_SELECTION => [ 'controller' => RestorePageBackupSelectionController::class, diff --git a/controllers/admin/self-managed/RestorePageBackupSelectionController.php b/controllers/admin/self-managed/RestorePageBackupSelectionController.php index 8520189ff..0afffaa0b 100644 --- a/controllers/admin/self-managed/RestorePageBackupSelectionController.php +++ b/controllers/admin/self-managed/RestorePageBackupSelectionController.php @@ -26,17 +26,6 @@ class RestorePageBackupSelectionController extends AbstractPageWithStepControlle RestoreConfiguration::BACKUP_NAME => RestoreConfiguration::BACKUP_NAME, ]; - public function index() - { - $backups = $this->upgradeContainer->getBackupFinder()->getAvailableBackups(); - - if (!empty($backups)) { - return parent::index(); - } - - return AjaxResponseBuilder::nextRouteResponse(Routes::HOME_PAGE); - } - protected function getPageTemplate(): string { return 'restore';