Changeset View
Changeset View
Standalone View
Standalone View
swh/web/assets/src/bundles/save/index.js
Show All 26 Lines | .then(data => { | ||||
if (data.save_request_status === 'accepted') { | if (data.save_request_status === 'accepted') { | ||||
acceptedCallback(); | acceptedCallback(); | ||||
} else { | } else { | ||||
pendingCallback(); | pendingCallback(); | ||||
} | } | ||||
}) | }) | ||||
.catch(response => { | .catch(response => { | ||||
$('.swh-processing-save-request').css('display', 'none'); | $('.swh-processing-save-request').css('display', 'none'); | ||||
errorCallback(response.status); | response.json().then(errorData => { | ||||
errorCallback(response.status, errorData); | |||||
}); | |||||
}); | }); | ||||
} | } | ||||
export function initOriginSave() { | export function initOriginSave() { | ||||
$(document).ready(() => { | $(document).ready(() => { | ||||
$.fn.dataTable.ext.errMode = 'none'; | $.fn.dataTable.ext.errMode = 'none'; | ||||
▲ Show 20 Lines • Show All 89 Lines • ▼ Show 20 Lines | let saveRequestAcceptedAlert = htmlAlert( | ||||
'The "save code now" request has been accepted and will be processed as soon as possible.' | 'The "save code now" request has been accepted and will be processed as soon as possible.' | ||||
); | ); | ||||
let saveRequestPendingAlert = htmlAlert( | let saveRequestPendingAlert = htmlAlert( | ||||
'warning', | 'warning', | ||||
'The "save code now" request has been put in pending state and may be accepted for processing after manual review.' | 'The "save code now" request has been put in pending state and may be accepted for processing after manual review.' | ||||
); | ); | ||||
let saveRequestRejectedAlert = htmlAlert( | |||||
'danger', | |||||
'The "save code now" request has been rejected because the provided origin url is blacklisted.' | |||||
); | |||||
let saveRequestRateLimitedAlert = htmlAlert( | let saveRequestRateLimitedAlert = htmlAlert( | ||||
'danger', | 'danger', | ||||
'The rate limit for "save code now" requests has been reached. Please try again later.' | 'The rate limit for "save code now" requests has been reached. Please try again later.' | ||||
); | ); | ||||
let saveRequestUnknownErrorAlert = htmlAlert( | let saveRequestUnknownErrorAlert = htmlAlert( | ||||
'danger', | 'danger', | ||||
'An unexpected error happened when submitting the "save code now request' | 'An unexpected error happened when submitting the "save code now request".' | ||||
); | ); | ||||
$('#swh-save-origin-form').submit(event => { | $('#swh-save-origin-form').submit(event => { | ||||
event.preventDefault(); | event.preventDefault(); | ||||
event.stopPropagation(); | event.stopPropagation(); | ||||
$('.alert').alert('close'); | $('.alert').alert('close'); | ||||
if (event.target.checkValidity()) { | if (event.target.checkValidity()) { | ||||
$(event.target).removeClass('was-validated'); | $(event.target).removeClass('was-validated'); | ||||
let originType = $('#swh-input-visit-type').val(); | let originType = $('#swh-input-visit-type').val(); | ||||
let originUrl = $('#swh-input-origin-url').val(); | let originUrl = $('#swh-input-origin-url').val(); | ||||
originSaveRequest(originType, originUrl, | originSaveRequest(originType, originUrl, | ||||
() => $('#swh-origin-save-request-status').html(saveRequestAcceptedAlert), | () => $('#swh-origin-save-request-status').html(saveRequestAcceptedAlert), | ||||
() => $('#swh-origin-save-request-status').html(saveRequestPendingAlert), | () => $('#swh-origin-save-request-status').html(saveRequestPendingAlert), | ||||
(statusCode) => { | (statusCode, errorData) => { | ||||
$('#swh-origin-save-request-status').css('color', 'red'); | $('#swh-origin-save-request-status').css('color', 'red'); | ||||
if (statusCode === 403) { | if (statusCode === 403) { | ||||
$('#swh-origin-save-request-status').html(saveRequestRejectedAlert); | const errorAlert = htmlAlert('danger', `Error: ${errorData['detail']}`); | ||||
$('#swh-origin-save-request-status').html(errorAlert); | |||||
} else if (statusCode === 429) { | } else if (statusCode === 429) { | ||||
$('#swh-origin-save-request-status').html(saveRequestRateLimitedAlert); | $('#swh-origin-save-request-status').html(saveRequestRateLimitedAlert); | ||||
} else { | } else { | ||||
$('#swh-origin-save-request-status').html(saveRequestUnknownErrorAlert); | $('#swh-origin-save-request-status').html(saveRequestUnknownErrorAlert); | ||||
} | } | ||||
}); | }); | ||||
} else { | } else { | ||||
$(event.target).addClass('was-validated'); | $(event.target).addClass('was-validated'); | ||||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | let newSnapshotRequestAcceptedAlert = htmlAlert( | ||||
'The "take new snapshot" request has been accepted and will be processed as soon as possible.' | 'The "take new snapshot" request has been accepted and will be processed as soon as possible.' | ||||
); | ); | ||||
let newSnapshotRequestPendingAlert = htmlAlert( | let newSnapshotRequestPendingAlert = htmlAlert( | ||||
'warning', | 'warning', | ||||
'The "take new snapshot" request has been put in pending state and may be accepted for processing after manual review.' | 'The "take new snapshot" request has been put in pending state and may be accepted for processing after manual review.' | ||||
); | ); | ||||
let newSnapshotRequestRejectedAlert = htmlAlert( | |||||
'danger', | |||||
'The "take new snapshot" request has been rejected.' | |||||
); | |||||
let newSnapshotRequestRateLimitAlert = htmlAlert( | let newSnapshotRequestRateLimitAlert = htmlAlert( | ||||
'danger', | 'danger', | ||||
'The rate limit for "take new snapshot" requests has been reached. Please try again later.' | 'The rate limit for "take new snapshot" requests has been reached. Please try again later.' | ||||
); | ); | ||||
let newSnapshotRequestUnknownErrorAlert = htmlAlert( | let newSnapshotRequestUnknownErrorAlert = htmlAlert( | ||||
'danger', | 'danger', | ||||
'An unexpected error happened when submitting the "save code now request".' | 'An unexpected error happened when submitting the "save code now request".' | ||||
); | ); | ||||
$(document).ready(() => { | $(document).ready(() => { | ||||
$('#swh-take-new-snapshot-form').submit(event => { | $('#swh-take-new-snapshot-form').submit(event => { | ||||
event.preventDefault(); | event.preventDefault(); | ||||
event.stopPropagation(); | event.stopPropagation(); | ||||
let originType = $('#swh-input-visit-type').val(); | let originType = $('#swh-input-visit-type').val(); | ||||
let originUrl = $('#swh-input-origin-url').val(); | let originUrl = $('#swh-input-origin-url').val(); | ||||
originSaveRequest(originType, originUrl, | originSaveRequest(originType, originUrl, | ||||
() => $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestAcceptedAlert), | () => $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestAcceptedAlert), | ||||
() => $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestPendingAlert), | () => $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestPendingAlert), | ||||
(statusCode) => { | (statusCode, errorData) => { | ||||
$('#swh-take-new-snapshot-request-status').css('color', 'red'); | $('#swh-take-new-snapshot-request-status').css('color', 'red'); | ||||
if (statusCode === 403) { | if (statusCode === 403) { | ||||
$('#swh-take-new-snapshot-request-status').html(newSnapshotRequestRejectedAlert); | const errorAlert = htmlAlert('danger', `Error: ${errorData['detail']}`); | ||||
$('#swh-take-new-snapshot-request-status').html(errorAlert); | |||||
} else if (statusCode === 429) { | } else if (statusCode === 429) { | ||||
$('#swh-take-new-snapshot-request-status').html(newSnapshotRequestRateLimitAlert); | $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestRateLimitAlert); | ||||
} else { | } else { | ||||
$('#swh-take-new-snapshot-request-status').html(newSnapshotRequestUnknownErrorAlert); | $('#swh-take-new-snapshot-request-status').html(newSnapshotRequestUnknownErrorAlert); | ||||
} | } | ||||
}); | }); | ||||
}); | }); | ||||
}); | }); | ||||
} | } |