diff --git a/src/app/core/config/models/config-access-condition-option.model.ts b/src/app/core/config/models/config-access-condition-option.model.ts
index 46bf1b60ce..334ff8f34e 100644
--- a/src/app/core/config/models/config-access-condition-option.model.ts
+++ b/src/app/core/config/models/config-access-condition-option.model.ts
@@ -8,16 +8,6 @@ export class AccessConditionOption {
*/
name: string;
- /**
- * The uuid of the Group this Access Condition applies to
- */
- groupUUID: string;
-
- /**
- * The uuid of the Group that contains set of groups this Resource Policy applies to
- */
- selectGroupUUID: string;
-
/**
* A boolean representing if this Access Condition has a start date
*/
diff --git a/src/app/core/submission/models/submission-upload-file-access-condition.model.ts b/src/app/core/submission/models/submission-upload-file-access-condition.model.ts
index 8b89397f24..fa4d9b9062 100644
--- a/src/app/core/submission/models/submission-upload-file-access-condition.model.ts
+++ b/src/app/core/submission/models/submission-upload-file-access-condition.model.ts
@@ -13,11 +13,6 @@ export class SubmissionUploadFileAccessConditionObject {
*/
name: string;
- /**
- * The access group UUID defined in this access condition
- */
- groupUUID: string;
-
/**
* Possible start date of the access condition
*/
diff --git a/src/app/shared/mocks/submission.mock.ts b/src/app/shared/mocks/submission.mock.ts
index 036df92d2e..16cc9b6262 100644
--- a/src/app/shared/mocks/submission.mock.ts
+++ b/src/app/shared/mocks/submission.mock.ts
@@ -1284,27 +1284,23 @@ export const mockUploadConfigResponse = {
accessConditionOptions: [
{
name: 'openaccess',
- groupUUID: '123456-g',
hasStartDate: false,
hasEndDate: false
},
{
name: 'lease',
- groupUUID: '123456-g',
hasStartDate: false,
hasEndDate: true,
maxEndDate: '2019-07-12T14:40:06.308+0000'
},
{
name: 'embargo',
- groupUUID: '123456-g',
hasStartDate: true,
hasEndDate: false,
maxStartDate: '2022-01-12T14:40:06.308+0000'
},
{
name: 'administrator',
- groupUUID: '0f2773dd-1741-475f-80e7-ccdef153d655',
hasStartDate: false,
hasEndDate: false
}
@@ -1323,35 +1319,6 @@ export const mockUploadConfigResponse = {
// Clone the object and change one property
export const mockUploadConfigResponseNotRequired = Object.assign({}, mockUploadConfigResponse, { required: false });
-export const mockAccessConditionOptions = [
- {
- name: 'openaccess',
- groupUUID: '123456-g',
- hasStartDate: false,
- hasEndDate: false
- },
- {
- name: 'lease',
- groupUUID: '123456-g',
- hasStartDate: false,
- hasEndDate: true,
- maxEndDate: '2019-07-12T14:40:06.308+0000'
- },
- {
- name: 'embargo',
- groupUUID: '123456-g',
- hasStartDate: true,
- hasEndDate: false,
- maxStartDate: '2022-01-12T14:40:06.308+0000'
- },
- {
- name: 'administrator',
- groupUUID: '0f2773dd-1741-475f-80e7-ccdef153d655',
- hasStartDate: false,
- hasEndDate: false
- }
-];
-
export const mockGroup = Object.assign(new Group(), {
handle: null,
permanent: true,
@@ -1478,17 +1445,6 @@ export const mockFileFormData = {
otherInformation: null
}
],
- groupUUID: [
- {
- value: '123456-g',
- language: null,
- authority: null,
- display: '123456-g',
- confidence: -1,
- place: 0,
- otherInformation: null
- }
- ]
}
,
{
@@ -1522,17 +1478,6 @@ export const mockFileFormData = {
otherInformation: null
}
],
- groupUUID: [
- {
- value: '123456-g',
- language: null,
- authority: null,
- display: '123456-g',
- confidence: -1,
- place: 0,
- otherInformation: null
- }
- ]
}
,
{
@@ -1566,17 +1511,6 @@ export const mockFileFormData = {
otherInformation: null
}
],
- groupUUID: [
- {
- value: '123456-g',
- language: null,
- authority: null,
- display: '123456-g',
- confidence: -1,
- place: 0,
- otherInformation: null
- }
- ]
}
]
};
diff --git a/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.html b/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.html
index ae4c74e2eb..7c5a979eed 100644
--- a/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.html
+++ b/src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.html
@@ -2,7 +2,6 @@
{{accessCondition.name}} {{accessCondition.startDate}} {{accessCondition.endDate}}
- {{accessCondition.name}}
{{accessCondition.name}} from {{accessCondition.endDate}}
{{accessCondition.name}} until {{accessCondition.startDate}}
diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts
index 919752f89f..a644cf8270 100644
--- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts
+++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts
@@ -43,10 +43,6 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => {
const sectionId = 'upload';
const collectionId = mockSubmissionCollectionId;
const availableAccessConditionOptions = mockUploadConfigResponse.accessConditionOptions;
- const availableGroupsMap: Map = new Map([
- [mockUploadConfigResponse.accessConditionOptions[1].name, [mockGroup as any]],
- [mockUploadConfigResponse.accessConditionOptions[2].name, [mockGroup as any]],
- ]);
const collectionPolicyType = POLICY_DEFAULT_WITH_LIST;
const configMetadataForm: any = mockUploadConfigResponseMetadata;
const fileIndex = '0';
@@ -123,7 +119,6 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => {
comp.collectionId = collectionId;
comp.sectionId = sectionId;
comp.availableAccessConditionOptions = availableAccessConditionOptions;
- comp.availableAccessConditionGroups = availableGroupsMap;
comp.collectionPolicyType = collectionPolicyType;
comp.fileIndex = fileIndex;
comp.fileId = fileId;
@@ -180,18 +175,15 @@ describe('SubmissionSectionUploadFileEditComponent test suite', () => {
control.value = 'openaccess';
comp.setOptions(model, control);
- expect(formbuilderService.findById).not.toHaveBeenCalledWith('groupUUID', (model.parent as DynamicFormArrayGroupModel).group);
expect(formbuilderService.findById).not.toHaveBeenCalledWith('endDate', (model.parent as DynamicFormArrayGroupModel).group);
expect(formbuilderService.findById).not.toHaveBeenCalledWith('startDate', (model.parent as DynamicFormArrayGroupModel).group);
control.value = 'lease';
comp.setOptions(model, control);
- expect(formbuilderService.findById).toHaveBeenCalledWith('groupUUID', (model.parent as DynamicFormArrayGroupModel).group);
expect(formbuilderService.findById).toHaveBeenCalledWith('endDate', (model.parent as DynamicFormArrayGroupModel).group);
control.value = 'embargo';
comp.setOptions(model, control);
- expect(formbuilderService.findById).toHaveBeenCalledWith('groupUUID', (model.parent as DynamicFormArrayGroupModel).group);
expect(formbuilderService.findById).toHaveBeenCalledWith('startDate', (model.parent as DynamicFormArrayGroupModel).group);
});
});
@@ -208,7 +200,6 @@ class TestComponent {
availableAccessConditionOptions;
collectionId = mockSubmissionCollectionId;
collectionPolicyType;
- configMetadataForm$;
fileIndexes = [];
fileList = [];
fileNames = [];
diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts
index 89a70f626f..512453d84e 100644
--- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts
+++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts
@@ -22,8 +22,6 @@ import {
BITSTREAM_ACCESS_CONDITIONS_FORM_ARRAY_LAYOUT,
BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_CONFIG,
BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_LAYOUT,
- BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG,
- BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_LAYOUT,
BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_CONFIG,
BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_LAYOUT,
BITSTREAM_FORM_ACCESS_CONDITION_TYPE_CONFIG,
@@ -32,14 +30,13 @@ import {
BITSTREAM_METADATA_FORM_GROUP_LAYOUT
} from './section-upload-file-edit.model';
import { POLICY_DEFAULT_WITH_LIST } from '../../section-upload.component';
-import { isNotEmpty, isNotUndefined } from '../../../../../shared/empty.util';
+import { isNotEmpty } from '../../../../../shared/empty.util';
import { SubmissionFormsModel } from '../../../../../core/config/models/config-submission-forms.model';
import { FormFieldModel } from '../../../../../shared/form/builder/models/form-field.model';
import { AccessConditionOption } from '../../../../../core/config/models/config-access-condition-option.model';
import { SubmissionService } from '../../../../submission.service';
import { FormService } from '../../../../../shared/form/form.service';
import { FormComponent } from '../../../../../shared/form/form.component';
-import { Group } from '../../../../../core/eperson/models/group.model';
/**
* This component represents the edit form for bitstream
@@ -56,12 +53,6 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges {
*/
@Input() availableAccessConditionOptions: any[];
- /**
- * The list of available groups for an access condition
- * @type {Array}
- */
- @Input() availableAccessConditionGroups: Map;
-
/**
* The submission id
* @type {string}
@@ -210,19 +201,16 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges {
});
const confStart = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasStart }] };
const confEnd = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasEnd }] };
- const confGroup = { relations: [{ match: MATCH_ENABLED, operator: OR_OPERATOR, when: hasGroups }] };
accessConditionsArrayConfig.groupFactory = () => {
const type = new DynamicSelectModel(accessConditionTypeModelConfig, BITSTREAM_FORM_ACCESS_CONDITION_TYPE_LAYOUT);
const startDateConfig = Object.assign({}, BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_CONFIG, confStart);
const endDateConfig = Object.assign({}, BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_CONFIG, confEnd);
- const groupsConfig = Object.assign({}, BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG, confGroup);
const startDate = new DynamicDatePickerModel(startDateConfig, BITSTREAM_FORM_ACCESS_CONDITION_START_DATE_LAYOUT);
const endDate = new DynamicDatePickerModel(endDateConfig, BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_LAYOUT);
- const groups = new DynamicSelectModel(groupsConfig, BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_LAYOUT);
- return [type, startDate, endDate, groups];
+ return [type, startDate, endDate];
};
// Number of access conditions blocks in form
@@ -244,19 +232,11 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges {
*/
public initModelData(formModel: DynamicFormControlModel[]) {
this.fileData.accessConditions.forEach((accessCondition, index) => {
- Array.of('name', 'groupUUID', 'startDate', 'endDate')
+ Array.of('name', 'startDate', 'endDate')
.filter((key) => accessCondition.hasOwnProperty(key))
.forEach((key) => {
const metadataModel: any = this.formBuilderService.findById(key, formModel, index);
if (metadataModel) {
- if (key === 'groupUUID' && this.availableAccessConditionGroups.get(accessCondition.name)) {
- this.availableAccessConditionGroups.get(accessCondition.name).forEach((group) => {
- metadataModel.options.push({
- label: group.name,
- value: group.uuid
- });
- });
- }
if (metadataModel.type === DYNAMIC_FORM_CONTROL_TYPE_DATEPICKER) {
const date = new Date(accessCondition[key]);
metadataModel.value = {
@@ -299,51 +279,18 @@ export class SubmissionSectionUploadFileEditComponent implements OnChanges {
if (isNotEmpty(accessCondition)) {
const showGroups: boolean = accessCondition.hasStartDate === true || accessCondition.hasEndDate === true;
- const groupControl: FormControl = control.parent.get('groupUUID') as FormControl;
const startDateControl: FormControl = control.parent.get('startDate') as FormControl;
const endDateControl: FormControl = control.parent.get('endDate') as FormControl;
// Clear previous state
- groupControl.markAsUntouched();
startDateControl.markAsUntouched();
endDateControl.markAsUntouched();
- // Clear previous values
- if (showGroups) {
- groupControl.setValue(null);
- } else {
- groupControl.clearValidators();
- groupControl.setValue(accessCondition.groupUUID);
- }
startDateControl.setValue(null);
control.parent.markAsDirty();
endDateControl.setValue(null);
if (showGroups) {
- if (isNotUndefined(accessCondition.groupUUID) || isNotUndefined(accessCondition.selectGroupUUID)) {
-
- const groupOptions = [];
- if (isNotUndefined(this.availableAccessConditionGroups.get(accessCondition.name))) {
- const groupModel = this.formBuilderService.findById(
- 'groupUUID',
- (model.parent as DynamicFormArrayGroupModel).group) as DynamicSelectModel;
-
- this.availableAccessConditionGroups.get(accessCondition.name).forEach((group) => {
- groupOptions.push({
- label: group.name,
- value: group.uuid
- });
- });
-
- // Due to a bug can't dynamically change the select options, so replace the model with a new one
- const confGroup = { relation: groupModel.relations };
- const groupsConfig = Object.assign({}, BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG, confGroup);
- groupsConfig.options = groupOptions;
- (model.parent as DynamicFormGroupModel).group.pop();
- (model.parent as DynamicFormGroupModel).group.push(new DynamicSelectModel(groupsConfig, BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_LAYOUT));
- }
-
- }
if (accessCondition.hasStartDate) {
const startDateModel = this.formBuilderService.findById(
'startDate',
diff --git a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts
index dd2ac7a2a7..096954659e 100644
--- a/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts
+++ b/src/app/submission/sections/upload/file/edit/section-upload-file-edit.model.ts
@@ -108,32 +108,3 @@ export const BITSTREAM_FORM_ACCESS_CONDITION_END_DATE_LAYOUT: DynamicFormControl
host: 'col-md-4'
}
};
-
-export const BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_CONFIG: DynamicSelectModelConfig = {
- id: 'groupUUID',
- label: 'submission.sections.upload.form.group-label',
- options: [],
- relations: [
- {
- match: MATCH_ENABLED,
- operator: OR_OPERATOR,
- when: []
- }
- ],
- required: true,
- validators: {
- required: null
- },
- errorMessages: {
- required: 'submission.sections.upload.form.group-required'
- }
-};
-export const BITSTREAM_FORM_ACCESS_CONDITION_GROUPS_LAYOUT: DynamicFormControlLayout = {
- element: {
- container: 'p-0',
- label: 'col-form-label'
- },
- grid: {
- host: 'col-sm-10'
- }
-};
diff --git a/src/app/submission/sections/upload/file/section-upload-file.component.html b/src/app/submission/sections/upload/file/section-upload-file.component.html
index ea23340e9a..64df1155bf 100644
--- a/src/app/submission/sections/upload/file/section-upload-file.component.html
+++ b/src/app/submission/sections/upload/file/section-upload-file.component.html
@@ -37,7 +37,6 @@
{
comp.collectionId = collectionId;
comp.sectionId = sectionId;
comp.availableAccessConditionOptions = availableAccessConditionOptions;
- comp.availableAccessConditionGroups = availableGroupsMap;
comp.collectionPolicyType = collectionPolicyType;
comp.fileIndex = fileIndex;
comp.fileId = fileId;
@@ -258,9 +257,9 @@ describe('SubmissionSectionUploadFileComponent test suite', () => {
operationsService.jsonPatchByResourceID.and.returnValue(observableOf(response));
const accessConditionsToSave = [
- { name: 'openaccess', groupUUID: '123456-g' },
- { name: 'lease', endDate: '2019-01-16T00:00:00Z', groupUUID: '123456-g' },
- { name: 'embargo', startDate: '2019-01-16T00:00:00Z', groupUUID: '123456-g' }
+ { name: 'openaccess' },
+ { name: 'lease', endDate: '2019-01-16T00:00:00Z' },
+ { name: 'embargo', startDate: '2019-01-16T00:00:00Z' },
];
comp.saveBitstreamData(event);
tick();
diff --git a/src/app/submission/sections/upload/file/section-upload-file.component.ts b/src/app/submission/sections/upload/file/section-upload-file.component.ts
index ebaf438125..80945bc1fd 100644
--- a/src/app/submission/sections/upload/file/section-upload-file.component.ts
+++ b/src/app/submission/sections/upload/file/section-upload-file.component.ts
@@ -12,7 +12,6 @@ import { JsonPatchOperationsBuilder } from '../../../../core/json-patch/builder/
import { JsonPatchOperationPathCombiner } from '../../../../core/json-patch/builder/json-patch-operation-path-combiner';
import { WorkspaceitemSectionUploadFileObject } from '../../../../core/submission/models/workspaceitem-section-upload-file.model';
import { SubmissionFormsModel } from '../../../../core/config/models/config-submission-forms.model';
-import { deleteProperty } from '../../../../shared/object.util';
import { dateToISOFormat } from '../../../../shared/date.util';
import { SubmissionService } from '../../../submission.service';
import { FileService } from '../../../../core/shared/file.service';
@@ -21,7 +20,6 @@ import { SubmissionJsonPatchOperationsService } from '../../../../core/submissio
import { SubmissionObject } from '../../../../core/submission/models/submission-object.model';
import { WorkspaceitemSectionUploadObject } from '../../../../core/submission/models/workspaceitem-section-upload.model';
import { SubmissionSectionUploadFileEditComponent } from './edit/section-upload-file-edit.component';
-import { Group } from '../../../../core/eperson/models/group.model';
/**
* This component represents a single bitstream contained in the submission
@@ -39,12 +37,6 @@ export class SubmissionSectionUploadFileComponent implements OnChanges, OnInit {
*/
@Input() availableAccessConditionOptions: any[];
- /**
- * The list of available groups for an access condition
- * @type {Array}
- */
- @Input() availableAccessConditionGroups: Map;
-
/**
* The submission id
* @type {string}
@@ -172,7 +164,7 @@ export class SubmissionSectionUploadFileComponent implements OnChanges, OnInit {
* Retrieve bitstream's metadata
*/
ngOnChanges() {
- if (this.availableAccessConditionOptions && this.availableAccessConditionGroups) {
+ if (this.availableAccessConditionOptions) {
// Retrieve file state
this.subscriptions.push(
this.uploadService
@@ -272,28 +264,17 @@ export class SubmissionSectionUploadFileComponent implements OnChanges, OnInit {
.forEach((element) => accessConditionOpt = element);
if (accessConditionOpt) {
-
- if (accessConditionOpt.hasStartDate !== true && accessConditionOpt.hasEndDate !== true) {
- accessConditionOpt = deleteProperty(accessConditionOpt, 'hasStartDate');
-
- accessConditionOpt = deleteProperty(accessConditionOpt, 'hasEndDate');
- accessConditionsToSave.push(accessConditionOpt);
- } else {
accessConditionOpt = Object.assign({}, accessCondition);
accessConditionOpt.name = this.retrieveValueFromField(accessCondition.name);
- accessConditionOpt.groupUUID = this.retrieveValueFromField(accessCondition.groupUUID);
if (accessCondition.startDate) {
const startDate = this.retrieveValueFromField(accessCondition.startDate);
accessConditionOpt.startDate = dateToISOFormat(startDate);
- accessConditionOpt = deleteProperty(accessConditionOpt, 'endDate');
}
if (accessCondition.endDate) {
const endDate = this.retrieveValueFromField(accessCondition.endDate);
accessConditionOpt.endDate = dateToISOFormat(endDate);
- accessConditionOpt = deleteProperty(accessConditionOpt, 'startDate');
}
accessConditionsToSave.push(accessConditionOpt);
- }
}
});
diff --git a/src/app/submission/sections/upload/section-upload.component.html b/src/app/submission/sections/upload/section-upload.component.html
index f07c524b8a..8a19f66220 100644
--- a/src/app/submission/sections/upload/section-upload.component.html
+++ b/src/app/submission/sections/upload/section-upload.component.html
@@ -28,7 +28,7 @@
- {
expect(comp.availableAccessConditionOptions).toEqual(mockUploadConfigResponse.accessConditionOptions as any);
expect(comp.required$.getValue()).toBe(true);
expect(compAsAny.subs.length).toBe(2);
- expect(compAsAny.availableGroups.size).toBe(2);
- expect(compAsAny.availableGroups).toEqual(expectedGroupsMap);
expect(compAsAny.fileList).toEqual([]);
expect(compAsAny.fileIndexes).toEqual([]);
expect(compAsAny.fileNames).toEqual([]);
@@ -298,8 +296,6 @@ describe('SubmissionSectionUploadComponent test suite', () => {
expect(comp.availableAccessConditionOptions).toEqual(mockUploadConfigResponse.accessConditionOptions as any);
expect(comp.required$.getValue()).toBe(true);
expect(compAsAny.subs.length).toBe(2);
- expect(compAsAny.availableGroups.size).toBe(2);
- expect(compAsAny.availableGroups).toEqual(expectedGroupsMap);
expect(compAsAny.fileList).toEqual(mockUploadFiles);
expect(compAsAny.fileIndexes).toEqual(['123456-test-upload']);
expect(compAsAny.fileNames).toEqual(['123456-test-upload.jpg']);
diff --git a/src/app/submission/sections/upload/section-upload.component.ts b/src/app/submission/sections/upload/section-upload.component.ts
index deffc93466..07a2cb11fa 100644
--- a/src/app/submission/sections/upload/section-upload.component.ts
+++ b/src/app/submission/sections/upload/section-upload.component.ts
@@ -1,7 +1,7 @@
import { ChangeDetectorRef, Component, Inject } from '@angular/core';
import { BehaviorSubject, combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs';
-import { distinctUntilChanged, filter, find, map, mergeMap, reduce, switchMap, tap } from 'rxjs/operators';
+import { distinctUntilChanged, filter, map, mergeMap, switchMap, tap } from 'rxjs/operators';
import { SectionModelComponent } from '../models/section.model';
import { hasValue, isNotEmpty, isNotUndefined, isUndefined } from '../../../shared/empty.util';
@@ -23,7 +23,6 @@ import { SectionsService } from '../sections.service';
import { SubmissionService } from '../../submission.service';
import { Collection } from '../../../core/shared/collection.model';
import { AccessConditionOption } from '../../../core/config/models/config-access-condition-option.model';
-import { PaginatedList } from '../../../core/data/paginated-list.model';
import { followLink } from '../../../shared/utils/follow-link-config.model';
import { getFirstSucceededRemoteData } from '../../../core/shared/operators';
@@ -100,11 +99,6 @@ export class SubmissionSectionUploadComponent extends SectionModelComponent {
*/
public availableAccessConditionOptions: AccessConditionOption[]; // List of accessConditions that an user can select
- /**
- * List of Groups available for every access condition
- */
- public availableGroups: Map; // Groups for any policy
-
/**
* Is the upload required
* @type {boolean}
@@ -184,53 +178,12 @@ export class SubmissionSectionUploadComponent extends SectionModelComponent {
}
}),*/
mergeMap(() => config$),
- mergeMap((config: SubmissionUploadsModel) => {
- this.required$.next(config.required);
- this.availableAccessConditionOptions = isNotEmpty(config.accessConditionOptions) ? config.accessConditionOptions : [];
-
- this.collectionPolicyType = this.availableAccessConditionOptions.length > 0
- ? POLICY_DEFAULT_WITH_LIST
- : POLICY_DEFAULT_NO_LIST;
-
- this.availableGroups = new Map();
- const mapGroups$: Observable[] = [];
- // Retrieve Groups for accessCondition Policies
- this.availableAccessConditionOptions.forEach((accessCondition: AccessConditionOption) => {
- if (accessCondition.hasEndDate === true || accessCondition.hasStartDate === true) {
- if (accessCondition.groupUUID) {
- mapGroups$.push(
- this.groupService.findById(accessCondition.groupUUID).pipe(
- find((rd: RemoteData) => !rd.isResponsePending && rd.hasSucceeded),
- map((rd: RemoteData) => ({
- accessCondition: accessCondition.name,
- groups: [rd.payload]
- } as AccessConditionGroupsMapEntry)))
- );
- } else if (accessCondition.selectGroupUUID) {
- mapGroups$.push(
- this.groupService.findById(accessCondition.selectGroupUUID).pipe(
- find((rd: RemoteData) => !rd.isResponsePending && rd.hasSucceeded),
- mergeMap((group: RemoteData) => group.payload.subgroups),
- find((rd: RemoteData>) => !rd.isResponsePending && rd.hasSucceeded),
- map((rd: RemoteData>) => ({
- accessCondition: accessCondition.name,
- groups: rd.payload.page
- } as AccessConditionGroupsMapEntry))
- ));
- }
- }
- });
- return mapGroups$;
- }),
- mergeMap((entry) => entry),
- reduce((acc: any[], entry: AccessConditionGroupsMapEntry) => {
- acc.push(entry);
- return acc;
- }, []),
- ).subscribe((entries: AccessConditionGroupsMapEntry[]) => {
- entries.forEach((entry: AccessConditionGroupsMapEntry) => {
- this.availableGroups.set(entry.accessCondition, entry.groups);
- });
+ ).subscribe((config: SubmissionUploadsModel) => {
+ this.required$.next(config.required);
+ this.availableAccessConditionOptions = isNotEmpty(config.accessConditionOptions) ? config.accessConditionOptions : [];
+ this.collectionPolicyType = this.availableAccessConditionOptions.length > 0
+ ? POLICY_DEFAULT_WITH_LIST
+ : POLICY_DEFAULT_NO_LIST;
this.changeDetectorRef.detectChanges();
}),