fix: Fix the permission of createIronic

Fix the permission of createIronic from license to endpoint

Change-Id: I8409d2f0fa602fadd22c5e0cab533089c07e7131
This commit is contained in:
xusongfu 2021-09-28 10:56:15 +08:00
parent 22cf920129
commit d3fb5a334b
3 changed files with 6 additions and 7 deletions

View File

@ -15,7 +15,7 @@
import { inject, observer } from 'mobx-react';
import CreateInstance from 'pages/compute/containers/Instance/actions/StepCreate';
import { canImageCreateIronicInstance } from 'resources/image';
import { canCreateIronicByLicense } from 'resources/instance';
import { canCreateIronicByEndpoint } from 'resources/instance';
@inject('rootStore')
@observer
@ -34,7 +34,7 @@ export default class CreateIronic extends CreateInstance {
const { isAdminPage } = containerProps;
return Promise.resolve(
!isAdminPage &&
canCreateIronicByLicense() &&
canCreateIronicByEndpoint() &&
canImageCreateIronicInstance(item)
);
}

View File

@ -21,7 +21,7 @@ import globalServerStore from 'stores/nova/instance';
import globalProjectStore from 'stores/keystone/project';
import classnames from 'classnames';
import { isEmpty, isFinite } from 'lodash';
import { getUserData, canCreateIronicByLicense } from 'resources/instance';
import { getUserData, canCreateIronicByEndpoint } from 'resources/instance';
import { ironicOriginEndpoint } from 'client/client/constants';
import Notify from 'components/Notify';
import styles from './index.less';
@ -61,7 +61,7 @@ export class CreateIronic extends StepAction {
const { match } = containerProps || {};
const inServerGroupDetailPage = match.path.indexOf('/compute/server') >= 0;
return Promise.resolve(
!inServerGroupDetailPage && !isAdminPage && canCreateIronicByLicense()
!inServerGroupDetailPage && !isAdminPage && canCreateIronicByEndpoint()
);
}

View File

@ -14,10 +14,10 @@
import React, { useEffect, useState } from 'react';
import ImageType from 'components/ImageType';
import globalRootStore from 'stores/root';
import { getLocalTimeStr } from 'utils/time';
import { Table, Popover } from 'antd';
import globalActionLogStore from 'stores/nova/action-log';
import { ironicOriginEndpoint } from 'client/client/constants';
import { Link } from 'react-router-dom';
import lockSvg from 'asset/image/lock.svg';
@ -387,8 +387,7 @@ export const instanceSelectTablePropsBackend = {
columns: instanceColumnsBackend,
};
export const canCreateIronicByLicense = () =>
globalRootStore.checkLicense('ironic');
export const canCreateIronicByEndpoint = () => ironicOriginEndpoint();
export const allowAttachVolumeInstance = (item) => {
const statusResult = checkStatus(