mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-20 21:33:15 -07:00
fix(radarr): ensure RequestedUser is loaded when creating tags
- Replace Find() with GetWithUser() in MovieRequestEngine methods to properly load RequestedUser navigation property - Add null check in GetOrCreateTag as a safety measure - Fix NullReferenceException when "Add the user as a tag" feature is enabled Fixes #5045
This commit is contained in:
parent
7303e7da3b
commit
f8658fe6d5
2 changed files with 15 additions and 6 deletions
|
@ -598,13 +598,13 @@ namespace Ombi.Core.Engine
|
||||||
|
|
||||||
public async Task<RequestEngineResult> ApproveMovieById(int requestId, bool is4K)
|
public async Task<RequestEngineResult> ApproveMovieById(int requestId, bool is4K)
|
||||||
{
|
{
|
||||||
var request = await MovieRepository.Find(requestId);
|
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == requestId);
|
||||||
return await ApproveMovie(request, is4K);
|
return await ApproveMovie(request, is4K);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<RequestEngineResult> DenyMovieById(int modelId, string denyReason, bool is4K)
|
public async Task<RequestEngineResult> DenyMovieById(int modelId, string denyReason, bool is4K)
|
||||||
{
|
{
|
||||||
var request = await MovieRepository.Find(modelId);
|
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == modelId);
|
||||||
if (request == null)
|
if (request == null)
|
||||||
{
|
{
|
||||||
return new RequestEngineResult
|
return new RequestEngineResult
|
||||||
|
@ -790,7 +790,7 @@ namespace Ombi.Core.Engine
|
||||||
|
|
||||||
public async Task<RequestEngineResult> ReProcessRequest(int requestId, bool is4K, CancellationToken cancellationToken)
|
public async Task<RequestEngineResult> ReProcessRequest(int requestId, bool is4K, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var request = await MovieRepository.Find(requestId);
|
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == requestId);
|
||||||
if (request == null)
|
if (request == null)
|
||||||
{
|
{
|
||||||
return new RequestEngineResult
|
return new RequestEngineResult
|
||||||
|
@ -805,7 +805,7 @@ namespace Ombi.Core.Engine
|
||||||
|
|
||||||
public async Task<RequestEngineResult> MarkUnavailable(int modelId, bool is4K)
|
public async Task<RequestEngineResult> MarkUnavailable(int modelId, bool is4K)
|
||||||
{
|
{
|
||||||
var request = await MovieRepository.Find(modelId);
|
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == modelId);
|
||||||
if (request == null)
|
if (request == null)
|
||||||
{
|
{
|
||||||
return new RequestEngineResult
|
return new RequestEngineResult
|
||||||
|
@ -834,7 +834,7 @@ namespace Ombi.Core.Engine
|
||||||
|
|
||||||
public async Task<RequestEngineResult> MarkAvailable(int modelId, bool is4K)
|
public async Task<RequestEngineResult> MarkAvailable(int modelId, bool is4K)
|
||||||
{
|
{
|
||||||
var request = await MovieRepository.Find(modelId);
|
var request = await MovieRepository.GetWithUser().FirstOrDefaultAsync(x => x.Id == modelId);
|
||||||
if (request == null)
|
if (request == null)
|
||||||
{
|
{
|
||||||
return new RequestEngineResult
|
return new RequestEngineResult
|
||||||
|
|
|
@ -182,7 +182,10 @@ namespace Ombi.Core.Senders
|
||||||
if (settings.SendUserTags)
|
if (settings.SendUserTags)
|
||||||
{
|
{
|
||||||
var userTag = await GetOrCreateTag(model, settings);
|
var userTag = await GetOrCreateTag(model, settings);
|
||||||
tags.Add(userTag.id);
|
if (userTag != null)
|
||||||
|
{
|
||||||
|
tags.Add(userTag.id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Overrides on the request take priority
|
// Overrides on the request take priority
|
||||||
|
@ -246,6 +249,12 @@ namespace Ombi.Core.Senders
|
||||||
|
|
||||||
private async Task<Tag> GetOrCreateTag(MovieRequests model, RadarrSettings s)
|
private async Task<Tag> GetOrCreateTag(MovieRequests model, RadarrSettings s)
|
||||||
{
|
{
|
||||||
|
if (model.RequestedUser == null)
|
||||||
|
{
|
||||||
|
_log.LogWarning("Cannot create tag - RequestedUser is null for movie request {MovieTitle}", model.Title);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
var tagName = model.RequestedUser.UserName;
|
var tagName = model.RequestedUser.UserName;
|
||||||
// Does tag exist?
|
// Does tag exist?
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue