From 85b310c81cb0fb9a5cad50068aa71e19dc88f349 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 8 Jul 2024 22:25:26 +0300 Subject: [PATCH] Fixed: Removing pending release without blocklisting --- frontend/src/Activity/Queue/RemoveQueueItemModal.tsx | 3 ++- src/Radarr.Api.V3/Queue/QueueController.cs | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/frontend/src/Activity/Queue/RemoveQueueItemModal.tsx b/frontend/src/Activity/Queue/RemoveQueueItemModal.tsx index 4348f818c..255c8a562 100644 --- a/frontend/src/Activity/Queue/RemoveQueueItemModal.tsx +++ b/frontend/src/Activity/Queue/RemoveQueueItemModal.tsx @@ -118,6 +118,7 @@ function RemoveQueueItemModal(props: RemoveQueueItemModalProps) { { key: 'blocklistAndSearch', value: translate('BlocklistAndSearch'), + isDisabled: isPending, hint: multipleSelected ? translate('BlocklistAndSearchMultipleHint') : translate('BlocklistAndSearchHint'), @@ -130,7 +131,7 @@ function RemoveQueueItemModal(props: RemoveQueueItemModalProps) { : translate('BlocklistOnlyHint'), }, ]; - }, [multipleSelected]); + }, [isPending, multipleSelected]); const handleRemovalMethodChange = useCallback( ({ value }: { value: RemovalMethod }) => { diff --git a/src/Radarr.Api.V3/Queue/QueueController.cs b/src/Radarr.Api.V3/Queue/QueueController.cs index ef5cc3a15..75bba8dd5 100644 --- a/src/Radarr.Api.V3/Queue/QueueController.cs +++ b/src/Radarr.Api.V3/Queue/QueueController.cs @@ -77,7 +77,7 @@ public void RemoveAction(int id, bool removeFromClient = true, bool blocklist = if (pendingRelease != null) { - Remove(pendingRelease); + Remove(pendingRelease, blocklist); return; } @@ -120,7 +120,7 @@ public object RemoveMany([FromBody] QueueBulkResource resource, [FromQuery] bool foreach (var pendingRelease in pendingToRemove.DistinctBy(p => p.Id)) { - Remove(pendingRelease); + Remove(pendingRelease, blocklist); } foreach (var trackedDownload in trackedToRemove.DistinctBy(t => t.DownloadItem.DownloadId)) @@ -279,9 +279,13 @@ public PagingResource GetQueue([FromQuery] PagingRequestResource } } - private void Remove(NzbDrone.Core.Queue.Queue pendingRelease) + private void Remove(NzbDrone.Core.Queue.Queue pendingRelease, bool blocklist) { - _blocklistService.Block(pendingRelease.RemoteMovie, "Pending release manually blocklisted"); + if (blocklist) + { + _blocklistService.Block(pendingRelease.RemoteMovie, "Pending release manually blocklisted"); + } + _pendingReleaseService.RemovePendingQueueItems(pendingRelease.Id); }