diff options
Diffstat (limited to 'web_src/js/features/repo-migrate.js')
-rw-r--r-- | web_src/js/features/repo-migrate.js | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/web_src/js/features/repo-migrate.js b/web_src/js/features/repo-migrate.js index e57348d31b..de9f7b023c 100644 --- a/web_src/js/features/repo-migrate.js +++ b/web_src/js/features/repo-migrate.js @@ -1,12 +1,14 @@ import $ from 'jquery'; import {hideElem, showElem} from '../utils/dom.js'; -const {appSubUrl} = window.config; +const {appSubUrl, csrfToken} = window.config; export function initRepoMigrationStatusChecker() { const $repoMigrating = $('#repo_migrating'); if (!$repoMigrating.length) return; + $('#repo_migrating_retry').on('click', doMigrationRetry); + const task = $repoMigrating.attr('data-migrating-task-id'); // returns true if the refresh still need to be called after a while @@ -31,6 +33,7 @@ export function initRepoMigrationStatusChecker() { if (data.status === 3) { hideElem('#repo_migrating_progress'); hideElem('#repo_migrating'); + showElem('#repo_migrating_retry'); showElem('#repo_migrating_failed'); showElem('#repo_migrating_failed_image'); $('#repo_migrating_failed_error').text(data.message); @@ -53,3 +56,14 @@ export function initRepoMigrationStatusChecker() { syncTaskStatus(); // no await } + +async function doMigrationRetry(e) { + await fetch($(e.target).attr('data-migrating-task-retry-url'), { + method: 'post', + headers: { + 'X-Csrf-Token': csrfToken, + 'Content-Type': 'application/json', + }, + }); + window.location.reload(); +} |