Skip to content

Commit f8018ec

Browse files
Micheleboychukvins01-4science
authored andcommitted
Merged in task/dspace-cris-2023_02_x/DSC-2782-OPF (pull request DSpace#4345)
DSC-2782: [2023] Transizione API SherpaRomeo > Open Policy Finder API Approved-by: Vincenzo Mecca
1 parent e8998b9 commit f8018ec

55 files changed

Lines changed: 347 additions & 207 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
@@ -1,10 +1,10 @@
11
import { WorkspaceitemSectionAccessesObject } from './workspaceitem-section-accesses.model';
22
import { WorkspaceitemSectionFormObject } from './workspaceitem-section-form.model';
33
import { WorkspaceitemSectionLicenseObject } from './workspaceitem-section-license.model';
4+
import { WorkspaceitemSectionJiscOpfPoliciesObject } from './workspaceitem-section-opf-policies.model';
45
import { WorkspaceitemSectionUploadObject } from './workspaceitem-section-upload.model';
56
import { WorkspaceitemSectionCcLicenseObject } from './workspaceitem-section-cc-license.model';
67
import { WorkspaceitemSectionIdentifiersObject } from './workspaceitem-section-identifiers.model';
7-
import { WorkspaceitemSectionSherpaPoliciesObject } from './workspaceitem-section-sherpa-policies.model';
88
import { WorkspaceitemSectionDetectDuplicateObject } from './workspaceitem-section-deduplication.model';
99
import { WorkspaceitemSectionCorrectionObject } from './workspaceitem-section-correction.model';
1010

@@ -25,7 +25,7 @@ export type WorkspaceitemSectionDataType
2525
| WorkspaceitemSectionLicenseObject
2626
| WorkspaceitemSectionCcLicenseObject
2727
| WorkspaceitemSectionAccessesObject
28-
| WorkspaceitemSectionSherpaPoliciesObject
28+
| WorkspaceitemSectionJiscOpfPoliciesObject
2929
| WorkspaceitemSectionIdentifiersObject
3030
| WorkspaceitemSectionDetectDuplicateObject
3131
| WorkspaceitemSectionCorrectionObject

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
@@ -55,8 +55,8 @@ describe('DsDynamicLookupRelationModalComponent', () => {
5555
hierarchical: false
5656
}),
5757
Object.assign(new ExternalSource(), {
58-
id: 'sherpaPublisher',
59-
name: 'sherpaPublisher',
58+
id: 'opfPublisher',
59+
name: 'opfPublisher',
6060
hierarchical: false
6161
})
6262
];
@@ -82,7 +82,7 @@ describe('DsDynamicLookupRelationModalComponent', () => {
8282
relationshipType: 'isAuthorOfPublication',
8383
nameVariants: true,
8484
searchConfiguration: 'personConfig',
85-
externalSources: ['orcidV2', 'sherpaPublisher']
85+
externalSources: ['orcidV2', 'opfPublisher']
8686
});
8787
nameVariant = 'Doe, J.';
8888
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: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import {
2-
WorkspaceitemSectionSherpaPoliciesObject
3-
} from '../../core/submission/models/workspaceitem-section-sherpa-policies.model';
2+
WorkspaceitemSectionJiscOpfPoliciesObject
3+
} from '../../core/submission/models/workspaceitem-section-opf-policies.model';
44

5-
export const SherpaDataResponse = {
6-
'id': 'sherpaPolicies',
5+
export const OpfDataResponse = {
6+
'id': 'opfPolicies',
77
'retrievalTime': '2022-04-20T09:44:39.870+00:00',
8-
'sherpaResponse':
8+
'opfResponse':
99
{
1010
'error': false,
1111
'message': null,
@@ -98,4 +98,4 @@ export const SherpaDataResponse = {
9898
'inDOAJ': false
9999
}]
100100
}
101-
} as WorkspaceitemSectionSherpaPoliciesObject;
101+
} 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
@@ -507,11 +507,11 @@ export class SubmissionObjectEffects {
507507
mappedActions.push(new UpdateSectionDataAction(submissionId, sectionId, sectionData, filteredErrors, sectionErrors));
508508
}
509509

510-
// Sherpa Policies section needs to be updated when the rest response section is empty
511-
const sherpaPoliciesSectionId = findKey(currentState.sections, (section) => section.sectionType === SectionsType.SherpaPolicies);
512-
if (isNotUndefined(sherpaPoliciesSectionId) && isNotEmpty(currentState.sections[sherpaPoliciesSectionId]?.data)
513-
&& isEmpty(sections[sherpaPoliciesSectionId])) {
514-
mappedActions.push(new UpdateSectionDataAction(submissionId, sherpaPoliciesSectionId, null, [], []));
510+
// Opf Policies section needs to be updated when the rest response section is empty
511+
const opfPoliciesSectionId = findKey(currentState.sections, (section) => section.sectionType === SectionsType.OpfPolicies);
512+
if (isNotUndefined(opfPoliciesSectionId) && isNotEmpty(currentState.sections[opfPoliciesSectionId]?.data)
513+
&& isEmpty(sections[opfPoliciesSectionId])) {
514+
mappedActions.push(new UpdateSectionDataAction(submissionId, opfPoliciesSectionId, null, [], []));
515515
}
516516

517517
if (isNotEmpty((currentState.sections['detect-duplicate']?.data as WorkspaceitemSectionDetectDuplicateObject)?.matches)

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>

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

File renamed without changes.

0 commit comments

Comments
 (0)