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

View File

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

View File

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