fix: Fix attach & detach iso volume permission
1. Instance can attach iso volume if status is shutoff and it is not ironic 2. Instance can detach iso volume if status is shutoff Change-Id: I54a2f6c3e1062231992d5926b34a955141963c89
This commit is contained in:
parent
66cd6d5a45
commit
caf0429302
@ -16,10 +16,10 @@ import { inject, observer } from 'mobx-react';
|
|||||||
import globalServerStore from 'stores/nova/instance';
|
import globalServerStore from 'stores/nova/instance';
|
||||||
import { ModalAction } from 'containers/Action';
|
import { ModalAction } from 'containers/Action';
|
||||||
import {
|
import {
|
||||||
isActive,
|
isShutOff,
|
||||||
isNotDeleting,
|
isNotDeleting,
|
||||||
isNotLocked,
|
isNotLocked,
|
||||||
isBuilding,
|
isIronicInstance,
|
||||||
} from 'resources/instance';
|
} from 'resources/instance';
|
||||||
import { multiTip } from 'resources/volume';
|
import { multiTip } from 'resources/volume';
|
||||||
import { get as _get } from 'lodash';
|
import { get as _get } from 'lodash';
|
||||||
@ -75,8 +75,8 @@ export default class AttachIsoVolume extends ModalAction {
|
|||||||
!isAdminPage &&
|
!isAdminPage &&
|
||||||
isNotDeleting(item) &&
|
isNotDeleting(item) &&
|
||||||
isNotLocked(item) &&
|
isNotLocked(item) &&
|
||||||
!isActive(item) &&
|
!isIronicInstance(item) &&
|
||||||
!isBuilding(item)
|
isShutOff(item)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -18,11 +18,10 @@ import globalServerStore from 'stores/nova/instance';
|
|||||||
import { ModalAction } from 'containers/Action';
|
import { ModalAction } from 'containers/Action';
|
||||||
import { volumeStatus, isOsDisk, isAttachIsoVolume } from 'resources/volume';
|
import { volumeStatus, isOsDisk, isAttachIsoVolume } from 'resources/volume';
|
||||||
import {
|
import {
|
||||||
isActive,
|
isShutOff,
|
||||||
isNotLocked,
|
isNotLocked,
|
||||||
isNotDeleting,
|
isNotDeleting,
|
||||||
isIronicInstance,
|
isIronicInstance,
|
||||||
isBuilding,
|
|
||||||
} from 'resources/instance';
|
} from 'resources/instance';
|
||||||
|
|
||||||
@inject('rootStore')
|
@inject('rootStore')
|
||||||
@ -74,14 +73,16 @@ export default class DetachIsoVolume extends ModalAction {
|
|||||||
// static hasDataVolume = item => item.volumes_attached && item.volumes_attached.length > 1
|
// static hasDataVolume = item => item.volumes_attached && item.volumes_attached.length > 1
|
||||||
|
|
||||||
// static allowed = item => Promise.resolve(isActive(item) && isNotDeleting(item) && isNotLocked(item) && this.hasDataVolume(item))
|
// static allowed = item => Promise.resolve(isActive(item) && isNotDeleting(item) && isNotLocked(item) && this.hasDataVolume(item))
|
||||||
static allowed = (item) =>
|
static allowed = (item, containerProps) => {
|
||||||
Promise.resolve(
|
const { isAdminPage } = containerProps;
|
||||||
|
return Promise.resolve(
|
||||||
|
!isAdminPage &&
|
||||||
isNotDeleting(item) &&
|
isNotDeleting(item) &&
|
||||||
isNotLocked(item) &&
|
isNotLocked(item) &&
|
||||||
!isIronicInstance(item) &&
|
!isIronicInstance(item) &&
|
||||||
!isActive(item) &&
|
isShutOff(item)
|
||||||
!isBuilding(item)
|
|
||||||
);
|
);
|
||||||
|
};
|
||||||
|
|
||||||
get formItems() {
|
get formItems() {
|
||||||
return [
|
return [
|
||||||
|
Loading…
Reference in New Issue
Block a user