diff --git a/src/Ombi.Core/Engine/TvRequestEngine.cs b/src/Ombi.Core/Engine/TvRequestEngine.cs index edfa7b392..28e70315f 100644 --- a/src/Ombi.Core/Engine/TvRequestEngine.cs +++ b/src/Ombi.Core/Engine/TvRequestEngine.cs @@ -369,7 +369,7 @@ namespace Ombi.Core.Engine } else { - allRequests = await TvRepository.GetChild().ToListAsync(); + allRequests = await TvRepository.GetChild(shouldHide.Anonimize).ToListAsync(); } @@ -424,7 +424,7 @@ namespace Ombi.Core.Engine } else { - allRequests = await TvRepository.GetChild().ToListAsync(); + allRequests = await TvRepository.GetChild(shouldHide.Anonimize).ToListAsync(); } diff --git a/src/Ombi.Store/Repository/Requests/ITvRequestRepository.cs b/src/Ombi.Store/Repository/Requests/ITvRequestRepository.cs index d7106c086..46d50e859 100644 --- a/src/Ombi.Store/Repository/Requests/ITvRequestRepository.cs +++ b/src/Ombi.Store/Repository/Requests/ITvRequestRepository.cs @@ -19,7 +19,7 @@ namespace Ombi.Store.Repository.Requests TvRequests GetRequest(int theMovieDbId); Task Update(TvRequests request); Task UpdateChild(ChildRequests request); - IQueryable GetChild(); + IQueryable GetChild(bool anonimize = false); IQueryable GetChild(string userId); Task MarkEpisodeAsAvailable(int id); Task MarkChildAsAvailable(int id); diff --git a/src/Ombi.Store/Repository/Requests/TvRequestRepository.cs b/src/Ombi.Store/Repository/Requests/TvRequestRepository.cs index 0a72b1b32..a9f0b441d 100644 --- a/src/Ombi.Store/Repository/Requests/TvRequestRepository.cs +++ b/src/Ombi.Store/Repository/Requests/TvRequestRepository.cs @@ -80,14 +80,25 @@ namespace Ombi.Store.Repository.Requests .AsQueryable(); } - public IQueryable GetChild() + public IQueryable GetChild(bool anonimize = false) { - return Db.ChildRequests - .Include(x => x.RequestedUser) - .Include(x => x.ParentRequest) - .Include(x => x.SeasonRequests) - .ThenInclude(x => x.Episodes) - .AsQueryable(); + if (!anonimize) { + return Db.ChildRequests + .Include(x => x.RequestedUser) + .Include(x => x.ParentRequest) + .Include(x => x.SeasonRequests) + .ThenInclude(x => x.Episodes) + .AsQueryable(); + } + else + { + return Db.ChildRequests + .AsNoTracking() + .Include(x => x.ParentRequest) + .Include(x => x.SeasonRequests) + .ThenInclude(x => x.Episodes) + .AsQueryable(); + } } public IQueryable GetChild(string userId) diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts index 5e8521302..d288c817b 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/components/tv-grid/tv-grid.component.ts @@ -25,6 +25,7 @@ export class TvGridComponent implements OnInit, AfterViewInit { public defaultSort: string = "requestedDate"; public defaultOrder: string = "desc"; public currentFilter: RequestFilterType = RequestFilterType.All; + public anonimized: boolean = true; public RequestFilter = RequestFilterType; public manageOwnRequests: boolean; @@ -90,6 +91,19 @@ export class TvGridComponent implements OnInit, AfterViewInit { this.isLoadingResults = false; this.resultsLength = data.total; + if (data.collection.filter(x => x.requestedUser != null).length > 0) { + this.anonimized = false; + } + + if (this.anonimized) { + this.displayedColumns.forEach((element, index) => { + if (element == 'requestedBy') this.displayedColumns.splice(index, 1); + }); + } + + console.log(this.anonimized); + console.log(data.collection); + return data.collection; }), catchError((err) => {