Merge pull request #2761 from ybnd/fix-versioning-button

Fix caching issues for versioning
This commit is contained in:
Tim Donohue
2024-05-30 16:55:17 -05:00
committed by GitHub
22 changed files with 166 additions and 100 deletions

View File

@@ -82,6 +82,8 @@ describe('SubmissionObjectEffects test suite', () => {
let submissionServiceStub;
let submissionJsonPatchOperationsServiceStub;
let submissionObjectDataServiceStub;
let workspaceItemDataService;
const collectionId: string = mockSubmissionCollectionId;
const submissionId: string = mockSubmissionId;
const submissionDefinitionResponse: any = mockSubmissionDefinitionResponse;
@@ -98,6 +100,10 @@ describe('SubmissionObjectEffects test suite', () => {
submissionServiceStub.hasUnsavedModification.and.returnValue(observableOf(true));
workspaceItemDataService = jasmine.createSpyObj('WorkspaceItemDataService', {
invalidateById: observableOf(true),
});
TestBed.configureTestingModule({
imports: [
StoreModule.forRoot({}, storeModuleConfig),
@@ -122,6 +128,7 @@ describe('SubmissionObjectEffects test suite', () => {
{ provide: WorkflowItemDataService, useValue: {} },
{ provide: HALEndpointService, useValue: {} },
{ provide: SubmissionObjectDataService, useValue: submissionObjectDataServiceStub },
{ provide: WorkspaceitemDataService, useValue: workspaceItemDataService },
],
});

View File

@@ -37,6 +37,7 @@ import { WorkspaceitemSectionUploadObject } from '../../core/submission/models/w
import { WorkspaceitemSectionsObject } from '../../core/submission/models/workspaceitem-sections.model';
import { SubmissionJsonPatchOperationsService } from '../../core/submission/submission-json-patch-operations.service';
import { SubmissionObjectDataService } from '../../core/submission/submission-object-data.service';
import { WorkspaceitemDataService } from '../../core/submission/workspaceitem-data.service';
import {
isEmpty,
isNotEmpty,
@@ -287,6 +288,7 @@ export class SubmissionObjectEffects {
depositSubmissionSuccess$ = createEffect(() => this.actions$.pipe(
ofType(SubmissionObjectActionTypes.DEPOSIT_SUBMISSION_SUCCESS),
tap(() => this.notificationsService.success(null, this.translate.get('submission.sections.general.deposit_success_notice'))),
tap((action: DepositSubmissionSuccessAction) => this.workspaceItemDataService.invalidateById(action.payload.submissionId)),
tap(() => this.submissionService.redirectToMyDSpace())), { dispatch: false });
/**
@@ -355,14 +357,17 @@ export class SubmissionObjectEffects {
ofType(SubmissionObjectActionTypes.DISCARD_SUBMISSION_ERROR),
tap(() => this.notificationsService.error(null, this.translate.get('submission.sections.general.discard_error_notice')))), { dispatch: false });
constructor(private actions$: Actions,
constructor(
private actions$: Actions,
private notificationsService: NotificationsService,
private operationsService: SubmissionJsonPatchOperationsService,
private sectionService: SectionsService,
private store$: Store<any>,
private submissionService: SubmissionService,
private submissionObjectService: SubmissionObjectDataService,
private translate: TranslateService) {
private translate: TranslateService,
private workspaceItemDataService: WorkspaceitemDataService,
) {
}
/**