From 116f465849a77ffd467054a5ce61c777f4b5d66f Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Wed, 19 Nov 2025 11:20:01 +0100 Subject: [PATCH] feat: block arcadia link request when the media is in draft status --- app/Http/Controllers/MediaController.php | 6 ++++++ .../media-manager/media-editor/tabs/MeEditComponent.vue | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/MediaController.php b/app/Http/Controllers/MediaController.php index e03487b..ca89f21 100644 --- a/app/Http/Controllers/MediaController.php +++ b/app/Http/Controllers/MediaController.php @@ -659,6 +659,12 @@ class MediaController extends Controller ]); } + if ($media->statut === MediaStatut::brouillon) { + throw ValidationException::withMessages([ + 'media' => trans('Ce média n\'est pas publié. Veuillez sauvegarder pour enregistrer le statut.') + ]); + } + MediaLinkWithArcadia::dispatch($user, $media); return response()->json(true); diff --git a/resources/js/components/media-manager/media-editor/tabs/MeEditComponent.vue b/resources/js/components/media-manager/media-editor/tabs/MeEditComponent.vue index 9994615..5dfac03 100644 --- a/resources/js/components/media-manager/media-editor/tabs/MeEditComponent.vue +++ b/resources/js/components/media-manager/media-editor/tabs/MeEditComponent.vue @@ -547,9 +547,10 @@ export default { __DAM.methods.sessionTimedOut(); return; } + const errorMessage = error.response.data.message ?? "Erreur lors de l'opération, merci d'actualiser la page."; $.fancyMessage({ title: "Lier un média à Arcadia", - message: "Erreur lors de l'opération, merci d'actualiser la page.", + message: errorMessage, type: "error", }); console.error(error);