Skip to content

Commit 7d7456a

Browse files
Micheleboychukvins01-4science
authored andcommitted
Merged in task/dspace-cris-2024_02_x/DSC-2782-OpenPolicyFinder (pull request DSpace#4344)
DSC-2782: [2024] Transizione API SherpaRomeo > Open Policy Finder API Approved-by: Vincenzo Mecca
1 parent 8141f89 commit 7d7456a

57 files changed

Lines changed: 1271 additions & 1419 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/app/core/submission/models/sherpa-policies-details.model.ts renamed to src/app/core/submission/models/opf-policies-details.model.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
/**
22
* An interface to represent an access condition.
33
*/
4-
export class SherpaPoliciesDetailsObject {
4+
export class JiscOpfPoliciesDetailsObject {
55

66
/**
7-
* The sherpa policies error
7+
* The Jisc Open Policy Finder policies error
88
*/
99
error: boolean;
1010

1111
/**
12-
* The sherpa policies journal details
12+
* The Jisc Open Policy Finder policies journal details
1313
*/
1414
journals: Journal[];
1515

1616
/**
17-
* The sherpa policies message
17+
* The Jisc Open Policy Finder policies message
1818
*/
1919
message: string;
2020

2121
/**
22-
* The sherpa policies metadata
22+
* The Jisc Open Policy Finder policies metadata
2323
*/
2424
metadata: Metadata;
2525

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { JiscOpfPoliciesDetailsObject } from './opf-policies-details.model';
2+
3+
/**
4+
* An interface to represent the submission's item accesses condition.
5+
*/
6+
export interface WorkspaceitemSectionJiscOpfPoliciesObject {
7+
8+
/**
9+
* The access condition id
10+
*/
11+
id: string;
12+
13+
/**
14+
* The Jisc Open Policy Finder policies retrievalTime
15+
*/
16+
retrievalTime: string;
17+
18+
/**
19+
* The Jisc Open Policy Finder policies details
20+
*/
21+
opfResponse: JiscOpfPoliciesDetailsObject;
22+
}

src/app/core/submission/models/workspaceitem-section-sherpa-policies.model.ts

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/app/core/submission/models/workspaceitem-sections.model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { WorkspaceitemSectionDuplicatesObject } from './workspaceitem-section-du
66
import { WorkspaceitemSectionFormObject } from './workspaceitem-section-form.model';
77
import { WorkspaceitemSectionIdentifiersObject } from './workspaceitem-section-identifiers.model';
88
import { WorkspaceitemSectionLicenseObject } from './workspaceitem-section-license.model';
9-
import { WorkspaceitemSectionSherpaPoliciesObject } from './workspaceitem-section-sherpa-policies.model';
9+
import { WorkspaceitemSectionJiscOpfPoliciesObject } from './workspaceitem-section-opf-policies.model';
1010
import { WorkspaceitemSectionUploadObject } from './workspaceitem-section-upload.model';
1111

1212
/**
@@ -26,7 +26,7 @@ export type WorkspaceitemSectionDataType
2626
| WorkspaceitemSectionLicenseObject
2727
| WorkspaceitemSectionCcLicenseObject
2828
| WorkspaceitemSectionAccessesObject
29-
| WorkspaceitemSectionSherpaPoliciesObject
29+
| WorkspaceitemSectionJiscOpfPoliciesObject
3030
| WorkspaceitemSectionIdentifiersObject
3131
| WorkspaceitemSectionDuplicatesObject
3232
| WorkspaceitemSectionDetectDuplicateObject

src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ describe('DsDynamicLookupRelationModalComponent', () => {
7979
hierarchical: false,
8080
}),
8181
Object.assign(new ExternalSource(), {
82-
id: 'sherpaPublisher',
83-
name: 'sherpaPublisher',
82+
id: 'opfPublisher',
83+
name: 'opfPublisher',
8484
hierarchical: false,
8585
}),
8686
];
@@ -106,7 +106,7 @@ describe('DsDynamicLookupRelationModalComponent', () => {
106106
relationshipType: 'isAuthorOfPublication',
107107
nameVariants: true,
108108
searchConfiguration: 'personConfig',
109-
externalSources: ['orcidV2', 'sherpaPublisher'],
109+
externalSources: ['orcidV2', 'opfPublisher'],
110110
});
111111
nameVariant = 'Doe, J.';
112112
metadataField = 'dc.contributor.author';

src/app/shared/mocks/section-sherpa-policies.service.mock.ts renamed to src/app/shared/mocks/section-opf-policies.service.mock.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { WorkspaceitemSectionSherpaPoliciesObject } from '../../core/submission/models/workspaceitem-section-sherpa-policies.model';
1+
import { WorkspaceitemSectionJiscOpfPoliciesObject } from '../../core/submission/models/workspaceitem-section-opf-policies.model';
22

3-
export const SherpaDataResponse = {
4-
'id': 'sherpaPolicies',
3+
export const OpfDataResponse = {
4+
'id': 'opfPolicies',
55
'retrievalTime': '2022-04-20T09:44:39.870+00:00',
6-
'sherpaResponse':
6+
'opfResponse':
77
{
88
'error': false,
99
'message': null,
@@ -96,4 +96,4 @@ export const SherpaDataResponse = {
9696
'inDOAJ': false,
9797
}],
9898
},
99-
} as WorkspaceitemSectionSherpaPoliciesObject;
99+
} as WorkspaceitemSectionJiscOpfPoliciesObject;
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
import { WorkspaceitemSectionJiscOpfPoliciesObject } from '../../core/submission/models/workspaceitem-section-opf-policies.model';
2+
3+
export const OpfDataResponse = {
4+
'id': 'opfPolicies',
5+
'retrievalTime': '2022-04-20T09:44:39.870+00:00',
6+
'opfResponse':
7+
{
8+
'error': false,
9+
'message': null,
10+
'metadata': {
11+
'id': 23803,
12+
'uri': 'http://v2.sherpa.ac.uk/id/publication/23803',
13+
'dateCreated': '2012-11-20 14:51:52',
14+
'dateModified': '2020-03-06 11:25:54',
15+
'inDOAJ': false,
16+
'publiclyVisible': true,
17+
},
18+
'journals': [{
19+
'titles': ['The Lancet', 'Lancet'],
20+
'url': 'http://www.thelancet.com/journals/lancet/issue/current',
21+
'issns': ['0140-6736', '1474-547X'],
22+
'romeoPub': 'Elsevier: The Lancet',
23+
'zetoPub': 'Elsevier: The Lancet',
24+
'publisher': {
25+
'name': 'Elsevier',
26+
'relationshipType': null,
27+
'country': null,
28+
'uri': 'http://www.elsevier.com/',
29+
'identifier': null,
30+
'publicationCount': 0,
31+
'paidAccessDescription': 'Open access',
32+
'paidAccessUrl': 'https://www.elsevier.com/about/open-science/open-access',
33+
},
34+
'publishers': [{
35+
'name': 'Elsevier',
36+
'relationshipType': null,
37+
'country': null,
38+
'uri': 'http://www.elsevier.com/',
39+
'identifier': null,
40+
'publicationCount': 0,
41+
'paidAccessDescription': 'Open access',
42+
'paidAccessUrl': 'https://www.elsevier.com/about/open-science/open-access',
43+
}],
44+
'policies': [{
45+
'id': 0,
46+
'openAccessPermitted': false,
47+
'uri': null,
48+
'internalMoniker': 'Lancet',
49+
'permittedVersions': [{
50+
'articleVersion': 'submitted',
51+
'option': 1,
52+
'conditions': ['Upon publication publisher copyright and source must be acknowledged', 'Upon publication must link to publisher version'],
53+
'prerequisites': [],
54+
'locations': ['Author\'s Homepage', 'Preprint Repository'],
55+
'licenses': [],
56+
'embargo': null,
57+
}, {
58+
'articleVersion': 'accepted',
59+
'option': 1,
60+
'conditions': ['Publisher copyright and source must be acknowledged', 'Must link to publisher version'],
61+
'prerequisites': [],
62+
'locations': ['Author\'s Homepage', 'Institutional Website'],
63+
'licenses': ['CC BY-NC-ND'],
64+
'embargo': null,
65+
}, {
66+
'articleVersion': 'accepted',
67+
'option': 2,
68+
'conditions': ['Publisher copyright and source must be acknowledged', 'Must link to publisher version'],
69+
'prerequisites': ['If Required by Funder'],
70+
'locations': ['Non-Commercial Repository'],
71+
'licenses': ['CC BY-NC-ND'],
72+
'embargo': { amount: 6, units: 'Months' },
73+
}, {
74+
'articleVersion': 'accepted',
75+
'option': 3,
76+
'conditions': ['Publisher copyright and source must be acknowledged', 'Must link to publisher version'],
77+
'prerequisites': [],
78+
'locations': ['Non-Commercial Repository'],
79+
'licenses': [],
80+
'embargo': null,
81+
}],
82+
'urls': {
83+
'http://download.thelancet.com/flatcontentassets/authors/lancet-information-for-authors.pdf': 'Guidelines for Authors',
84+
'http://www.thelancet.com/journals/lancet/article/PIIS0140-6736%2813%2960720-5/fulltext': 'The Lancet journals welcome a new open access policy',
85+
'http://www.thelancet.com/lancet-information-for-authors/after-publication': 'What happens after publication?',
86+
'http://www.thelancet.com/lancet/information-for-authors/disclosure-of-results': 'Disclosure of results before publication',
87+
'https://www.elsevier.com/__data/assets/pdf_file/0005/78476/external-embargo-list.pdf': 'Journal Embargo Period List',
88+
'https://www.elsevier.com/__data/assets/pdf_file/0011/78473/UK-Embargo-Periods.pdf': 'Journal Embargo List for UK Authors',
89+
},
90+
'openAccessProhibited': false,
91+
'publicationCount': 0,
92+
'preArchiving': 'can',
93+
'postArchiving': 'can',
94+
'pubArchiving': 'cannot',
95+
}],
96+
'inDOAJ': false,
97+
}],
98+
},
99+
} as WorkspaceitemSectionJiscOpfPoliciesObject;

src/app/submission/objects/submission-objects.effects.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -562,11 +562,11 @@ export class SubmissionObjectEffects {
562562
mappedActions.push(new UpdateSectionDataAction(submissionId, sectionId, sectionData, filteredErrors, sectionErrors));
563563
}
564564

565-
// Sherpa Policies section needs to be updated when the rest response section is empty
566-
const sherpaPoliciesSectionId = findKey(currentState.sections, (section) => section.sectionType === SectionsType.SherpaPolicies);
567-
if (isNotUndefined(sherpaPoliciesSectionId) && isNotEmpty(currentState.sections[sherpaPoliciesSectionId]?.data)
568-
&& isEmpty(sections[sherpaPoliciesSectionId])) {
569-
mappedActions.push(new UpdateSectionDataAction(submissionId, sherpaPoliciesSectionId, null, [], []));
565+
// Opf Policies section needs to be updated when the rest response section is empty
566+
const opfPoliciesSectionId = findKey(currentState.sections, (section) => section.sectionType === SectionsType.OpfPolicies);
567+
if (isNotUndefined(opfPoliciesSectionId) && isNotEmpty(currentState.sections[opfPoliciesSectionId]?.data)
568+
&& isEmpty(sections[opfPoliciesSectionId])) {
569+
mappedActions.push(new UpdateSectionDataAction(submissionId, opfPoliciesSectionId, null, [], []));
570570
}
571571

572572
// When Duplicate Detection step is enabled, add it only if there are duplicates in the response section data

src/app/submission/sections/container/section-container.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
[destroyOnHide]="false">
1414
<ngb-panel id="{{ sectionData.id }}" [type]="sectionRef.isInfo() ? 'info' : ''">
1515
<ng-template ngbPanelTitle>
16-
<span [ngClass]="{ 'text-white' : sectionRef.isInfo()}" class="float-left section-title" tabindex="0">{{
16+
<span [ngClass]="{ 'text-black' : sectionRef.isInfo()}" class="float-left section-title" tabindex="0">{{
1717
'submission.sections.'+sectionData.header | translate
1818
}}</span>
1919
<div class="d-inline-block float-right">

src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.html renamed to src/app/submission/sections/opf-policies/content-accordion/content-accordion.component.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<div class="d-flex">
44
<button type="button" class="btn btn-link p-0 mr-4" (click)="$event.preventDefault()"
55
[attr.aria-expanded]="!collapse.collapsed" aria-controls="collapseExample">
6-
{{version.articleVersion | titlecase}} {{ 'submission.sections.sherpa.publisher.policy.version' |
6+
{{version.articleVersion | titlecase}} {{ 'submission.sections.jisc.publisher.policy.version' |
77
translate
88
}}
99
</button>
@@ -13,7 +13,7 @@
1313
{{version.embargo?.units[0]}}</span>
1414
<ng-template #noEmbargoTitle>
1515
<span><i class="fas fa-hourglass-half"></i> {{
16-
'submission.sections.sherpa.publisher.policy.noembargo' | translate }}</span>
16+
'submission.sections.jisc.publisher.policy.noembargo' | translate }}</span>
1717
</ng-template>
1818

1919
<span class="m-1 ml-4">
@@ -24,7 +24,7 @@
2424
</span>
2525
<ng-template #noLocations>
2626
<span>{{
27-
'submission.sections.sherpa.publisher.policy.nolocation' | translate }}</span>
27+
'submission.sections.jisc.publisher.policy.nolocation' | translate }}</span>
2828
</ng-template>
2929
</span>
3030
</div>
@@ -39,20 +39,20 @@
3939
<div class="row" *ngIf="!!version?.embargo && !!version?.embargo.amount">
4040
<div class="col-4">
4141
<p class="m-1"><i class="fas fa-hourglass-half"></i> {{
42-
'submission.sections.sherpa.publisher.policy.embargo' | translate }}</p>
42+
'submission.sections.jisc.publisher.policy.embargo' | translate }}</p>
4343
</div>
4444
<div class="col-6">
4545
<p class="m-1" *ngIf="!!version.embargo;else noEmbargo">{{version.embargo.amount}}
4646
{{version.embargo.units}}</p>
4747
<ng-template #noEmbargo>
48-
<p class="m-1">{{ 'submission.sections.sherpa.publisher.policy.noembargo' | translate }}</p>
48+
<p class="m-1">{{ 'submission.sections.jisc.publisher.policy.noembargo' | translate }}</p>
4949
</ng-template>
5050
</div>
5151
</div>
5252
<div class="row" *ngIf="!!version?.licenses && version.licenses.length > 0">
5353
<div class="col-4">
5454
<p class="m-1"><i class="fas fa-certificate"></i> {{
55-
'submission.sections.sherpa.publisher.policy.license' | translate }}</p>
55+
'submission.sections.jisc.publisher.policy.license' | translate }}</p>
5656
</div>
5757
<div class="col-6">
5858
<p class="m-1" *ngFor="let license of version.licenses">{{license}}</p>
@@ -61,7 +61,7 @@
6161
<div class="row" *ngIf="!!version?.prerequisites && version.prerequisites.length > 0">
6262
<div class="col-4">
6363
<p class="m-1"><i class="fas fa-exclamation-circle"></i> {{
64-
'submission.sections.sherpa.publisher.policy.prerequisites' | translate }}</p>
64+
'submission.sections.jisc.publisher.policy.prerequisites' | translate }}</p>
6565
</div>
6666
<div class="col-6">
6767
<p class="m-1" *ngFor="let prerequisite of version.prerequisites">{{prerequisite}}</p>
@@ -70,7 +70,7 @@
7070
<div class="row" *ngIf="!!version?.locations && version.locations.length > 0">
7171
<div class="col-4">
7272
<p class="m-1"><i class="far fa-folder-open"></i> {{
73-
'submission.sections.sherpa.publisher.policy.location' | translate }}</p>
73+
'submission.sections.jisc.publisher.policy.location' | translate }}</p>
7474
</div>
7575
<div class="col-6">
7676
<p class="m-1" *ngFor="let location of version.locations">{{location}}</p>
@@ -79,12 +79,12 @@
7979
<div class="row" *ngIf="!!version?.conditions && version.conditions.length > 0">
8080
<div class="col-4">
8181
<p class="m-1"><i class="fas fa-tasks"></i> {{
82-
'submission.sections.sherpa.publisher.policy.conditions' | translate }}</p>
82+
'submission.sections.jisc.publisher.policy.conditions' | translate }}</p>
8383
</div>
8484
<div class="col-6">
8585
<p class="m-1" *ngFor="let condition of version.conditions">{{condition}}</p>
8686
</div>
8787
</div>
8888
</div>
8989
</div>
90-
</div>
90+
</div>

0 commit comments

Comments
 (0)