From fdd11d2036041b0b94f0d7b5b62948bfec4d552b Mon Sep 17 00:00:00 2001 From: "k.triantafyllou" Date: Sun, 7 Jan 2024 13:21:01 +0200 Subject: [PATCH] [master | ADDED | DONE]: Add provide link if user is manager of this repository in provide. --- src/app/openaireLibrary | 2 +- src/app/repository/repository.component.ts | 23 ++++++++++++++++++++-- src/assets/extend-theme/less/banner.less | 14 ++++++++++++- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/app/openaireLibrary b/src/app/openaireLibrary index bc4e30c..f81f5d7 160000 --- a/src/app/openaireLibrary +++ b/src/app/openaireLibrary @@ -1 +1 @@ -Subproject commit bc4e30c3f2dc0294cec798252c5c040fe3e377e3 +Subproject commit f81f5d7bfb17dbaa5fd847926f70792e3631fd31 diff --git a/src/app/repository/repository.component.ts b/src/app/repository/repository.component.ts index ca09c1b..67af27c 100644 --- a/src/app/repository/repository.component.ts +++ b/src/app/repository/repository.component.ts @@ -12,6 +12,7 @@ import {SearchCustomFilter} from "../openaireLibrary/searchPages/searchUtils/sea import {LayoutService} from "../openaireLibrary/dashboard/sharedComponents/sidebar/layout.service"; import {OpenaireEntities} from "../openaireLibrary/utils/properties/searchFields"; import {SearchDataprovidersService} from "../openaireLibrary/services/searchDataproviders.service"; +import {UserManagementService} from "../openaireLibrary/services/user-management.service"; @Component({ selector: 'repository', @@ -75,7 +76,7 @@ import {SearchDataprovidersService} from "../openaireLibrary/services/searchData @@ -104,8 +110,10 @@ export class RepositoryComponent extends StakeholderBaseComponent implements OnI isSearch: boolean = false; loading: boolean = false; openaireEntities = OpenaireEntities; + isProvideManager: boolean; constructor(private stakeholderService: StakeholderService, + private userManagementService: UserManagementService, private searchDataprovidersService: SearchDataprovidersService, private layoutService: LayoutService, private _customFilterService: CustomFilterService, @@ -141,7 +149,10 @@ export class RepositoryComponent extends StakeholderBaseComponent implements OnI new SearchCustomFilter("Repository", "collectedfromdatasourceid", this.stakeholder.index_id, this.stakeholder.index_name, true) ]); this.subscriptions.push(this.searchDataprovidersService.searchDataproviderById(this.stakeholder.index_id).subscribe(data => { - this.stakeholder['details'] = data[0]; + this.stakeholder.details = data[0]; + this.subscriptions.push(this.userManagementService.getUserInfoAt(1).subscribe(user => { + this.isProvideManager = !!user.role.find(role => role.includes(this.stakeholder.details.originalId.toUpperCase())); + })); this.loading = false; })); } else { @@ -154,6 +165,14 @@ export class RepositoryComponent extends StakeholderBaseComponent implements OnI }); } + get provideLink() { + if(this.stakeholder?.details?.originalId) { + return 'https://' + (this.properties.environment != 'production'?'beta.':'') + 'provide.openaire.eu/repository/' + this.stakeholder.details.originalId + '/dashboard'; + } else { + return null; + } + } + ngOnDestroy() { super.ngOnDestroy(); this.layoutService.setRootClass(null); diff --git a/src/assets/extend-theme/less/banner.less b/src/assets/extend-theme/less/banner.less index 82412d0..6624cb1 100644 --- a/src/assets/extend-theme/less/banner.less +++ b/src/assets/extend-theme/less/banner.less @@ -11,6 +11,9 @@ @banner-tab-item-active-color: @banner-tab-item-hover-color; @banner-tab-item-active-indicator: @global-background; +@banner-tab-button-background: @global-secondary-background; +@banner-tab-button-border-radius: 0; + .uk-banner:extend(.uk-section) { background: @banner-background; position: relative; @@ -27,7 +30,7 @@ backdrop-filter: blur(30px) opacity(10%) brightness(90%); } - & ul.uk-banner-tab:extend(.uk-flex) { + & ul.uk-banner-tab:extend(.uk-flex):extend(.uk-margin-top) { list-style: none; margin: @banner-tab-margin-vertical 0; @@ -75,5 +78,14 @@ } } } + + & .uk-button { + background: @banner-tab-button-background; + border-radius: @banner-tab-button-border-radius; + + &:hover { + background: fade(@banner-tab-button-background, 80%); + } + } } }