From 4dd338d08ed17727e2c7d8a768f639fdd95ce7e1 Mon Sep 17 00:00:00 2001 From: "konstantina.galouni" Date: Tue, 18 Oct 2022 14:01:26 +0300 Subject: [PATCH] #8149 - [Bug fix] Updated condition to check if current user is owner of DMP/ Dataset (drafts.component.ts & recent-edited-activity.component.ts & recent-edited-dataset-activity.component.ts & recent-edited-dmp-activity.component.ts & dataset-listing-item.component.ts & dmp-clone.component.ts & dmp-listing-item.component.ts). --- .../src/app/ui/dashboard/drafts/drafts.component.ts | 2 +- .../recent-edited-activity.component.ts | 2 +- .../recent-edited-dataset-activity.component.ts | 2 +- .../recent-edited-dmp-activity.component.ts | 2 +- .../listing/listing-item/dataset-listing-item.component.ts | 2 +- dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts | 6 +++++- .../dmp/listing/listing-item/dmp-listing-item.component.ts | 2 +- 7 files changed, 11 insertions(+), 7 deletions(-) diff --git a/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts b/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts index 2cd48c20e..424072c2b 100644 --- a/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts @@ -227,7 +227,7 @@ export class DraftsComponent extends BaseComponent implements OnInit { isUserOwner(activity: DatasetListingModel): boolean { const principal: Principal = this.authentication.current(); - if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id; + if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id)); } onCallbackSuccess(id?: String): void { diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts index a26980193..0110adf19 100644 --- a/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts @@ -186,7 +186,7 @@ export class RecentEditedActivityComponent extends BaseComponent implements OnIn isUserOwner(activity: DmpListingModel): boolean { const principal: Principal = this.authentication.current(); - if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id; + if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id)); } editClicked(dmp: DmpListingModel) { diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts index 8cd7837fb..1eb17a363 100644 --- a/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts @@ -163,7 +163,7 @@ export class RecentEditedDatasetActivityComponent extends BaseComponent implemen isUserOwner(activity: DatasetListingModel): boolean { const principal: Principal = this.authentication.current(); - if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id; + if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id)); } goToOverview(id: string): string[] { diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts index 42f1c507e..ae9bfc46d 100644 --- a/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts @@ -165,7 +165,7 @@ export class RecentEditedDmpActivityComponent extends BaseComponent implements O isUserOwner(activity: DmpListingModel): boolean { const principal: Principal = this.authentication.current(); - if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id; + if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id)); } editClicked(dmp: DmpListingModel) { diff --git a/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts b/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts index ff0ca58e7..284dd1a3d 100644 --- a/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts +++ b/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts @@ -74,7 +74,7 @@ export class DatasetListingItemComponent extends BaseComponent implements OnInit setIsUserOwner() { if (this.dataset) { const principal: Principal = this.authentication.current(); - if (principal) this.isUserOwner = principal.id === this.dataset.users.find(x => x.role === Role.Owner).id; + if (principal) this.isUserOwner = !!this.dataset.users.find(x => (x.role === Role.Owner) && (principal.id === x.id)); } } diff --git a/dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts b/dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts index 82321b4a3..20681c99e 100644 --- a/dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts +++ b/dmp-frontend/src/app/ui/dmp/clone/dmp-clone.component.ts @@ -210,7 +210,11 @@ export class DmpCloneComponent extends BaseComponent implements OnInit { setIsUserOwner() { if (this.dmp) { const principal: Principal = this.authentication.current(); - this.isUserOwner = principal.id === this.dmp.users.find(x => x.role === Role.Owner).id; + if (principal) { + this.isUserOwner = !!this.dmp.users.find(x => (x.role === Role.Owner) && (principal.id === x.id)); + } else { + this.isUserOwner = false; + } } } diff --git a/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts b/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts index 5f54aee71..c6e72d002 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts @@ -367,6 +367,6 @@ export class DmpListingItemComponent extends BaseComponent implements OnInit { isUserOwner(activity: DmpListingModel): boolean { const principal: Principal = this.authentication.current(); - if (principal) return principal.id === activity.users.find(x => x.role === Role.Owner).id; + if (principal) return !!activity.users.find(x => (x.role === Role.Owner) && (principal.id === x.id)); } }