diff --git a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.html b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.html
index 7933e2671..e8bc4379d 100644
--- a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.html
+++ b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.html
@@ -11,6 +11,9 @@
more_horiz
+
diff --git a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts
index ee60fa07b..9e9e9732a 100644
--- a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts
+++ b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts
@@ -21,6 +21,7 @@ import * as FileSaver from 'file-saver';
import { Observable, of as observableOf } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { Role } from "@app/core/common/enum/role";
+import { DmpInvitationDialogComponent } from '../invitation/dmp-invitation.component';
@Component({
selector: 'app-dmp-overview',
@@ -64,7 +65,7 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
.pipe(takeUntil(this._destroyed))
.subscribe(data => {
this.dmp = data;
- this.setIsUserOwner();
+ this.setIsUserOwnerOrCreator();
const breadCrumbs = [];
breadCrumbs.push({ parentComponentName: null, label: this.language.instant('NAV-BAR.MY-DMPS'), url: "/plans" });
breadCrumbs.push({ parentComponentName: 'DmpListingComponent', label: this.dmp.label, url: '/plans/overview/' + this.dmp.id });
@@ -83,7 +84,7 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
.pipe(takeUntil(this._destroyed))
.subscribe(data => {
this.dmp = data;
- this.setIsUserOwner();
+ this.setIsUserOwnerOrCreator();
const breadCrumbs = [];
breadCrumbs.push({ parentComponentName: null, label: this.language.instant('NAV-BAR.PUBLIC-DMPS'), url: "/explore-plans" });
breadCrumbs.push({ parentComponentName: 'DmpListingComponent', label: this.dmp.label, url: '/plans/publicOverview/' + this.dmp.id });
@@ -102,10 +103,10 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
this.router.navigate([redirectRoot]);
}
- setIsUserOwner() {
+ setIsUserOwnerOrCreator() {
if (this.dmp) {
const principal: Principal = this.authentication.current();
- if (principal) this.isUserOwner = principal.id === this.dmp.users.find(x => x.role === Role.Owner).id;
+ if (principal) this.isUserOwner = principal.id === this.dmp.users.find(x => x.role === Role.Owner || x.role === Role.Creator).id;
}
}
@@ -243,12 +244,15 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
}
});
}
- if (role === Role.Owner) {
- return this.translate.instant('DMP-LISTING.OWNER');
- } else if (role === Role.Member) {
- return this.translate.instant('DMP-LISTING.MEMBER');
- } else {
- return this.translate.instant('DMP-LISTING.OWNER');
+ switch (role) {
+ case Role.Creator:
+ return this.translate.instant('DMP-LISTING.CREATOR');
+ case Role.Owner:
+ return this.translate.instant('DMP-LISTING.OWNER');
+ case Role.Member:
+ return this.translate.instant('DMP-LISTING.MEMBER');
+ default:
+ return this.translate.instant('DMP-LISTING.OWNER');
}
}
@@ -266,10 +270,15 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
}
roleDisplay(value: UserInfoListingModel) {
- if (value.role === Role.Member) {
- return this.translate.instant('DMP-LISTING.MEMBER');
- } else {
- return this.translate.instant('DMP-LISTING.OWNER');
+ switch (value.role) {
+ case Role.Creator:
+ return this.translate.instant('DMP-LISTING.CREATOR');
+ case Role.Owner:
+ return this.translate.instant('DMP-LISTING.OWNER');
+ case Role.Member:
+ return this.translate.instant('DMP-LISTING.MEMBER');
+ default:
+ return this.translate.instant('DMP-LISTING.OWNER');
}
}
@@ -409,6 +418,18 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit {
return !(!this.authentication.current());
}
+ openShareDialog(rowId: any, rowName: any) {
+ const dialogRef = this.dialog.open(DmpInvitationDialogComponent, {
+ // height: '250px',
+ // width: '700px',
+ restoreFocus: false,
+ data: {
+ dmpId: rowId,
+ dmpName: rowName
+ }
+ });
+ }
+
// advancedClicked() {
// const dialogRef = this.dialog.open(ExportMethodDialogComponent, {
// maxWidth: '500px',