diff --git a/src/Ombi.Core/Engine/BaseMediaEngine.cs b/src/Ombi.Core/Engine/BaseMediaEngine.cs index be857c4ae..a77602484 100644 --- a/src/Ombi.Core/Engine/BaseMediaEngine.cs +++ b/src/Ombi.Core/Engine/BaseMediaEngine.cs @@ -82,14 +82,17 @@ namespace Ombi.Core.Engine // Admins can always manage requests var isAdmin = await IsInRole(OmbiRoles.PowerUser) || await IsInRole(OmbiRoles.Admin); - if (isAdmin) + if (isAdmin) { return new RequestEngineResult { Result = true }; - + } // Users with 'ManageOwnRequests' can only manage their own requests - var isRequestedBySameUser = ( await GetUser() ).Equals(request.RequestedUser); var canManageOwnRequests = await IsInRole(OmbiRoles.ManageOwnRequests); - if(canManageOwnRequests && isRequestedBySameUser) - return new RequestEngineResult { Result = true }; + if (canManageOwnRequests) { + var isRequestedBySameUser = ( await GetUser() ).Equals(request.RequestedUser); + if (!isRequestedBySameUser) { + return new RequestEngineResult { Result = true }; + } + } return new RequestEngineResult { diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/albums-grid/albums-grid.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/albums-grid/albums-grid.component.ts index 50cc9b104..d0529e018 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/albums-grid/albums-grid.component.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/components/albums-grid/albums-grid.component.ts @@ -9,7 +9,6 @@ import { RequestServiceV2 } from "../../../services/requestV2.service"; import { AuthService } from "../../../auth/auth.service"; import { StorageService } from "../../../shared/storage/storage-service"; import { RequestFilterType } from "../../models/RequestFilterType"; -import { IdentityService } from "../../../services"; @Component({ templateUrl: "./albums-grid.component.html", @@ -43,11 +42,9 @@ export class AlbumsGridComponent implements OnInit, AfterViewInit { @ViewChild(MatSort) sort: MatSort; constructor(private requestService: RequestServiceV2, private ref: ChangeDetectorRef, - private auth: AuthService, private storageService: StorageService, private identity: IdentityService) { + private auth: AuthService, private storageService: StorageService) { - identity.getUser().subscribe(u => { - this.userName = u.userName; - }); + this.userName = auth.claims().name; } public ngOnInit() { diff --git a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts index a167d5492..cad5a6c60 100644 --- a/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts +++ b/src/Ombi/ClientApp/src/app/requests-list/components/movies-grid/movies-grid.component.ts @@ -1,6 +1,6 @@ import { AfterViewInit, ChangeDetectorRef, Component, EventEmitter, OnInit, Output, ViewChild } from "@angular/core"; import { IMovieRequests, IRequestEngineResult, IRequestsViewModel } from "../../../interfaces"; -import { IdentityService, NotificationService, RequestService } from "../../../services"; +import { NotificationService, RequestService } from "../../../services"; import { Observable, forkJoin, merge, of as observableOf } from 'rxjs'; import { catchError, map, startWith, switchMap } from 'rxjs/operators'; @@ -49,11 +49,9 @@ export class MoviesGridComponent implements OnInit, AfterViewInit { constructor(private requestService: RequestServiceV2, private ref: ChangeDetectorRef, private auth: AuthService, private storageService: StorageService, private requestServiceV1: RequestService, private notification: NotificationService, - private translateService: TranslateService, private identity: IdentityService) { + private translateService: TranslateService) { - identity.getUser().subscribe(u => { - this.userName = u.userName; - }); + this.userName = auth.claims().name; } public ngOnInit() {