diff --git a/src/app/admin-stakeholder/admin-stakeholder-routing.module.ts b/src/app/admin-stakeholder/admin-stakeholder-routing.module.ts index 656baa3..42cb714 100644 --- a/src/app/admin-stakeholder/admin-stakeholder-routing.module.ts +++ b/src/app/admin-stakeholder/admin-stakeholder-routing.module.ts @@ -9,6 +9,10 @@ import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class"; loadChildren: () => import('../openaireLibrary/monitor-admin/general/general.module').then(m => m.GeneralModule), pathMatch: 'full' }, + { + path: 'users/links', + loadChildren: () => import('../claims/claimsAdmin/claimsAdmin.module').then(m => m.LibClaimsAdminModule), pathMatch: 'full', data: {param: 'stakeholder', parentClass: 'monitor'} + }, { path: 'users', redirectTo: 'users/manager', @@ -29,6 +33,11 @@ import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class"; path: 'admin-tools', loadChildren: () => import('../admin-tools/admin-tools-routing.module').then(m => m.AdminToolsRoutingModule), data: {param: 'stakeholder', parentClass: 'monitor'} + }, + { + path: 'claims/link', + loadChildren: () => import('../claims/directLinking/directLinking.module').then(m => m.LibDirectLinkingModule), + data: {param: 'stakeholder', parentClass: 'monitor'} } ])] }) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 1ed0d96..af332c4 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -286,6 +286,9 @@ export class AppComponent extends SidebarBaseComponent implements OnInit { if (this.isCurator()) { this.adminMenuItems.push(new MenuItem("admin-tools", "Pages & Entities", "", "/admin/" + this.stakeholder.alias + "/admin-tools/pages", false, [], [], {}, {name: 'description'}, null, "uk-visible@m", "/admin/" + this.stakeholder.alias + "/admin-tools")); } + if(this.stakeholder.type == "organization") { + this.adminMenuItems.push(new MenuItem("claim", "Link results", "", "/admin/" + this.stakeholder.alias + "/claims/link", false, [], [], {}, {name: 'link'}, null, "uk-visible@m", "/admin/" + this.stakeholder.alias + "/claims/link")); + } } this.backItem = new MenuItem("back", "Manage profiles", "", "/admin", false, [], null, {}, {name: 'west'}); this.sideBarItems = items; diff --git a/src/app/claims/claimsAdmin/claimsAdmin-routing.module.ts b/src/app/claims/claimsAdmin/claimsAdmin-routing.module.ts new file mode 100644 index 0000000..f0256d3 --- /dev/null +++ b/src/app/claims/claimsAdmin/claimsAdmin-routing.module.ts @@ -0,0 +1,18 @@ +import {NgModule} from '@angular/core'; +import {RouterModule} from '@angular/router'; +import {OpenaireClaimsAdminComponent} from './claimsAdmin.component'; +import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; +import {properties} from "../../../environments/environment"; + + +@NgModule({ + imports: [ + RouterModule.forChild([ + { path: '', component: OpenaireClaimsAdminComponent, data: { + redirect: properties.errorLink + }, canDeactivate: [PreviousRouteRecorder]}, + + ]) + ] +}) +export class ClaimsAdminRoutingModule { } diff --git a/src/app/claims/claimsAdmin/claimsAdmin.component.ts b/src/app/claims/claimsAdmin/claimsAdmin.component.ts new file mode 100644 index 0000000..2afe060 --- /dev/null +++ b/src/app/claims/claimsAdmin/claimsAdmin.component.ts @@ -0,0 +1,46 @@ +import {Component, OnInit} from '@angular/core'; +import {properties} from "../../../environments/environment"; +import {ActivatedRoute} from "@angular/router"; +import {StakeholderService} from "../../openaireLibrary/monitor/services/stakeholder.service"; +import {Title} from "@angular/platform-browser"; + +@Component({ + selector: 'openaire-claims-admin', + template: ` +
+ `, +}) +export class OpenaireClaimsAdminComponent implements OnInit { + claimsInfoURL: string; + userInfoURL: string; + subscriptions = [] + fetchId = null + constructor( private route: ActivatedRoute, private stakeholderService: StakeholderService, private title: Title) { + } + + public ngOnInit() { + this.claimsInfoURL = properties.claimsInformationLink; + if(this.route.snapshot.data.param === 'stakeholder') { + this.subscriptions.push(this.stakeholderService.getStakeholderAsObservable().subscribe(stakeholder => { + if(stakeholder) { + this.fetchId = stakeholder.index_id; + this.title.setTitle(stakeholder.name + ' | Manage claims'); + } + })); + } + } +} diff --git a/src/app/claims/claimsAdmin/claimsAdmin.module.ts b/src/app/claims/claimsAdmin/claimsAdmin.module.ts new file mode 100644 index 0000000..6d88845 --- /dev/null +++ b/src/app/claims/claimsAdmin/claimsAdmin.module.ts @@ -0,0 +1,25 @@ +import { NgModule } from '@angular/core'; + +import { SharedModule } from '../../openaireLibrary/shared/shared.module'; +import { OpenaireClaimsAdminComponent } from './claimsAdmin.component'; +import { ClaimsAdminRoutingModule } from './claimsAdmin-routing.module'; +import{ClaimsAdminModule } from '../../openaireLibrary/claims/claimsAdmin/claimsAdmin.module'; +import{ ClaimsCuratorGuard} from '../../openaireLibrary/login/claimsCuratorGuard.guard'; +import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; +import {IsRouteEnabled} from '../../openaireLibrary/error/isRouteEnabled.guard'; +import {PageContentModule} from "../../openaireLibrary/dashboard/sharedComponents/page-content/page-content.module"; + + +@NgModule({ + imports: [ + SharedModule, + ClaimsAdminRoutingModule, + ClaimsAdminModule, + PageContentModule + ], + providers:[ClaimsCuratorGuard, PreviousRouteRecorder,IsRouteEnabled], + declarations: [ + OpenaireClaimsAdminComponent + ] +}) +export class LibClaimsAdminModule { } diff --git a/src/app/claims/directLinking/directLinking-routing.module.ts b/src/app/claims/directLinking/directLinking-routing.module.ts new file mode 100644 index 0000000..50507ed --- /dev/null +++ b/src/app/claims/directLinking/directLinking-routing.module.ts @@ -0,0 +1,19 @@ +import {NgModule} from '@angular/core'; +import {RouterModule} from '@angular/router'; + +import {OpenaireDirectLinkingComponent} from './directLinking.component'; +import {PreviousRouteRecorder} from '../../openaireLibrary/utils/piwik/previousRouteRecorder.guard'; +import {properties} from "../../../environments/environment"; + + +@NgModule({ + imports: [ + RouterModule.forChild([ + { path: '', component: OpenaireDirectLinkingComponent, data: { + redirect: properties.errorLink, community : 'openaire' + }, canDeactivate: [PreviousRouteRecorder]}, + + ]) + ] +}) +export class DirectLinkingRoutingModule { } diff --git a/src/app/claims/directLinking/directLinking.component.ts b/src/app/claims/directLinking/directLinking.component.ts new file mode 100644 index 0000000..22f26ea --- /dev/null +++ b/src/app/claims/directLinking/directLinking.component.ts @@ -0,0 +1,46 @@ +import {Component, Input} from '@angular/core'; +import {ActivatedRoute} from "@angular/router"; +import {StakeholderService} from "../../openaireLibrary/monitor/services/stakeholder.service"; +import {Title} from "@angular/platform-browser"; +import {MonitorClaimsProperties} from "../monitorClaims.properties"; + +@Component({ + selector: 'openaire-directLinking', + template: ` +