diff --git a/src/app/core/submission/submission-rest.service.ts b/src/app/core/submission/submission-rest.service.ts index d83a07387a..1daf4fcae9 100644 --- a/src/app/core/submission/submission-rest.service.ts +++ b/src/app/core/submission/submission-rest.service.ts @@ -33,7 +33,7 @@ export const getFirstDataDefinition = () => if (response.hasFailed) { throw new Error(response.errorMessage); } else { - return hasValue(response.payload) ? response.payload.dataDefinition : response.payload; + return hasValue(response?.payload?.dataDefinition) ? response.payload.dataDefinition : [response.payload]; } }), distinctUntilChanged(), diff --git a/src/app/submission/form/submission-form.component.spec.ts b/src/app/submission/form/submission-form.component.spec.ts index cc77c44afb..d4499d87ae 100644 --- a/src/app/submission/form/submission-form.component.spec.ts +++ b/src/app/submission/form/submission-form.component.spec.ts @@ -27,7 +27,7 @@ import { TestScheduler } from 'rxjs/testing'; import { SectionsService } from '../sections/sections.service'; import { VisibilityType } from '../sections/visibility-type'; -describe('SubmissionFormComponent Component', () => { +describe('SubmissionFormComponent', () => { let comp: SubmissionFormComponent; let compAsAny: any; @@ -197,7 +197,6 @@ describe('SubmissionFormComponent Component', () => { }); scheduler.flush(); - expect(comp.collectionId).toEqual(submissionObjectNew.collection.id); expect(comp.submissionDefinition).toEqual(submissionObjectNew.submissionDefinition); expect(comp.definitionId).toEqual(submissionObjectNew.submissionDefinition.name); expect(comp.sections).toEqual(submissionObjectNew.sections); @@ -235,7 +234,6 @@ describe('SubmissionFormComponent Component', () => { }); scheduler.flush(); - expect(comp.collectionId).toEqual('45f2f3f1-ba1f-4f36-908a-3f1ea9a557eb'); expect(submissionServiceStub.resetSubmissionObject).not.toHaveBeenCalled(); done(); }); diff --git a/src/app/submission/form/submission-form.component.ts b/src/app/submission/form/submission-form.component.ts index 216aefcfc3..0eb9ad2037 100644 --- a/src/app/submission/form/submission-form.component.ts +++ b/src/app/submission/form/submission-form.component.ts @@ -249,13 +249,12 @@ export class SubmissionFormComponent implements OnChanges, OnDestroy { * new submission object */ onCollectionChange(submissionObject: SubmissionObject) { - this.collectionId = (submissionObject.collection as Collection).id; if (this.definitionId !== (submissionObject.submissionDefinition as SubmissionDefinitionsModel).name) { this.sections = submissionObject.sections; this.submissionDefinition = (submissionObject.submissionDefinition as SubmissionDefinitionsModel); this.definitionId = this.submissionDefinition.name; this.submissionService.resetSubmissionObject( - this.collectionId, + (submissionObject.collection as Collection).id, this.submissionId, submissionObject._links.self.href, this.submissionDefinition, diff --git a/src/app/workflowitems-edit-page/workflow-item-page.resolver.ts b/src/app/workflowitems-edit-page/workflow-item-page.resolver.ts index 4bb3eac513..c5d6ee9520 100644 --- a/src/app/workflowitems-edit-page/workflow-item-page.resolver.ts +++ b/src/app/workflowitems-edit-page/workflow-item-page.resolver.ts @@ -27,6 +27,7 @@ export class WorkflowItemPageResolver implements Resolve> { +export class WorkspaceItemPageResolver implements Resolve> { constructor(private workspaceItemService: WorkspaceitemDataService) { } @@ -22,11 +22,12 @@ export class WorkspaceItemPageResolver implements Resolve> Emits the found workflow item based on the parameters in the current route, * or an error if something went wrong */ - resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> { + resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> { return this.workspaceItemService.findById(route.params.id, true, false, followLink('item'), + followLink('collection'), ).pipe( getFirstCompletedRemoteData(), );