mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-14 05:23:06 +00:00
[CST-9639] Disable Execute button if none is enabled and dont send field in payload if not enabled in form
This commit is contained in:
@@ -142,7 +142,9 @@
|
|||||||
<button class="btn btn-lg btn-outline-primary mr-3" (click)="reset()">
|
<button class="btn btn-lg btn-outline-primary mr-3" (click)="reset()">
|
||||||
{{ 'access-control-reset' | translate }}
|
{{ 'access-control-reset' | translate }}
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-lg btn-primary" (click)="submit()">
|
<button class="btn btn-lg btn-primary"
|
||||||
|
[disabled]="!state.item.toggleStatus && !state.bitstream.toggleStatus"
|
||||||
|
(click)="submit()">
|
||||||
{{ 'access-control-execute' | translate }}
|
{{ 'access-control-execute' | translate }}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -81,36 +81,43 @@ export class BulkAccessControlService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const convertToBulkAccessControlFileModel = (payload: { state: AccessControlFormState, bitstreamAccess: AccessCondition[], itemAccess: AccessCondition[] }): BulkAccessControlFileModel => {
|
export const convertToBulkAccessControlFileModel = (payload: { state: AccessControlFormState, bitstreamAccess: AccessCondition[], itemAccess: AccessCondition[] }): BulkAccessControlFileModel => {
|
||||||
|
let finalPayload: BulkAccessControlFileModel = {};
|
||||||
|
|
||||||
const itemEnabled = payload.state.item.toggleStatus;
|
const itemEnabled = payload.state.item.toggleStatus;
|
||||||
const bitstreamEnabled = payload.state.bitstream.toggleStatus;
|
const bitstreamEnabled = payload.state.bitstream.toggleStatus;
|
||||||
|
|
||||||
const constraints = { uuid: [] };
|
if (itemEnabled) {
|
||||||
|
finalPayload.item = {
|
||||||
if (bitstreamEnabled && payload.state.bitstream.changesLimit === 'selected') {
|
mode: payload.state.item.accessMode,
|
||||||
// @ts-ignore
|
accessConditions: payload.itemAccess
|
||||||
constraints.uuid = payload.state.bitstream.selectedBitstreams.map((x) => x.id);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
if (bitstreamEnabled) {
|
||||||
item: {
|
const constraints = { uuid: [] };
|
||||||
mode: itemEnabled ? payload.state.item.accessMode : '',
|
|
||||||
accessConditions: itemEnabled ? payload.itemAccess : []
|
if (bitstreamEnabled && payload.state.bitstream.changesLimit === 'selected') {
|
||||||
},
|
// @ts-ignore
|
||||||
bitstream: {
|
constraints.uuid = payload.state.bitstream.selectedBitstreams.map((x) => x.id);
|
||||||
constraints,
|
|
||||||
mode: bitstreamEnabled ? payload.state.bitstream.accessMode : '',
|
|
||||||
accessConditions: bitstreamEnabled ? payload.bitstreamAccess : []
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
finalPayload.bitstream = {
|
||||||
|
constraints,
|
||||||
|
mode: payload.state.bitstream.accessMode,
|
||||||
|
accessConditions: payload.bitstreamAccess
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return finalPayload;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export interface BulkAccessControlFileModel {
|
export interface BulkAccessControlFileModel {
|
||||||
item: {
|
item?: {
|
||||||
mode: string;
|
mode: string;
|
||||||
accessConditions: AccessCondition[];
|
accessConditions: AccessCondition[];
|
||||||
},
|
},
|
||||||
bitstream: {
|
bitstream?: {
|
||||||
constraints: { uuid: string[] };
|
constraints: { uuid: string[] };
|
||||||
mode: string;
|
mode: string;
|
||||||
accessConditions: AccessCondition[];
|
accessConditions: AccessCondition[];
|
||||||
|
Reference in New Issue
Block a user