Merge pull request 'Production Release Irish Monitor (1.0.3)' (#54) from develop into master

Reviewed-on: #54
This commit is contained in:
Konstantinos Triantafyllou 2024-10-30 10:00:41 +01:00
commit bb9f4dfc9a
12 changed files with 33 additions and 18 deletions

View File

@ -22,7 +22,7 @@
(selectionChange)="entityChanged($event);advanced.focusNext(input, $event)"
(disableSelectEmitter)="disableSelectChange($event)"
[onChangeNavigate]="false"></entities-selection>
<div input #input class="uk-width-expand" placeholder="Scholary works" [searchable]="true"
<div input #input class="uk-width-expand" placeholder="Scholarly works" [searchable]="true"
[hint]="'Search in OpenAIRE'" [(value)]="keyword"></div>
</advanced-search-input>
</div>

View File

@ -19,7 +19,7 @@
<li *ngFor="let result of results">
<result-preview [properties]="properties" [showOrganizations]="true"
[showSubjects]="true" [result]="getResultPreview(result)" [promoteWebsiteURL]="true"
[isCard]="true" deposit="true" [isMobile]="isMobile">
[isCard]="true" deposit="true" [isMobile]="isMobile" [compactView]="compactView">
</result-preview>
</li>
</ul>

View File

@ -20,7 +20,7 @@ export class SearchResultsInDepositComponent {
@Input() type: string;
@Input() properties:EnvProperties = properties;
@Input() isMobile: boolean = false;
@Input() compactView: boolean = false;
public urlParam: string;
public linkToAdvancedSearchPage: string;

View File

@ -191,7 +191,9 @@ export class DataProviderComponent {
this.fetchOrps = new FetchResearchResults(this._searchResearchResultsService);
this.fetchProjects = new FetchProjects(this._searchProjectsService);
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
if(route.snapshot.data && route.snapshot.data['type']) {
this.type = route.snapshot.data['type'];
}
}
ngOnInit() {

View File

@ -598,7 +598,8 @@ export class ParsingFunctions {
if (pid.hasOwnProperty("classid") && pid['classid'] != "") {
if (pid.classid == "doi" || pid.classid == "pmc" || pid.classid == "handle" || pid.classid == "pmid" || pid.classid == "re3data"
|| pid.classid == "swhid"
|| pid.classid == "ROR" || pid.classid == "ISNI" || pid.classid == "Wikidata" || pid.classid == "FundRef") {
|| pid.classid == "ROR" || pid.classid == "ISNI" || pid.classid == "Wikidata" || pid.classid == "FundRef"
|| pid.classid == "RRID") {
if (!identifiers.has(pid.classid)) {
identifiers.set(pid.classid, new Array<string>());
}
@ -608,7 +609,8 @@ export class ParsingFunctions {
for (let i = 0; i < pid.length; i++) {
if (pid[i].classid == "doi" || pid[i].classid == "pmc" || pid[i].classid == "handle" || pid[i].classid == "pmid" || pid[i].classid == "re3data"
|| pid[i].classid == "swhid"
|| pid[i].classid == "ROR" || pid[i].classid == "ISNI" || pid[i].classid == "Wikidata" || pid[i].classid == "FundRef") {
|| pid[i].classid == "ROR" || pid[i].classid == "ISNI" || pid[i].classid == "Wikidata" || pid[i].classid == "FundRef"
|| pid[i].classid == "RRID") {
if (!identifiers.has(pid[i].classid)) {
identifiers.set(pid[i].classid, new Array<string>());
}

View File

@ -27,7 +27,7 @@ import {properties} from "../../../../environments/environment";
<span [class.uk-margin-small-left]="modal">
<ng-container *ngFor="let item of identifiers.get(key) let j=index">
<a *ngIf="key == 'doi' || key == 'pmc' || key == 'pmid' || key == 'handle' || key == 're3data' || key == 'swhid'
|| key == 'ROR' || key == 'ISNI' || key == 'Wikidata' || key == 'FundRef'"
|| key == 'ROR' || key == 'ISNI' || key == 'Wikidata' || key == 'FundRef' || key == 'RRID'"
[href]="getUrl(key, item) + item" target="_blank" class="uk-display-inline-block custom-external">
{{item}}
</a>
@ -138,6 +138,8 @@ export class ShowIdentifiersComponent implements AfterViewInit {
return properties.wikiDataURL;
} else if(key == "FundRef") {
return properties.fundRefURL;
} else if(key == "RRID") {
return properties.rridURL;
}
}

View File

@ -131,9 +131,9 @@ export class RoleVerificationComponent extends BaseComponent implements OnInit,
this.subscriptions.push(this.userRegistryService.getInvitation(params['verify']).subscribe(verification => {
this.verification = verification;
if (this.user.email === this.verification.email.toLowerCase() && this.id === this.verification.entity && this._type === this.verification.type) {
if (this.verification.verificationType === 'manager') {
if (this.verification.verificationType.toLowerCase() === 'manager') {
this.openManagerModal();
} else if (this.verification.verificationType === 'member') {
} else if (this.verification.verificationType.toLowerCase() === 'member') {
this.openMemberModal();
} else {
this.openErrorModal();

View File

@ -418,7 +418,8 @@
[type]="entityType"
[zenodoInformation]="zenodoInformation"
[properties]=properties
[isMobile]="mobile">
[isMobile]="mobile"
[compactView]="compactView">
</deposit-result>
<orcid-result *ngIf="usedBy == 'orcid'"
[results]="results"

View File

@ -71,7 +71,7 @@ export class UserRegistryService {
}
public getPending(type: string, id: string, role: "member" | "manager" = "manager", admin = false): Observable<any[]> {
let url = properties.registryUrl + 'invite/' + Role.GROUP + type + '/' +id + "/" + role + 's/';
let url = properties.registryUrl + 'invite/' + Role.GROUP + type + '/' +id + "/" + role + 's';
return this.http.get<any>((properties.useCache && !admin) ? (properties.cacheUrl + encodeURIComponent(url)) : url,
CustomOptions.registryOptions()).pipe(map((response: any) => response.response));
}

View File

@ -51,6 +51,7 @@ export interface EnvProperties {
isniURL?: string;
wikiDataURL?: string;
fundRefURL?: string;
rridURL?: string;
fairSharingURL?: string,
openScienceCloudURL?: string,
eoscMarketplaceURL?: string,

View File

@ -24,6 +24,7 @@ export let common: EnvProperties = {
isniURL: "https://isni.org/isni/",
wikiDataURL: "https://www.wikidata.org/wiki/",
fundRefURL: "https://data.crossref.org/fundingdata/funder/",
rridURL: "https://scicrunch.org/resolver/",
fairSharingURL: "https://fairsharing.org/",
openScienceCloudURL: "https://open-science-cloud.ec.europa.eu/resources/services/",
sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
@ -101,23 +102,23 @@ export let commonDev: EnvProperties = {
statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
statisticsFrameNewAPIURL: "https://beta.services.openaire.eu/stats-tool/",
claimsAPIURL: "http://scoobydoo.di.uoa.gr:8880/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
claimsAPIURL: "http://dl170.madgik.di.uoa.gr:19780/uoa-claims-service/claimsService/",
searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/",
searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
orcidAPIURL: "http://duffy.di.uoa.gr:19480/uoa-orcid-service/",
orcidAPIURL: "http://dl170.madgik.di.uoa.gr:19480/uoa-orcid-service/",
orcidTokenURL: "https://sandbox.orcid.org/oauth/authorize?",
orcidClientId: "APP-A5M3KTX6NCN67L91",
utilsService: "http://scoobydoo.di.uoa.gr:8000",
utilsService: "http://dl170.madgik.di.uoa.gr:8000",
vocabulariesAPI: "https://services.openaire.eu/provision/mvc/vocabularies/",
loginServiceURL: "http://dl170.madgik.di.uoa.gr:19080/login-service/",
cookieDomain: ".di.uoa.gr",
feedbackmail: "kostis30fylloy@gmail.com",
cacheUrl: "http://dl170.madgik.di.uoa.gr:3000/get?url=",
monitorServiceAPIURL: "http://mpagasas.di.uoa.gr:19380/uoa-monitor-service/",
adminToolsAPIURL: "http://duffy.di.uoa.gr:19280/uoa-admin-tools/",
adminToolsAPIURL: "http://dl170.madgik.di.uoa.gr:19280/uoa-admin-tools/",
datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/api/",
contextsAPI: "https://dev-openaire.d4science.org/openaire/context",
communityAPI: "https://dev-openaire.d4science.org/openaire/community/",
@ -129,7 +130,7 @@ export let commonDev: EnvProperties = {
adminPortalURL: "https://beta.admin.connect.openaire.eu",
//connect
communitiesAPI: 'https://dev-openaire.d4science.org/openaire/community/communities',
registryUrl: 'http://mpagasas.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/api/registry/',
registryUrl: 'http://dl170.madgik.di.uoa.gr:19180/uoa-user-management/api/registry/',
reCaptchaSiteKey: "6LcVtFIUAAAAAB2ac6xYivHxYXKoUvYRPi-6_rLu",
//admin
miningBackendURL: 'https://beta.services.openaire.eu/interactive-mining',

View File

@ -150,7 +150,7 @@ export class DOI {
}
export class Identifier {
class: "doi" | "pmc" | "pmid" | "handle" | "ORCID" | "re3data" | "swhid" | "ror" | "wikidata" | "fundref" | "isni" = null;
class: "doi" | "pmc" | "pmid" | "handle" | "ORCID" | "re3data" | "swhid" | "ror" | "wikidata" | "fundref" | "isni" | "RRID" = null;
id: string;
public static getDOIsFromString(str: string): string[] {
@ -213,13 +213,15 @@ export class Identifier {
return {"class": "wikidata", "id": pid};
} else if (Identifier.isValidIsni(pid)) {
return {"class": "isni", "id": pid};
} else if(Identifier.isValidRrid(pid)) {
return {"class": "RRID", "id": pid};
}
//set it as a doi, to catch the case that doi has not valid format
return (strict?null:{"class": "doi", "id": pid});
}
public static getPIDFromIdentifiers(identifiers: Map<string, string[]>): Identifier {
let classes:string [] = ["doi", "handle", "pmc", "pmid", "re3data", "swhid", "ror", "wikidata", "fundref", "isni"];
let classes:string [] = ["doi", "handle", "pmc", "pmid", "re3data", "swhid", "ror", "wikidata", "fundref", "isni", "rrid"];
if(identifiers && identifiers.size > 0) {
for (let cl of classes) {
if (identifiers.get(cl)) {
@ -303,6 +305,10 @@ export class Identifier {
return str.match(exp) != null;
}
public static isValidRrid(str: string): boolean {
let exp = /^RRID:.*$/g;
return str.match(exp) != null;
}
}
export class StringUtils {