From b46dc973f87a8a3a651a14c5f2059baa66599aa6 Mon Sep 17 00:00:00 2001 From: andrej romanov <50377758+auumgn@users.noreply.github.com> Date: Wed, 30 Oct 2024 19:13:13 +0200 Subject: [PATCH] display name or orcid id when source id is missing --- .../modal-email/modal-email.component.html | 4 +++- .../modals/modal-email/modal-email.component.ts | 11 +++++++++++ .../side-bar/side-bar/side-bar.component.html | 4 +++- .../cdk/side-bar/side-bar/side-bar.component.ts | 5 ++--- src/app/shared/utils/record.util.ts | 17 +++++++++++++++++ 5 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/app/cdk/side-bar/modals/modal-email/modal-email.component.html b/src/app/cdk/side-bar/modals/modal-email/modal-email.component.html index 025cd4393..05fc5fecc 100644 --- a/src/app/cdk/side-bar/modals/modal-email/modal-email.component.html +++ b/src/app/cdk/side-bar/modals/modal-email/modal-email.component.html @@ -131,7 +131,9 @@

[name]=" email.professionalEmail ? orcidEmailValidation - : email.sourceName || email.source + : displayName || + userInfo.EFFECTIVE_USER_ORCID || + userInfo.REAL_USER_ORCID " [isEmailOrDomain]="true" [date]=" diff --git a/src/app/cdk/side-bar/modals/modal-email/modal-email.component.ts b/src/app/cdk/side-bar/modals/modal-email/modal-email.component.ts index 0c52a8236..520b72c94 100644 --- a/src/app/cdk/side-bar/modals/modal-email/modal-email.component.ts +++ b/src/app/cdk/side-bar/modals/modal-email/modal-email.component.ts @@ -23,8 +23,10 @@ import { ModalComponent } from 'src/app/cdk/modal/modal/modal.component' import { PlatformInfoService } from 'src/app/cdk/platform-info' import { SnackbarService } from 'src/app/cdk/snackbar/snackbar.service' import { RecordEmailsService } from 'src/app/core/record-emails/record-emails.service' +import { RecordNamesService } from 'src/app/core/record-names/record-names.service' import { TogglzService } from 'src/app/core/togglz/togglz.service' import { UserInfoService } from 'src/app/core/user-info/user-info.service' +import { RecordUtil } from 'src/app/shared/utils/record.util' import { AssertionVisibilityString, EmailsEndpoint, @@ -91,6 +93,7 @@ export class ModalEmailComponent implements OnInit, OnDestroy { loadingTogglz = false emailDomainsTogglz = false disableVisibilities: { [domainPutcode: string]: VisibilityStrings[] } = {} + displayName: string isMobile: boolean userInfo: UserInfo @@ -98,6 +101,7 @@ export class ModalEmailComponent implements OnInit, OnDestroy { constructor( public dialogRef: MatDialogRef, public _recordEmails: RecordEmailsService, + private _names: RecordNamesService, private _changeDetectorRef: ChangeDetectorRef, private _platform: PlatformInfoService, private _snackBar: SnackbarService, @@ -117,6 +121,13 @@ export class ModalEmailComponent implements OnInit, OnDestroy { (platform) => (this.isMobile = platform.columns4 || platform.columns8) ) + this._names + .getNames() + .pipe(takeUntil(this.$destroy)) + .subscribe((names) => { + this.displayName = RecordUtil.getDisplayName(names) + }) + this._recordEmails .getEmails() .pipe( diff --git a/src/app/cdk/side-bar/side-bar/side-bar.component.html b/src/app/cdk/side-bar/side-bar/side-bar.component.html index c8d875f19..50cc46573 100644 --- a/src/app/cdk/side-bar/side-bar/side-bar.component.html +++ b/src/app/cdk/side-bar/side-bar/side-bar.component.html @@ -144,7 +144,9 @@

[name]=" email.professionalEmail ? orcidEmailValidation - : email.sourceName || email.source + : displayName || + userInfo.EFFECTIVE_USER_ORCID || + userInfo.REAL_USER_ORCID " [isEmailOrDomain]="true" [date]=" diff --git a/src/app/cdk/side-bar/side-bar/side-bar.component.ts b/src/app/cdk/side-bar/side-bar/side-bar.component.ts index 439819c95..1d8432162 100644 --- a/src/app/cdk/side-bar/side-bar/side-bar.component.ts +++ b/src/app/cdk/side-bar/side-bar/side-bar.component.ts @@ -13,7 +13,6 @@ import { RecordService } from 'src/app/core/record/record.service' import { Address, Assertion, - AssertionVisibilityString, NameForm, RequestInfoForm, UserInfo, @@ -75,6 +74,7 @@ export class SideBarComponent implements OnInit, OnDestroy { userInfo: UserInfo userRecord: UserRecord platform: PlatformInfo + displayName: string websiteOpenState = false keywordOpenState = false @@ -138,9 +138,8 @@ export class SideBarComponent implements OnInit, OnDestroy { this.orcidId = true } this.userRecord = userRecord - this.userInfo = userRecord?.userInfo - + this.displayName = RecordUtil.getDisplayName(userRecord?.names) this.onSideBarElementsDisplay(userRecord) }) } diff --git a/src/app/shared/utils/record.util.ts b/src/app/shared/utils/record.util.ts index d20a2cf8f..fe0733434 100644 --- a/src/app/shared/utils/record.util.ts +++ b/src/app/shared/utils/record.util.ts @@ -1,5 +1,6 @@ import { E } from '@angular/cdk/keycodes' import { Assertion } from 'src/app/types' +import { NamesEndPoint } from 'src/app/types/record-name.endpoint' import { UserRecord } from 'src/app/types/record.local' export class RecordUtil { @@ -21,6 +22,22 @@ export class RecordUtil { : '' } + static getDisplayName(names: NamesEndPoint): string { + if ( + names?.creditName && + names?.creditName.value && + names?.creditName.value.length + ) { + return names.creditName.value + } else { + return ( + ((names?.givenNames && names?.givenNames.value) || ' ') + + ' ' + + ((names?.familyName && names?.familyName.value) || ' ') + ) + } + } + static isNamePublicAndAffiliations( userRecord: UserRecord, affiliations: number