diff --git a/src/pages/compute/containers/Image/actions/CreateIronic.jsx b/src/pages/compute/containers/Image/actions/CreateIronic.jsx index 982ed11f..1673c4d0 100644 --- a/src/pages/compute/containers/Image/actions/CreateIronic.jsx +++ b/src/pages/compute/containers/Image/actions/CreateIronic.jsx @@ -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) ); } diff --git a/src/pages/compute/containers/Instance/actions/CreateIronic/index.jsx b/src/pages/compute/containers/Instance/actions/CreateIronic/index.jsx index cc00f21f..7471fbaa 100644 --- a/src/pages/compute/containers/Instance/actions/CreateIronic/index.jsx +++ b/src/pages/compute/containers/Instance/actions/CreateIronic/index.jsx @@ -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() ); } diff --git a/src/resources/instance.jsx b/src/resources/instance.jsx index c94c566c..4479884b 100644 --- a/src/resources/instance.jsx +++ b/src/resources/instance.jsx @@ -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(