-
+
+
@@ -75,7 +79,7 @@
-
@@ -85,9 +89,9 @@
diff --git a/src/app/shared/access-control-form-container/access-control-form-container.component.ts b/src/app/shared/access-control-form-container/access-control-form-container.component.ts
index 7e46a53ed5..f27fb4b5f0 100644
--- a/src/app/shared/access-control-form-container/access-control-form-container.component.ts
+++ b/src/app/shared/access-control-form-container/access-control-form-container.component.ts
@@ -16,6 +16,7 @@ import {
import { BulkAccessConfigDataService } from '../../core/config/bulk-access-config-data.service';
import { getFirstCompletedRemoteData } from '../../core/shared/operators';
import { BulkAccessConditionOptions } from '../../core/config/models/bulk-access-condition-options.model';
+import { AlertType } from '../alert/aletr-type';
@Component({
selector: 'ds-access-control-form-container',
@@ -30,6 +31,11 @@ export class AccessControlFormContainerComponent impleme
*/
@Input() showLimitToSpecificBitstreams = false;
+ /**
+ * The title message of the access control form (translate key)
+ */
+ @Input() titleMessage = '';
+
/**
* The item to which the access control form applies
*/
@@ -45,6 +51,8 @@ export class AccessControlFormContainerComponent impleme
@ViewChild('bitstreamAccessCmp', { static: true }) bitstreamAccessCmp: AccessControlArrayFormComponent;
@ViewChild('itemAccessCmp', { static: true }) itemAccessCmp: AccessControlArrayFormComponent;
+ readonly AlertType = AlertType;
+
constructor(
private bulkAccessConfigService: BulkAccessConfigDataService,
private bulkAccessControlService: BulkAccessControlService,
@@ -145,18 +153,19 @@ export class AccessControlFormContainerComponent impleme
ngOnDestroy(): void {
this.selectableListService.deselectAll(ITEM_ACCESS_CONTROL_SELECT_BITSTREAMS_LIST_ID);
}
+
}
const initialState: AccessControlFormState = {
item: {
toggleStatus: false,
- accessMode: '',
+ accessMode: 'replace',
},
bitstream: {
toggleStatus: false,
- accessMode: '',
- changesLimit: '', // 'all' | 'selected'
+ accessMode: 'replace',
+ changesLimit: 'all', // 'all' | 'selected'
selectedBitstreams: [] as ListableObject[],
},
};
diff --git a/src/app/shared/access-control-form-container/bulk-access-control.service.ts b/src/app/shared/access-control-form-container/bulk-access-control.service.ts
index 77fbcbffb2..057a64906f 100644
--- a/src/app/shared/access-control-form-container/bulk-access-control.service.ts
+++ b/src/app/shared/access-control-form-container/bulk-access-control.service.ts
@@ -43,22 +43,25 @@ export class BulkAccessControlService {
}
export const convertToBulkAccessControlFileModel = (payload: { state: AccessControlFormState, bitstreamAccess: AccessCondition[], itemAccess: AccessCondition[] }): BulkAccessControlFileModel => {
+ const itemEnabled = payload.state.item.toggleStatus;
+ const bitstreamEnabled = payload.state.bitstream.toggleStatus;
+
const constraints = { uuid: [] };
- if (payload.state.bitstream.changesLimit === 'selected') {
+ if (bitstreamEnabled && payload.state.bitstream.changesLimit === 'selected') {
// @ts-ignore
constraints.uuid = payload.state.bitstream.selectedBitstreams.map((x) => x.id);
}
return {
item: {
- mode: payload.state.item.accessMode,
- accessConditions: payload.itemAccess
+ mode: itemEnabled ? payload.state.item.accessMode : '',
+ accessConditions: itemEnabled ? payload.itemAccess : []
},
bitstream: {
constraints,
- mode: payload.state.bitstream.accessMode,
- accessConditions: payload.bitstreamAccess
+ mode: bitstreamEnabled ? payload.state.bitstream.accessMode : '',
+ accessConditions: bitstreamEnabled ? payload.bitstreamAccess : []
}
};
};
diff --git a/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.html b/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.html
index e4159f3505..8cf0ecea38 100644
--- a/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.html
+++ b/src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.html
@@ -1,5 +1,7 @@