diff --git a/src/app/submission/edit/submission-edit.component.html b/src/app/submission/edit/submission-edit.component.html index b74d3861f8..9c0e9eae72 100644 --- a/src/app/submission/edit/submission-edit.component.html +++ b/src/app/submission/edit/submission-edit.component.html @@ -5,5 +5,6 @@ [submissionDefinition]="submissionDefinition" [submissionErrors]="submissionErrors" [item]="item" + [collectionModifiable]="collectionModifiable" [submissionId]="submissionId"> diff --git a/src/app/submission/edit/submission-edit.component.ts b/src/app/submission/edit/submission-edit.component.ts index 840d57c661..93200e5e5c 100644 --- a/src/app/submission/edit/submission-edit.component.ts +++ b/src/app/submission/edit/submission-edit.component.ts @@ -36,6 +36,13 @@ export class SubmissionEditComponent implements OnDestroy, OnInit { */ public collectionId: string; + /** + * Checks if the collection can be modifiable by the user + * @type {booelan} + */ + public collectionModifiable: boolean | null = null; + + /** * The list of submission's sections * @type {WorkspaceitemSectionsObject} @@ -109,6 +116,9 @@ export class SubmissionEditComponent implements OnDestroy, OnInit { * Retrieve workspaceitem/workflowitem from server and initialize all instance variables */ ngOnInit() { + + this.collectionModifiable = this.route.snapshot.data?.collectionModifiable ?? null; + this.subs.push( this.route.paramMap.pipe( switchMap((params: ParamMap) => this.submissionService.retrieveSubmission(params.get('id'))), diff --git a/src/app/submission/form/collection/submission-form-collection.component.html b/src/app/submission/form/collection/submission-form-collection.component.html index 15b6ff280e..c1227eeccc 100644 --- a/src/app/submission/form/collection/submission-form-collection.component.html +++ b/src/app/submission/form/collection/submission-form-collection.component.html @@ -25,7 +25,7 @@ class="btn btn-outline-primary" (blur)="onClose()" (click)="onClose()" - [disabled]="(processingChange$ | async)" + [disabled]="(processingChange$ | async) || collectionModifiable == false" ngbDropdownToggle> {{ selectedCollectionName$ | async }} diff --git a/src/app/submission/form/collection/submission-form-collection.component.ts b/src/app/submission/form/collection/submission-form-collection.component.ts index adcffd9b5d..4eac4c506a 100644 --- a/src/app/submission/form/collection/submission-form-collection.component.ts +++ b/src/app/submission/form/collection/submission-form-collection.component.ts @@ -52,6 +52,12 @@ export class SubmissionFormCollectionComponent implements OnChanges, OnInit { */ @Input() currentDefinition: string; + /** + * Checks if the collection can be modifiable by the user + * @type {booelan} + */ + @Input() collectionModifiable: boolean | null = null; + /** * The submission id * @type {string} diff --git a/src/app/submission/form/submission-form.component.html b/src/app/submission/form/submission-form.component.html index a80fe35f4e..f75af08f8e 100644 --- a/src/app/submission/form/submission-form.component.html +++ b/src/app/submission/form/submission-form.component.html @@ -11,6 +11,7 @@ diff --git a/src/app/submission/form/submission-form.component.ts b/src/app/submission/form/submission-form.component.ts index 42ee9f05ac..0e17e128bc 100644 --- a/src/app/submission/form/submission-form.component.ts +++ b/src/app/submission/form/submission-form.component.ts @@ -34,8 +34,16 @@ export class SubmissionFormComponent implements OnChanges, OnDestroy { * @type {string} */ @Input() collectionId: string; + @Input() item: Item; + /** + * Checks if the collection can be modifiable by the user + * @type {booelan} + */ + @Input() collectionModifiable: boolean | null = null; + + /** * The list of submission's sections * @type {WorkspaceitemSectionsObject} diff --git a/src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts b/src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts index 06536d5816..b093f20563 100644 --- a/src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts +++ b/src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts @@ -34,7 +34,11 @@ import { resolve: { breadcrumb: I18nBreadcrumbResolver }, - data: { title: 'workflow-item.edit.title', breadcrumbKey: 'workflow-item.edit' } + data: { + title: 'workflow-item.edit.title', + breadcrumbKey: 'workflow-item.edit', + collectionModifiable: false + } }, { canActivate: [AuthenticatedGuard],