Skip to content

Commit 81fb2e1

Browse files
Merge branch 'w2p-127655_fix-submission-form-getting-stuck-in-loop_contribute-7.6'
2 parents 4d74d2c + 3d32715 commit 81fb2e1

6 files changed

Lines changed: 9 additions & 11 deletions

File tree

src/app/core/submission/submission-rest.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export const getFirstDataDefinition = () =>
4848
if (response.hasFailed) {
4949
throw new ErrorResponse({ statusText: response.errorMessage, statusCode: response.statusCode } as RequestError);
5050
} else {
51-
return hasValue(response.payload) ? response.payload.dataDefinition : response.payload;
51+
return hasValue(response?.payload?.dataDefinition) ? response.payload.dataDefinition : [response.payload];
5252
}
5353
}),
5454
distinctUntilChanged(),

src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ import {
9696
getRemoteDataPayload,
9797
} from '../../../../core/shared/operators';
9898
import { SubmissionObject } from '../../../../core/submission/models/submission-object.model';
99+
import { SUBMISSION_LINKS_TO_FOLLOW } from '../../../../core/submission/resolver/submission-links-to-follow';
99100
import { SubmissionObjectDataService } from '../../../../core/submission/submission-object-data.service';
100101
import { paginatedRelationsToItems } from '../../../../item-page/simple/item-types/shared/item-relationships-utils';
101102
import { SubmissionService } from '../../../../submission/submission.service';
@@ -450,7 +451,7 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
450451
*/
451452
private setItem() {
452453
const submissionObject$ = this.submissionObjectService
453-
.findById(this.model.submissionId, true, true, followLink('item'), followLink('collection')).pipe(
454+
.findById(this.model.submissionId, true, true, ...SUBMISSION_LINKS_TO_FOLLOW).pipe(
454455
getAllSucceededRemoteData(),
455456
getRemoteDataPayload(),
456457
);

src/app/submission/form/submission-form.component.spec.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import { SubmissionFormSectionAddComponent } from './section-add/submission-form
4747
import { SubmissionFormComponent } from './submission-form.component';
4848
import { ThemedSubmissionUploadFilesComponent } from './submission-upload-files/themed-submission-upload-files.component';
4949

50-
describe('SubmissionFormComponent Component', () => {
50+
describe('SubmissionFormComponent', () => {
5151

5252
let comp: SubmissionFormComponent;
5353
let compAsAny: any;
@@ -227,7 +227,6 @@ describe('SubmissionFormComponent Component', () => {
227227
});
228228
scheduler.flush();
229229

230-
expect(comp.collectionId).toEqual(submissionObjectNew.collection.id);
231230
expect(comp.submissionDefinition).toEqual(submissionObjectNew.submissionDefinition);
232231
expect(comp.definitionId).toEqual(submissionObjectNew.submissionDefinition.name);
233232
expect(comp.sections).toEqual(submissionObjectNew.sections);
@@ -265,7 +264,6 @@ describe('SubmissionFormComponent Component', () => {
265264
});
266265
scheduler.flush();
267266

268-
expect(comp.collectionId).toEqual('45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb');
269267
expect(submissionServiceStub.resetSubmissionObject).not.toHaveBeenCalled();
270268
done();
271269
});

src/app/submission/form/submission-form.component.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,13 +285,12 @@ export class SubmissionFormComponent implements OnChanges, OnDestroy {
285285
* new submission object
286286
*/
287287
onCollectionChange(submissionObject: SubmissionObject) {
288-
this.collectionId = (submissionObject.collection as Collection).id;
289288
if (this.definitionId !== (submissionObject.submissionDefinition as SubmissionDefinitionsModel).name) {
290289
this.sections = submissionObject.sections;
291290
this.submissionDefinition = (submissionObject.submissionDefinition as SubmissionDefinitionsModel);
292291
this.definitionId = this.submissionDefinition.name;
293292
this.submissionService.resetSubmissionObject(
294-
this.collectionId,
293+
(submissionObject.collection as Collection).id,
295294
this.submissionId,
296295
submissionObject._links.self.href,
297296
this.submissionDefinition,

src/app/workflowitems-edit-page/workflow-item-page.resolver.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import { Observable } from 'rxjs';
99
import { RemoteData } from '../core/data/remote-data';
1010
import { getFirstCompletedRemoteData } from '../core/shared/operators';
1111
import { WorkflowItem } from '../core/submission/models/workflowitem.model';
12+
import { SUBMISSION_LINKS_TO_FOLLOW } from '../core/submission/resolver/submission-links-to-follow';
1213
import { WorkflowItemDataService } from '../core/submission/workflowitem-data.service';
13-
import { followLink } from '../shared/utils/follow-link-config.model';
1414

1515
export const workflowItemPageResolver: ResolveFn<RemoteData<WorkflowItem>> = (
1616
route: ActivatedRouteSnapshot,
@@ -21,7 +21,7 @@ export const workflowItemPageResolver: ResolveFn<RemoteData<WorkflowItem>> = (
2121
route.params.id,
2222
true,
2323
false,
24-
followLink('item'),
24+
...SUBMISSION_LINKS_TO_FOLLOW,
2525
).pipe(
2626
getFirstCompletedRemoteData(),
2727
);

src/app/workspaceitems-edit-page/workspace-item-page.resolver.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import { Observable } from 'rxjs';
99
import { RemoteData } from '../core/data/remote-data';
1010
import { getFirstCompletedRemoteData } from '../core/shared/operators';
1111
import { WorkspaceItem } from '../core/submission/models/workspaceitem.model';
12+
import { SUBMISSION_LINKS_TO_FOLLOW } from '../core/submission/resolver/submission-links-to-follow';
1213
import { WorkspaceitemDataService } from '../core/submission/workspaceitem-data.service';
13-
import { followLink } from '../shared/utils/follow-link-config.model';
1414

1515
/**
1616
* Method for resolving a workflow item based on the parameters in the current route
@@ -28,7 +28,7 @@ export const workspaceItemPageResolver: ResolveFn<RemoteData<WorkspaceItem>> = (
2828
return workspaceItemService.findById(route.params.id,
2929
true,
3030
false,
31-
followLink('item'),
31+
...SUBMISSION_LINKS_TO_FOLLOW,
3232
).pipe(
3333
getFirstCompletedRemoteData(),
3434
);

0 commit comments

Comments
 (0)