mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
[DURACOM-282] fix issue with submission edit page when providing a not existing workspaceitem
This commit is contained in:
@@ -8,7 +8,10 @@ import {
|
|||||||
|
|
||||||
import { getDSORoute } from '../../app-routing-paths';
|
import { getDSORoute } from '../../app-routing-paths';
|
||||||
import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model';
|
import { Breadcrumb } from '../../breadcrumbs/breadcrumb/breadcrumb.model';
|
||||||
import { hasValue } from '../../shared/empty.util';
|
import {
|
||||||
|
hasValue,
|
||||||
|
isEmpty,
|
||||||
|
} from '../../shared/empty.util';
|
||||||
import { SubmissionService } from '../../submission/submission.service';
|
import { SubmissionService } from '../../submission/submission.service';
|
||||||
import { BreadcrumbsProviderService } from '../breadcrumbs/breadcrumbsProviderService';
|
import { BreadcrumbsProviderService } from '../breadcrumbs/breadcrumbsProviderService';
|
||||||
import { DSOBreadcrumbsService } from '../breadcrumbs/dso-breadcrumbs.service';
|
import { DSOBreadcrumbsService } from '../breadcrumbs/dso-breadcrumbs.service';
|
||||||
@@ -46,6 +49,10 @@ export class SubmissionParentBreadcrumbsService implements BreadcrumbsProviderSe
|
|||||||
* @param submissionObject The {@link SubmissionObject} for which the parent breadcrumb structure needs to be created
|
* @param submissionObject The {@link SubmissionObject} for which the parent breadcrumb structure needs to be created
|
||||||
*/
|
*/
|
||||||
getBreadcrumbs(submissionObject: SubmissionObject): Observable<Breadcrumb[]> {
|
getBreadcrumbs(submissionObject: SubmissionObject): Observable<Breadcrumb[]> {
|
||||||
|
if (isEmpty(submissionObject)) {
|
||||||
|
return observableOf([]);
|
||||||
|
}
|
||||||
|
|
||||||
return combineLatest([
|
return combineLatest([
|
||||||
(submissionObject.collection as Observable<RemoteData<Collection>>).pipe(
|
(submissionObject.collection as Observable<RemoteData<Collection>>).pipe(
|
||||||
getFirstCompletedRemoteData(),
|
getFirstCompletedRemoteData(),
|
||||||
|
@@ -13,6 +13,7 @@ import {
|
|||||||
isNotEmpty,
|
isNotEmpty,
|
||||||
} from '../../shared/empty.util';
|
} from '../../shared/empty.util';
|
||||||
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
|
import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
|
||||||
|
import { ErrorResponse } from '../cache/response.models';
|
||||||
import { RemoteData } from '../data/remote-data';
|
import { RemoteData } from '../data/remote-data';
|
||||||
import {
|
import {
|
||||||
DeleteRequest,
|
DeleteRequest,
|
||||||
@@ -23,6 +24,7 @@ import {
|
|||||||
SubmissionRequest,
|
SubmissionRequest,
|
||||||
} from '../data/request.models';
|
} from '../data/request.models';
|
||||||
import { RequestService } from '../data/request.service';
|
import { RequestService } from '../data/request.service';
|
||||||
|
import { RequestError } from '../data/request-error.model';
|
||||||
import { RestRequest } from '../data/rest-request.model';
|
import { RestRequest } from '../data/rest-request.model';
|
||||||
import { HttpOptions } from '../dspace-rest/dspace-rest.service';
|
import { HttpOptions } from '../dspace-rest/dspace-rest.service';
|
||||||
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
import { HALEndpointService } from '../shared/hal-endpoint.service';
|
||||||
@@ -57,7 +59,7 @@ export class SubmissionRestService {
|
|||||||
getFirstCompletedRemoteData(),
|
getFirstCompletedRemoteData(),
|
||||||
map((response: RemoteData<SubmissionResponse>) => {
|
map((response: RemoteData<SubmissionResponse>) => {
|
||||||
if (response.hasFailed) {
|
if (response.hasFailed) {
|
||||||
throw new Error(response.errorMessage);
|
throw new ErrorResponse({ statusText: response.errorMessage, statusCode: response.statusCode } as RequestError);
|
||||||
} else {
|
} else {
|
||||||
return hasValue(response.payload) ? response.payload.dataDefinition : response.payload;
|
return hasValue(response.payload) ? response.payload.dataDefinition : response.payload;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user