monitor/src/app/utils/manage/manage.component.ts

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;
});
}
}
});
}
}