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..915d0324be 100644 --- a/src/app/submission/edit/submission-edit.component.ts +++ b/src/app/submission/edit/submission-edit.component.ts @@ -34,6 +34,8 @@ export class SubmissionEditComponent implements OnDestroy, OnInit { * The collection id this submission belonging to * @type {string} */ + public collectionModifiable: boolean; + public collectionId: string; /** @@ -102,13 +104,16 @@ export class SubmissionEditComponent implements OnDestroy, OnInit { private itemDataService: ItemDataService, private submissionService: SubmissionService, private translate: TranslateService, - private submissionJsonPatchOperationsService: SubmissionJsonPatchOperationsService) { + private submissionJsonPatchOperationsService: SubmissionJsonPatchOperationsService) { } /** * Retrieve workspaceitem/workflowitem from server and initialize all instance variables */ ngOnInit() { + + this.collectionModifiable = this.route.snapshot.data['collectionModifiable']; + 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..aa33905daf 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" 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..fb2b2a815a 100644 --- a/src/app/submission/form/collection/submission-form-collection.component.ts +++ b/src/app/submission/form/collection/submission-form-collection.component.ts @@ -51,6 +51,12 @@ export class SubmissionFormCollectionComponent implements OnChanges, OnInit { * @type {SubmissionDefinitionsModel} */ @Input() currentDefinition: string; + + /** + * Checks if the collection can be modifiable by the user + * @type {booelan} + */ + @Input() collectionModifiable: boolean; /** * The submission id @@ -144,6 +150,7 @@ export class SubmissionFormCollectionComponent implements OnChanges, OnInit { ngOnInit() { this.pathCombiner = new JsonPatchOperationPathCombiner('sections', 'collection'); this.available$ = this.sectionsService.isSectionTypeAvailable(this.submissionId, SectionsType.collection); + console.log("this.collectionModifiable", this.collectionModifiable) } /** 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..dba803e5c1 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; + + /** * 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..89c77f7c3d 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: true + } }, { canActivate: [AuthenticatedGuard],