mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
CC License Submission Step - fix error when saving submission
This commit is contained in:
@@ -2,7 +2,7 @@ import { Component, Inject } from '@angular/core';
|
|||||||
import { Observable, of as observableOf, Subscription } from 'rxjs';
|
import { Observable, of as observableOf, Subscription } from 'rxjs';
|
||||||
import { Field, Option, SubmissionCcLicence } from '../../../core/submission/models/submission-cc-license.model';
|
import { Field, Option, SubmissionCcLicence } from '../../../core/submission/models/submission-cc-license.model';
|
||||||
import { getRemoteDataPayload, getSucceededRemoteData } from '../../../core/shared/operators';
|
import { getRemoteDataPayload, getSucceededRemoteData } from '../../../core/shared/operators';
|
||||||
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
|
import { distinctUntilChanged, filter, map, take } from 'rxjs/operators';
|
||||||
import { SubmissionCcLicenseDataService } from '../../../core/submission/submission-cc-license-data.service';
|
import { SubmissionCcLicenseDataService } from '../../../core/submission/submission-cc-license-data.service';
|
||||||
import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
|
import { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
|
||||||
import { renderSectionFor } from '../sections-decorator';
|
import { renderSectionFor } from '../sections-decorator';
|
||||||
@@ -235,15 +235,19 @@ export class SubmissionSectionCcLicensesComponent extends SectionModelComponent
|
|||||||
distinctUntilChanged(),
|
distinctUntilChanged(),
|
||||||
map((sectionState) => sectionState.data as WorkspaceitemSectionCcLicenseObject),
|
map((sectionState) => sectionState.data as WorkspaceitemSectionCcLicenseObject),
|
||||||
).subscribe((data) => {
|
).subscribe((data) => {
|
||||||
this.sectionData.data = data;
|
if (this.data.accepted !== data.accepted) {
|
||||||
const path = this.pathCombiner.getPath('uri');
|
const path = this.pathCombiner.getPath('uri');
|
||||||
if (this.accepted) {
|
if (data.accepted) {
|
||||||
this.getCcLicenseLink$().subscribe((link) => {
|
this.getCcLicenseLink$().pipe(
|
||||||
this.operationsBuilder.add(path, link.toString(), false, true);
|
take(1),
|
||||||
});
|
).subscribe((link) => {
|
||||||
} else {
|
this.operationsBuilder.add(path, link.toString(), false, true);
|
||||||
this.operationsBuilder.remove(path);
|
});
|
||||||
|
} else if (!!this.data.uri) {
|
||||||
|
this.operationsBuilder.remove(path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
this.sectionData.data = data;
|
||||||
}),
|
}),
|
||||||
this.submissionCcLicensesDataService.findAll({elementsPerPage: Number.MAX_SAFE_INTEGER}).pipe(
|
this.submissionCcLicensesDataService.findAll({elementsPerPage: Number.MAX_SAFE_INTEGER}).pipe(
|
||||||
getSucceededRemoteData(),
|
getSucceededRemoteData(),
|
||||||
|
Reference in New Issue
Block a user