From a0679fcf119902bc5a20f12d437083b7ba3f8750 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sat, 22 Mar 2025 15:03:43 +0200 Subject: [PATCH] Fixed: Don't allow Any or Original for movie files --- .../MovieFiles/MovieFileController.cs | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Radarr.Api.V3/MovieFiles/MovieFileController.cs b/src/Radarr.Api.V3/MovieFiles/MovieFileController.cs index c3c56d2b5e..962b553561 100644 --- a/src/Radarr.Api.V3/MovieFiles/MovieFileController.cs +++ b/src/Radarr.Api.V3/MovieFiles/MovieFileController.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Linq; +using System.Net; using Microsoft.AspNetCore.Mvc; using NzbDrone.Core.CustomFormats; using NzbDrone.Core.Datastore.Events; @@ -29,21 +30,21 @@ public class MovieFileController : RestControllerWithSignalR GetMovieFiles([FromQuery(Name = "movieId")] List< return movieFiles.GroupBy(e => e.MovieId) .SelectMany(f => f.ToList() - .ConvertAll(e => e.ToResource(_movieService.GetMovie(f.Key), _qualityUpgradableSpecification, _formatCalculator))) + .ConvertAll(e => e.ToResource(_movieService.GetMovie(f.Key), _upgradableSpecification, _formatCalculator))) .ToList(); } @@ -118,8 +119,8 @@ public object SetMovieFile([FromBody] MovieFileListResource resource) if (resource.Languages != null) { - // Don't allow user to set movieFile with 'Any' or 'Original' language - movieFile.Languages = resource.Languages.Where(l => l != Language.Any || l != Language.Original || l != null).ToList(); + // Don't allow user to set files with 'Any' or 'Original' language + movieFile.Languages = resource.Languages.Where(l => l != null && l != Language.Any && l != Language.Original).ToList(); } if (resource.IndexerFlags != null) @@ -144,8 +145,10 @@ public object SetMovieFile([FromBody] MovieFileListResource resource) } _mediaFileService.Update(movieFiles); + var movie = _movieService.GetMovie(movieFiles.First().MovieId); - return Accepted(movieFiles.ConvertAll(f => f.ToResource(movie, _qualityUpgradableSpecification, _formatCalculator))); + + return Accepted(movieFiles.ConvertAll(f => f.ToResource(movie, _upgradableSpecification, _formatCalculator))); } [RestDeleteById] @@ -155,7 +158,7 @@ public void DeleteMovieFile(int id) if (movieFile == null) { - throw new NzbDroneClientException(global::System.Net.HttpStatusCode.NotFound, "Movie file not found"); + throw new NzbDroneClientException(HttpStatusCode.NotFound, "Movie file not found"); } var movie = _movieService.GetMovie(movieFile.MovieId);