Skip to content

Commit 3036e72

Browse files
atarix83tdonohue
authored andcommitted
[DURACOM-282] fix issue with submission edit page when providing a not existing workspaceitem
1 parent 4eacdfb commit 3036e72

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

src/app/core/submission/submission-parent-breadcrumb.service.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import { DSOBreadcrumbsService } from '../breadcrumbs/dso-breadcrumbs.service';
1111
import { getDSORoute } from '../../app-routing-paths';
1212
import { SubmissionService } from '../../submission/submission.service';
1313
import { CollectionDataService } from '../data/collection-data.service';
14-
import { hasValue } from '../../shared/empty.util';
14+
import {
15+
hasValue,
16+
isEmpty,
17+
} from '../../shared/empty.util';
1518

1619
/**
1720
* Service to calculate the parent {@link DSpaceObject} breadcrumbs for a {@link SubmissionObject}
@@ -35,6 +38,10 @@ export class SubmissionParentBreadcrumbsService implements BreadcrumbsProviderSe
3538
* @param submissionObject The {@link SubmissionObject} for which the parent breadcrumb structure needs to be created
3639
*/
3740
getBreadcrumbs(submissionObject: SubmissionObject): Observable<Breadcrumb[]> {
41+
if (isEmpty(submissionObject)) {
42+
return observableOf([]);
43+
}
44+
3845
return combineLatest([
3946
(submissionObject.collection as Observable<RemoteData<Collection>>).pipe(
4047
getFirstCompletedRemoteData(),

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ import { HALEndpointService } from '../shared/hal-endpoint.service';
1919
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
2020
import { getFirstCompletedRemoteData } from '../shared/operators';
2121
import { URLCombiner } from '../url-combiner/url-combiner';
22+
import { ErrorResponse } from '../cache/response.models';
2223
import { RemoteData } from '../data/remote-data';
2324
import { SubmissionResponse } from './submission-response.model';
25+
import { RequestError } from '../data/request-error.model';
2426
import { RestRequest } from '../data/rest-request.model';
2527

2628
/**
@@ -49,7 +51,7 @@ export class SubmissionRestService {
4951
getFirstCompletedRemoteData(),
5052
map((response: RemoteData<SubmissionResponse>) => {
5153
if (response.hasFailed) {
52-
throw new Error(response.errorMessage);
54+
throw new ErrorResponse({ statusText: response.errorMessage, statusCode: response.statusCode } as RequestError);
5355
} else {
5456
return hasValue(response.payload) ? response.payload.dataDefinition : response.payload;
5557
}

0 commit comments

Comments
 (0)