fixed issue with failed request of resource policy edit

This commit is contained in:
Giuseppe Digilio
2020-12-11 09:53:37 +01:00
parent f86f95e0f9
commit c2e0ba9d98
2 changed files with 7 additions and 3 deletions

View File

@@ -76,6 +76,10 @@ export const getSucceededRemoteWithNotEmptyData = () =>
<T>(source: Observable<RemoteData<T>>): Observable<RemoteData<T>> => <T>(source: Observable<RemoteData<T>>): Observable<RemoteData<T>> =>
source.pipe(find((rd: RemoteData<T>) => rd.hasSucceeded && isNotEmpty(rd.payload))); source.pipe(find((rd: RemoteData<T>) => rd.hasSucceeded && isNotEmpty(rd.payload)));
export const getSucceededRemoteWithNotEmptyDataOrFailed = () =>
<T>(source: Observable<RemoteData<T>>): Observable<RemoteData<T>> =>
source.pipe(find((rd: RemoteData<T>) => (rd.hasSucceeded && isNotEmpty(rd.payload)) || rd.hasFailed));
export const getSucceededOrNoContentResponse = () => export const getSucceededOrNoContentResponse = () =>
<T>(source: Observable<RemoteData<T>>): Observable<RemoteData<T>> => <T>(source: Observable<RemoteData<T>>): Observable<RemoteData<T>> =>
source.pipe(find((rd: RemoteData<T>) => rd.hasSucceeded || rd.hasNoContent)); source.pipe(find((rd: RemoteData<T>) => rd.hasSucceeded || rd.hasNoContent));

View File

@@ -12,7 +12,7 @@ import { ResourcePolicy } from '../../../core/resource-policy/models/resource-po
import { ResourcePolicyEvent } from '../form/resource-policy-form.component'; import { ResourcePolicyEvent } from '../form/resource-policy-form.component';
import { RESOURCE_POLICY } from '../../../core/resource-policy/models/resource-policy.resource-type'; import { RESOURCE_POLICY } from '../../../core/resource-policy/models/resource-policy.resource-type';
import { ITEM_EDIT_AUTHORIZATIONS_PATH } from '../../../+item-page/edit-item-page/edit-item-page.routing-paths'; import { ITEM_EDIT_AUTHORIZATIONS_PATH } from '../../../+item-page/edit-item-page/edit-item-page.routing-paths';
import { getSucceededRemoteWithNotEmptyData } from '../../../core/shared/operators'; import { getSucceededRemoteWithNotEmptyDataOrFailed } from '../../../core/shared/operators';
@Component({ @Component({
selector: 'ds-resource-policy-edit', selector: 'ds-resource-policy-edit',
@@ -89,11 +89,11 @@ export class ResourcePolicyEditComponent implements OnInit {
_links: this.resourcePolicy._links _links: this.resourcePolicy._links
}); });
this.resourcePolicyService.update(updatedObject).pipe( this.resourcePolicyService.update(updatedObject).pipe(
getSucceededRemoteWithNotEmptyData(), getSucceededRemoteWithNotEmptyDataOrFailed(),
take(1) take(1)
).subscribe((responseRD: RemoteData<ResourcePolicy>) => { ).subscribe((responseRD: RemoteData<ResourcePolicy>) => {
this.processing$.next(false); this.processing$.next(false);
if (responseRD.hasSucceeded) { if (responseRD && responseRD.hasSucceeded) {
this.notificationsService.success(null, this.translate.get('resource-policies.edit.page.success.content')); this.notificationsService.success(null, this.translate.get('resource-policies.edit.page.success.content'));
this.redirectToAuthorizationsPage(); this.redirectToAuthorizationsPage();
} else { } else {