[angular-16-irish-monitor | DONE | ADDED] Orcid work: add check for consent in case of irish
This commit is contained in:
parent
677372a332
commit
8f009f3fee
|
@ -13,6 +13,7 @@ import {UserManagementService} from "../services/user-management.service";
|
||||||
import {OpenaireEntities} from "../utils/properties/searchFields";
|
import {OpenaireEntities} from "../utils/properties/searchFields";
|
||||||
import {FullScreenModalComponent} from "../utils/modal/full-screen-modal/full-screen-modal.component";
|
import {FullScreenModalComponent} from "../utils/modal/full-screen-modal/full-screen-modal.component";
|
||||||
import {LogService} from "../utils/log/log.service";
|
import {LogService} from "../utils/log/log.service";
|
||||||
|
import {UserProfileService} from "../services/userProfile.service";
|
||||||
|
|
||||||
declare var UIkit: any;
|
declare var UIkit: any;
|
||||||
|
|
||||||
|
@ -365,7 +366,7 @@ export class OrcidWorkComponent {
|
||||||
public window: any;
|
public window: any;
|
||||||
|
|
||||||
public isLoggedIn: boolean = false;
|
public isLoggedIn: boolean = false;
|
||||||
|
public hasConsent: boolean = false;
|
||||||
public currentAction: string = "";
|
public currentAction: string = "";
|
||||||
|
|
||||||
public hoverAdd: boolean = false;
|
public hoverAdd: boolean = false;
|
||||||
|
@ -378,7 +379,7 @@ export class OrcidWorkComponent {
|
||||||
private _router: Router,
|
private _router: Router,
|
||||||
private orcidService: OrcidService,
|
private orcidService: OrcidService,
|
||||||
private resultLandingService: ResultLandingService,
|
private resultLandingService: ResultLandingService,
|
||||||
private userManagementService: UserManagementService, private _logService: LogService) {
|
private userManagementService: UserManagementService, private _logService: LogService, private _userProfileService: UserProfileService) {
|
||||||
if (typeof document !== 'undefined') {
|
if (typeof document !== 'undefined') {
|
||||||
this.tokenUrl = properties.orcidTokenURL
|
this.tokenUrl = properties.orcidTokenURL
|
||||||
+ "client_id=" + properties.orcidClientId
|
+ "client_id=" + properties.orcidClientId
|
||||||
|
@ -402,6 +403,13 @@ export class OrcidWorkComponent {
|
||||||
}, error => {
|
}, error => {
|
||||||
this.isLoggedIn = false;
|
this.isLoggedIn = false;
|
||||||
}));
|
}));
|
||||||
|
if(properties.adminToolsPortalType == 'irish'){
|
||||||
|
this.subscriptions.push(this._userProfileService.getUserProfile().subscribe(userProfile => {
|
||||||
|
this.hasConsent = userProfile.consent;
|
||||||
|
}, error =>{
|
||||||
|
this.hasConsent = false;
|
||||||
|
}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy() {
|
ngOnDestroy() {
|
||||||
|
@ -523,7 +531,15 @@ export class OrcidWorkComponent {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
if(properties.adminToolsPortalType == 'irish' && !this.hasConsent){
|
||||||
|
this._router.navigate(['/consent'], {
|
||||||
|
queryParams: {
|
||||||
|
"errorCode": LoginErrorCodes.NOT_VALID,
|
||||||
|
"redirectUrl": this._router.url
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (this.requestGrant) {
|
if (this.requestGrant) {
|
||||||
this.openGrantModal("Add, delete or edit work in your ORCID record");
|
this.openGrantModal("Add, delete or edit work in your ORCID record");
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue