Skip to content

Commit 65bd96d

Browse files
committed
Merge branch 'release/25.07.0'
2 parents 05ce12b + 05a9552 commit 65bd96d

File tree

51 files changed

+2582
-116
lines changed

Some content is hidden

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

51 files changed

+2582
-116
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

7+
## [25.07.0] - 2025-04-07
8+
### Added
9+
- Bugfix and Improvements
10+
711
## [25.06.0] - 2025-03-11
812
### Added
913
- Bugfix and Improvements - FE Release

app/guid-node/template.hbs

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -56,48 +56,6 @@
5656
/>
5757
{{#if this.onFilesRoute}}
5858
<FileProviderMenu @node={{this.model.taskInstance.value}} />
59-
{{!-- <div
60-
data-test-file-providers-list
61-
local-class='FileProvidersList'
62-
>
63-
{{#each this.model.taskInstance.value.files as |provider|}}
64-
<div local-class='FileProvider'>
65-
<OsfLink
66-
data-test-files-provider-link={{provider.name}}
67-
data-analytics-name={{concat
68-
'Files - '
69-
provider.name
70-
}}
71-
@route='guid-node.files.provider'
72-
@models={{array
73-
this.model.taskInstance.value.id
74-
provider.name
75-
}}
76-
>
77-
{{t
78-
(concat
79-
'osf-components.file-browser.storage_providers.'
80-
provider.name
81-
)
82-
}}
83-
</OsfLink>
84-
{{#if (eq provider.name 'osfstorage')}}
85-
<span>
86-
<FaIcon
87-
local-class='FileProviderIcon'
88-
@icon='globe'
89-
/>
90-
<EmberTooltip @side='right'>
91-
{{t
92-
'osf-components.file-browser.storage_location'
93-
}}
94-
{{this.model.taskInstance.value.region.name}}
95-
</EmberTooltip>
96-
</span>
97-
{{/if}}
98-
</div>
99-
{{/each}}
100-
</div> --}}
10159
{{/if}}
10260
{{#if this.model.taskInstance.value.wikiEnabled}}
10361
<leftNav.link

app/models/log.ts

Lines changed: 82 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,91 @@
11
import { attr, belongsTo, AsyncBelongsTo } from '@ember-data/model';
2+
import RegistrationModel from 'ember-osf-web/models/registration';
3+
import { Link } from 'jsonapi-typescript';
24

35
import NodeModel from './node';
46
import OsfModel from './osf-model';
5-
import UserModel from './user';
7+
import UserModel, { UserLinks } from './user';
8+
9+
export interface LogParamNodeModel {
10+
id: string;
11+
title: string;
12+
}
13+
14+
export interface ContributorModel {
15+
id: string;
16+
fullName: string;
17+
active: boolean;
18+
unregisteredName?: string;
19+
}
20+
21+
export interface LogParamUrls {
22+
view: Link;
23+
download: Link;
24+
}
25+
26+
export interface LogParamIdentifiersModel {
27+
doi?: string;
28+
ark?: string;
29+
}
30+
31+
export interface LogParamNameUrlModel {
32+
name: string;
33+
url: string;
34+
}
35+
36+
export interface LogParamInstitutionModel {
37+
id: string;
38+
name: string;
39+
}
40+
41+
export interface LogParamSourceModel {
42+
materialized: string;
43+
addon: string;
44+
url: string;
45+
}
46+
47+
48+
export interface LogParamModel {
49+
addon: string;
50+
anonymousLink: boolean;
51+
contributors: ContributorModel[];
52+
destination: LogParamSourceModel;
53+
file: LogParamNameUrlModel;
54+
githubUser: string;
55+
guid: string;
56+
identifiers: LogParamIdentifiersModel;
57+
institution: LogParamInstitutionModel;
58+
kind: string;
59+
license: string;
60+
pageId: string;
61+
page: string;
62+
oldPage: string;
63+
paramsNode: LogParamNodeModel;
64+
paramsProject: string;
65+
path: string;
66+
pathType: string;
67+
pointer: string;
68+
preprint: string;
69+
preprintProvider: LogParamNameUrlModel;
70+
source: LogParamSourceModel;
71+
tag: string;
72+
titleNew: string;
73+
titleOriginal: string;
74+
updatedFields: Object;
75+
urls: UserLinks;
76+
value: string;
77+
version: string;
78+
wiki: LogParamNameUrlModel;
79+
}
680

781
export default class LogModel extends OsfModel {
882
@attr('date') date!: Date;
983
@attr('fixstring') action!: string;
10-
@attr('object') params!: any;
84+
// eslint-disable-next-line
85+
// @ts-ignore
86+
@attr('object', {snakifyForApi: true}) params!: LogParamModel;
1187

12-
@belongsTo('node', { inverse: null })
88+
@belongsTo('node', { inverse: null})
1389
node!: AsyncBelongsTo<NodeModel> & NodeModel;
1490

1591
@belongsTo('node', { polymorphic: true, inverse: 'logs' })
@@ -23,6 +99,9 @@ export default class LogModel extends OsfModel {
2399

24100
@belongsTo('node', { inverse: null })
25101
templateNode!: AsyncBelongsTo<NodeModel> & NodeModel;
102+
103+
@belongsTo('registration', { inverse: null })
104+
linkedRegistration!: AsyncBelongsTo<RegistrationModel> & RegistrationModel;
26105
}
27106

28107
declare module 'ember-data/types/registries/model' {

app/models/preprint.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,8 @@ export default class PreprintModel extends AbstractNodeModel {
129129
return this.dateWithdrawn !== null;
130130
}
131131

132-
get verifiedDoi(): string {
133-
if (this.preprintDoiCreated) {
134-
return extractDoi(this.preprintDoiUrl) || '';
135-
}
136-
return '';
132+
get extractedDoi(): string {
133+
return extractDoi(this.preprintDoiUrl) || '';
137134
}
138135

139136
@computed('license', 'licenseRecord')

app/models/user.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ const Validations = buildValidations({
5454
});
5555

5656
export interface UserLinks extends OsfLinks {
57+
view: string;
5758
html: Link;
5859
profile_image: Link; // eslint-disable-line camelcase
5960
}

app/preprints/-components/submit/supplements/component.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import { task } from 'ember-concurrency';
66
import { waitFor } from '@ember/test-waiters';
77
import { taskFor } from 'ember-concurrency-ts';
88
import NodeModel from 'ember-osf-web/models/node';
9+
import Toast from 'ember-toastr/services/toast';
10+
import { inject as service } from '@ember/service';
11+
import Intl from 'ember-intl/services/intl';
912

1013
/**
1114
* The Supplements Args
@@ -18,6 +21,8 @@ interface SupplementsArgs {
1821
* The Supplements Component
1922
*/
2023
export default class Supplements extends Component<SupplementsArgs>{
24+
@service toast!: Toast;
25+
@service intl!: Intl;
2126
@tracked displayExistingNodeWidget = false;
2227
@tracked isSupplementAttached = false;
2328
@tracked isModalOpen = false;
@@ -63,10 +68,14 @@ export default class Supplements extends Component<SupplementsArgs>{
6368
@task
6469
@waitFor
6570
public async removeSelectedProject(): Promise<void> {
66-
await this.args.manager.preprint.removeM2MRelationship('node');
67-
await this.args.manager.preprint.reload();
68-
this.isSupplementAttached = false;
69-
this.validate();
71+
try {
72+
await this.args.manager.preprint.removeM2MRelationship('node'); // Remove relationship
73+
this.args.manager.preprint.set('node', null); // Ensure local cache is updated
74+
this.isSupplementAttached = false;
75+
this.validate();
76+
} catch (error) {
77+
this.toast.error(this.intl.t('preprints.submit.step-supplements.failed-removal'));
78+
}
7079
}
7180

7281
@action

app/preprints/-components/withdrawal-preprint/component-test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import PreprintModel from 'ember-osf-web/models/preprint';
1010
import PreprintProviderModel from 'ember-osf-web/models/preprint-provider';
1111
import { ModelInstance } from 'ember-cli-mirage';
1212

13-
interface ComopenntTestContext extends TestContext {
13+
interface ComponentTestContext extends TestContext {
1414
preprint: PreprintModel;
1515
provider: PreprintProviderModel;
1616
onWithdrawal: () => void;
@@ -21,7 +21,7 @@ module('Integration | Preprint | Component | withdrawal-preprint', hooks => {
2121
setupMirage(hooks);
2222
setupIntl(hooks);
2323

24-
test('it renders and shows appropriate text', async function(this: ComopenntTestContext, assert) {
24+
test('it renders and shows appropriate text', async function(this: ComponentTestContext, assert) {
2525
this.store = this.owner.lookup('service:store');
2626
this.intl = this.owner.lookup('service:intl');
2727

app/preprints/detail/controller.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ export default class PrePrintsDetailController extends Controller {
8787
get showEditButton() {
8888
const providerIsPremod = this.model.provider.reviewsWorkflow === PreprintProviderReviewsWorkFlow.PRE_MODERATION;
8989
const preprintIsRejected = this.model.preprint.reviewsState === ReviewsState.REJECTED;
90-
const preprintIsFirstVersion = this.model.preprint.version === 1;
9190

9291
if (!this.userIsContrib) {
9392
return false;
@@ -105,8 +104,7 @@ export default class PrePrintsDetailController extends Controller {
105104
return true;
106105
}
107106
// Edit and resubmit
108-
if (preprintIsFirstVersion && preprintIsRejected
109-
&& this.model.preprint.currentUserIsAdmin) {
107+
if (preprintIsRejected && this.model.preprint.currentUserIsAdmin) {
110108
return true;
111109
}
112110
}

app/preprints/detail/route.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ export default class PreprintsDetail extends Route {
214214
return {
215215
osfMetrics: {
216216
itemGuid: preprint.id,
217-
itemDoi: preprint.verifiedDoi,
217+
itemDoi: preprint.extractedDoi,
218218
},
219219
};
220220
}

app/preprints/detail/template.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@
181181
local-class='btn btn-primary'
182182
target='_blank'
183183
@href={{ this.fileDownloadUrl }}
184-
{{track-download this.model.preprint.id doi=this.model.preprint.verifiedDoi}}
184+
{{track-download this.model.preprint.id doi=this.model.preprint.extractedDoi}}
185185
>
186186
{{t 'preprints.detail.share.download' documentType=this.model.provider.documentType.singular}}
187187
</OsfLink>

0 commit comments

Comments
 (0)