Skip to content

Commit 09a903a

Browse files
kskaiseratarix83
authored andcommitted
Fix broken read-only form field mechanism in submission forms
The read-only visibility mechanism for submission form fields was not working, as references to SectionVisibility attributes (`main`, `other`) remained after its removal in DSpace CRIS 2024.02.00. This fix adapts the relevant checks in `field-parser.ts` and adds the missing import required for correct handling of `SubmissionVisibility`. Signed-off-by: Katharina Kaiser <katharina.kaiser@tuwien.ac.at>
1 parent c3fcbfe commit 09a903a

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

src/app/shared/form/builder/parsers/field-parser.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,12 @@ import {
1111
import { TranslateService } from '@ngx-translate/core';
1212
import uniqueId from 'lodash/uniqueId';
1313

14-
import {
15-
SubmissionVisibilityType,
16-
SubmissionVisibilityValue,
17-
} from '../../../../core/config/models/config-submission-section.model';
14+
import { SubmissionVisibilityType } from '../../../../core/config/models/config-submission-section.model';
1815
import { MetadataValue } from '../../../../core/shared/metadata.models';
1916
import { Metadata } from '../../../../core/shared/metadata.utils';
2017
import { SubmissionScopeType } from '../../../../core/submission/submission-scope-type';
2118
import { VocabularyOptions } from '../../../../core/submission/vocabularies/models/vocabulary-options.model';
19+
import { SubmissionVisibility } from '../../../../submission/utils/visibility.util';
2220
import { isNgbDateStruct } from '../../../date.util';
2321
import {
2422
hasValue,
@@ -372,8 +370,9 @@ export abstract class FieldParser {
372370
}
373371

374372
/**
375-
* Check if a field is read-only with the given scope
373+
* Check if a field is read-only within the given scope
376374
* @param visibility
375+
* @param fieldScope
377376
* @param submissionScope
378377
*/
379378
private isFieldReadOnly(visibility: SubmissionVisibilityType, fieldScope: string, submissionScope: string) {
@@ -382,12 +381,12 @@ export abstract class FieldParser {
382381
&& isNotEmpty(visibility)
383382
&& ((
384383
submissionScope === SubmissionScopeType.WorkspaceItem.valueOf()
385-
&& visibility.main === SubmissionVisibilityValue.ReadOnly
384+
&& SubmissionVisibility.isReadOnly(visibility, SubmissionScopeType.WorkspaceItem)
386385
)
387386
||
388-
(visibility.other === SubmissionVisibilityValue.ReadOnly
389-
&& submissionScope === SubmissionScopeType.WorkflowItem.valueOf()
390-
)
387+
(submissionScope === SubmissionScopeType.WorkflowItem.valueOf()
388+
&& SubmissionVisibility.isReadOnly(visibility, SubmissionScopeType.WorkflowItem)
389+
)
391390
);
392391
}
393392

0 commit comments

Comments
 (0)