52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
import { Component, Input, ViewChild } from '@angular/core';
|
|
import { Location } from '@angular/common';
|
|
import {ActivatedRoute} from '@angular/router';
|
|
import { EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
|
|
import {CommunityService} from '../../openaireLibrary/connect/community/community.service';
|
|
import {Session} from '../../openaireLibrary/login/utils/helper.class';
|
|
@Component({
|
|
selector: 'manage',
|
|
template: `
|
|
|
|
|
|
<a *ngIf="isManager" [href]="'https://beta.admin.connect.openaire.eu/dashboard?communityId='+communityId" class="uk-button uk-button-default uk-margin-left" target="_blank" >
|
|
<span class="uk-margin-small-right uk-icon" uk-icon="cog"> </span>Manage</a>
|
|
|
|
|
|
`
|
|
})
|
|
|
|
export class ManageComponent {
|
|
@Input() communityId:string;
|
|
|
|
|
|
isManager:boolean = false;
|
|
properties:EnvProperties;
|
|
constructor (private route: ActivatedRoute,
|
|
private _communityService: CommunityService
|
|
) {
|
|
}
|
|
|
|
public ngOnInit() {
|
|
this.route.data
|
|
.subscribe((data: { envSpecific: EnvProperties }) => {
|
|
this.properties = data.envSpecific;
|
|
if(Session.isLoggedIn()){
|
|
if(Session.isPortalAdministrator()||Session.isCommunityCurator()){
|
|
this.isManager = true;
|
|
}else if(Session.isLoggedIn()){
|
|
var email = Session.getUserEmail();
|
|
this._communityService.iscommunityManager(this.properties, this.properties.communityAPI+ this.communityId, email).subscribe (
|
|
res => {
|
|
this.isManager = res;
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|