From 0f74b496ab7b1f70a3ea951519cad75224be7a0c Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Fri, 28 Nov 2025 17:20:03 +0100 Subject: [PATCH 1/2] fix: adding an article code to a media was broken #28 --- app/Http/Controllers/MediaController.php | 3 ++- app/Models/Article.php | 2 +- .../media-editor/tabs/MeEditComponent.vue | 11 +++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/MediaController.php b/app/Http/Controllers/MediaController.php index ca89f21..856f93d 100644 --- a/app/Http/Controllers/MediaController.php +++ b/app/Http/Controllers/MediaController.php @@ -235,7 +235,7 @@ class MediaController extends Controller intval($request->post('limit', 50)), intval($request->post('offset', 0)), $sort - )); + )->load('articles')); Arr::set($response, 'draggable', $user->hasRole([ config('roles.const.ADMIN'), @@ -407,6 +407,7 @@ class MediaController extends Controller // ---- Les articles $media->articles()->sync(collect($request->articles)->pluck('id')->all()); + Article::flushQueryCache(); $media->saveOrFail(); diff --git a/app/Models/Article.php b/app/Models/Article.php index 676284b..d64c5d4 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -75,6 +75,6 @@ class Article extends Model */ public function mediaList() { - return $this->belongsToMany(Media::class, 'media_article', 'media_id', 'article_id'); + return $this->belongsToMany(Media::class, 'media_article', 'article_id', 'media_id'); } } 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 5dfac03..6c30a2c 100644 --- a/resources/js/components/media-manager/media-editor/tabs/MeEditComponent.vue +++ b/resources/js/components/media-manager/media-editor/tabs/MeEditComponent.vue @@ -434,7 +434,11 @@ export default { }, data() { return { - oMedia: {}, + oMedia: { + articles: [], + marques: [], + societes: [], + }, oMarques: [], selectedMarques: [], oSocietes: [], @@ -713,10 +717,13 @@ export default { .then((response) => { const result = response.data; if (result.article.utilisableGroupe === 1) { - const index = this.oMedia.articles.find( + const index = this.oMedia.articles?.find( (e) => e.noArt === result.article.noArt ); if (!index) { + if (!this.oMedia.articles) { + this.$set(this.oMedia, 'articles', []); + } this.oMedia.articles.push(result.article); } else { $.fancyMessage({ From 6f5a7dae6935df1b93c4428781e533e89830e007 Mon Sep 17 00:00:00 2001 From: Noah Lancien Date: Fri, 28 Nov 2025 17:31:54 +0100 Subject: [PATCH 2/2] fix: remove useless parts from previous commit --- app/Http/Controllers/MediaController.php | 2 +- .../media-manager/media-editor/tabs/MeEditComponent.vue | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/MediaController.php b/app/Http/Controllers/MediaController.php index 856f93d..6ba47b4 100644 --- a/app/Http/Controllers/MediaController.php +++ b/app/Http/Controllers/MediaController.php @@ -235,7 +235,7 @@ class MediaController extends Controller intval($request->post('limit', 50)), intval($request->post('offset', 0)), $sort - )->load('articles')); + )); Arr::set($response, 'draggable', $user->hasRole([ config('roles.const.ADMIN'), 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 6c30a2c..81aff6e 100644 --- a/resources/js/components/media-manager/media-editor/tabs/MeEditComponent.vue +++ b/resources/js/components/media-manager/media-editor/tabs/MeEditComponent.vue @@ -434,11 +434,7 @@ export default { }, data() { return { - oMedia: { - articles: [], - marques: [], - societes: [], - }, + oMedia: {}, oMarques: [], selectedMarques: [], oSocietes: [],