From 45bb7bfdefc6d0412d058e0e2c0f133e36558e2e Mon Sep 17 00:00:00 2001 From: ildyria Date: Mon, 7 Oct 2024 09:33:42 +0200 Subject: [PATCH] fix bug where updating settings would remove the header image --- app/Actions/Album/SetHeader.php | 5 +++-- app/Http/Controllers/Gallery/AlbumController.php | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/Actions/Album/SetHeader.php b/app/Actions/Album/SetHeader.php index 0d3c16375b7..501a8f59ea1 100644 --- a/app/Actions/Album/SetHeader.php +++ b/app/Actions/Album/SetHeader.php @@ -14,15 +14,16 @@ class SetHeader extends Action * @param Album $album * @param bool $is_compact * @param ?Photo $photo + * @param bool $shall_override * * @return Album */ - public function do(Album $album, bool $is_compact, ?Photo $photo): Album + public function do(Album $album, bool $is_compact, ?Photo $photo, bool $shall_override = false): Album { if ($is_compact) { $album->header_id = AlbumController::COMPACT_HEADER; } else { - $album->header_id = ($album->header_id === $photo?->id) ? null : $photo?->id; + $album->header_id = ($album->header_id !== $photo?->id || $shall_override) ? $photo?->id : null; } $album->save(); diff --git a/app/Http/Controllers/Gallery/AlbumController.php b/app/Http/Controllers/Gallery/AlbumController.php index 5c6311f7449..4c0462e5704 100644 --- a/app/Http/Controllers/Gallery/AlbumController.php +++ b/app/Http/Controllers/Gallery/AlbumController.php @@ -111,7 +111,11 @@ public function updateAlbum(UpdateAlbumRequest $request, SetHeader $setHeader): $album->photo_sorting = $request->photoSortingCriterion(); $album->album_sorting = $request->albumSortingCriterion(); - $album = $setHeader->do($album, $request->is_compact(), $request->photo()); + $album = $setHeader->do( + album: $album, + is_compact: $request->is_compact(), + photo: $request->photo(), + shall_override: true); return EditableBaseAlbumResource::fromModel($album); }