diff --git a/src/public/js/episode/handle_upload.js b/src/public/js/episode/handle_upload.js index 9c7a52d7c7f8055cf7837d33cce005cd05fb72c6..19747a567e4ed3a153aebe1207098f05ab3e817d 100644 --- a/src/public/js/episode/handle_upload.js +++ b/src/public/js/episode/handle_upload.js @@ -120,60 +120,68 @@ handleFormSubmit("add-episode-form", function () { let imgUrl = "/upload?type=image"; let fileField = document.getElementById("poster-file-upload"); let imgFormData = new FormData(); - if(fileField.files[0]){ + if (fileField.files[0]) { imgFormData.append("filename", fileField.files[0].name); imgFormData.append("data", fileField.files[0]); - } else{ + } else { imgFormData.append("data", null); } try { let xhrImg = uploadEpsFile(imgUrl, true, imgFormData); xhrImg.onload = () => { - formData.append("preview-poster-filename", xhrImg.responseText); - - try { - // upload audio to server - let audioUrl = "/upload?type=audio"; - let audioFileField = document.getElementById("audio-file-upload"); - let audioFormData = new FormData(); - audioFormData.append("filename", audioFileField.files[0].name); - audioFormData.append("data", audioFileField.files[0]); - - let xhrAudio = uploadEpsFile(audioUrl, true, audioFormData); - xhrAudio.onload = () => { - formData.append("audio-filename", xhrAudio.responseText); - - try { - let xhr = createEpisode(formData); - xhr.onload = () => { - - const response = JSON.parse(xhr.responseText); - - if (xhr.status === 200) { - // window.location.href = "/episode"; - if (response.success) { - showNotificationSuccess(response.status_message); - setTimeout(() => { - location.replace(response.redirect_url); - }, 3000); - } else { - showNotificationDanger(response.status_message); - } - } else { - console.error("Request failed with status:", xhr.status); + const response = JSON.parse(xhrImg.responseText); + if (xhrImg.status === 200) { + formData.append("preview-poster-filename", xhrImg.responseText); + + try { + // upload audio to server + let audioUrl = "/upload?type=audio"; + let audioFileField = document.getElementById("audio-file-upload"); + let audioFormData = new FormData(); + audioFormData.append("filename", audioFileField.files[0].name); + audioFormData.append("data", audioFileField.files[0]); + + let xhrAudio = uploadEpsFile(audioUrl, true, audioFormData); + xhrAudio.onload = () => { + const response = JSON.parse(xhrAudio.responseText); + if (xhrAudio.status === 200) { + formData.append("audio-filename", xhrAudio.responseText); + + try { + let xhr = createEpisode(formData); + xhr.onload = () => { + const response = JSON.parse(xhr.responseText); + + if (xhr.status === 200) { + if (response.success) { + showNotificationSuccess(response.status_message); + setTimeout(() => { + location.replace(response.redirect_url); + }, 3000); + } else { + showNotificationDanger(response.status_message); + } + } else { + console.error("Request failed with status:", xhr.status); + } + }; + + xhr.onerror = function () { + console.error("Error during XMLHttpRequest"); + }; + } catch (error) { + console.error("Error creating episode:", error); } - }; - - xhr.onerror = function () { - console.error("Error during XMLHttpRequest"); - }; - } catch (error) { - console.error("Error creating episode:", error); - } - }; - } catch (error) { - console.error("Error uploading audio:", error); + } else { + showNotificationDanger(response.error_message); + } + }; + } catch (error) { + console.error("Error uploading audio:", error); + } + } else { + showNotificationDanger(response.error_message); } }; } catch (error) { @@ -181,32 +189,3 @@ handleFormSubmit("add-episode-form", function () { } }); }); - -handleFormSubmit("delete-episode-form", function () { - let form = document.getElementById("delete-episode-form"); - let formData = new FormData(form); - - let episodeId = 0; - for (let [key, value] of formData.entries()) { - if (key == "episode_id") { - episodeId = value; - } - } - try { - let xhr = deleteEpisode(episodeId); - - xhr.onload = () => { - if (xhr.status === 200) { - window.location.href = "/episode"; - } else { - console.error("Request failed with status:", xhr.status); - } - }; - - xhr.onerror = function () { - console.error("Error during XMLHttpRequest"); - }; - } catch (error) { - console.error("Error during XMLHttpRequest:", error); - } -}); diff --git a/src/public/js/episode/handle_upload_edit.js b/src/public/js/episode/handle_upload_edit.js index 13340261bd9f1d332b36d41b34050d42f3d58a55..a5a0d143e987cb6b177a2c1463d51157f3a1a70e 100644 --- a/src/public/js/episode/handle_upload_edit.js +++ b/src/public/js/episode/handle_upload_edit.js @@ -157,11 +157,17 @@ handleFormSubmit("edit-episode-form", function () { try { let xhrImg = uploadEditedEpsFile(imgUrl, true, imgFormData); xhrImg.onload = () => { - formData.append( - "edit-preview-poster-filename", - xhrImg.responseText - ); - resolve(); + const response = JSON.parse(xhrImg.responseText); + + if(xhrImg.status === 200) { + formData.append( + "edit-preview-poster-filename", + xhrImg.responseText + ); + resolve(); + } else { + showNotificationDanger(response.error_message); + } }; xhrImg.onerror = reject; } catch (error) { @@ -184,8 +190,14 @@ handleFormSubmit("edit-episode-form", function () { try { let xhrAudio = uploadEditedEpsFile(audioUrl, true, audioFormData); xhrAudio.onload = () => { - formData.append("edit-audio-filename", xhrAudio.responseText); - resolve(); + const response = JSON.parse(xhrAudio.responseText); + console.log(xhrAudio.responseText); + if (xhrAudio.status === 200) { + formData.append("edit-audio-filename", xhrAudio.responseText); + resolve(); + } else { + showNotificationDanger(response.error_message); + } }; xhrAudio.onerror = reject; } catch (error) {