fix: Fix for create & edit fip port forwarding
fix for create & edit fip port forwarding Change-Id: I40f6a413f275a215d63d592c7818d200bd6c7a9d
This commit is contained in:
parent
b5bb49b077
commit
85a9a831b9
@ -140,6 +140,10 @@ export default class Edit extends ModalAction {
|
|||||||
virtual_adapter: {
|
virtual_adapter: {
|
||||||
selectedRowKeys: [internal_port_id],
|
selectedRowKeys: [internal_port_id],
|
||||||
},
|
},
|
||||||
|
fixed_ip_address: {
|
||||||
|
selectedRowKeys: [internal_ip_address],
|
||||||
|
selectedRows: [{ fixed_ip_address: internal_ip_address }],
|
||||||
|
},
|
||||||
...rest,
|
...rest,
|
||||||
};
|
};
|
||||||
return value;
|
return value;
|
||||||
@ -170,7 +174,7 @@ export default class Edit extends ModalAction {
|
|||||||
return portFixedIPs;
|
return portFixedIPs;
|
||||||
};
|
};
|
||||||
|
|
||||||
static policy = 'update_floatingip';
|
static policy = 'update_floatingip_port_forwarding';
|
||||||
|
|
||||||
static allowed = () => true;
|
static allowed = () => true;
|
||||||
|
|
||||||
@ -226,7 +230,13 @@ export default class Edit extends ModalAction {
|
|||||||
type: 'input-number',
|
type: 'input-number',
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 65535,
|
max: 65535,
|
||||||
|
required: true,
|
||||||
validator: (_, val) => {
|
validator: (_, val) => {
|
||||||
|
if (!val) {
|
||||||
|
return Promise.reject(
|
||||||
|
new Error(`${t('Please input')} ${t('External Port')}`)
|
||||||
|
);
|
||||||
|
}
|
||||||
const { alreadyUsedPorts } = this.state;
|
const { alreadyUsedPorts } = this.state;
|
||||||
const { external_port: initialExternalPort } = this.item;
|
const { external_port: initialExternalPort } = this.item;
|
||||||
const flag = alreadyUsedPorts.some(
|
const flag = alreadyUsedPorts.some(
|
||||||
@ -251,7 +261,13 @@ export default class Edit extends ModalAction {
|
|||||||
hidden: fixed_ip_address.selectedRows.length === 0,
|
hidden: fixed_ip_address.selectedRows.length === 0,
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 65535,
|
max: 65535,
|
||||||
|
required: true,
|
||||||
validator: (_, val) => {
|
validator: (_, val) => {
|
||||||
|
if (!val) {
|
||||||
|
return Promise.reject(
|
||||||
|
new Error(`${t('Please input')} ${t('Internal Port')}`)
|
||||||
|
);
|
||||||
|
}
|
||||||
const formData = this.formRef.current.getFieldsValue([
|
const formData = this.formRef.current.getFieldsValue([
|
||||||
'virtual_adapter',
|
'virtual_adapter',
|
||||||
'fixed_ip_address',
|
'fixed_ip_address',
|
||||||
|
@ -108,7 +108,7 @@ export default class CreateDNAT extends ModalAction {
|
|||||||
this.formRef.current.resetFields(['fixed_ip_address', 'internal_port']);
|
this.formRef.current.resetFields(['fixed_ip_address', 'internal_port']);
|
||||||
};
|
};
|
||||||
|
|
||||||
static policy = 'update_floatingip';
|
static policy = 'create_floatingip_port_forwarding';
|
||||||
|
|
||||||
static allowed = (item) => Promise.resolve(isNull(item.fixed_ip_address));
|
static allowed = (item) => Promise.resolve(isNull(item.fixed_ip_address));
|
||||||
|
|
||||||
@ -161,7 +161,13 @@ export default class CreateDNAT extends ModalAction {
|
|||||||
type: 'input-number',
|
type: 'input-number',
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 65535,
|
max: 65535,
|
||||||
|
required: true,
|
||||||
validator: (_, val) => {
|
validator: (_, val) => {
|
||||||
|
if (!val) {
|
||||||
|
return Promise.reject(
|
||||||
|
new Error(`${t('Please input')} ${t('External Port')}`)
|
||||||
|
);
|
||||||
|
}
|
||||||
const { alreadyUsedPorts } = this.state;
|
const { alreadyUsedPorts } = this.state;
|
||||||
const flag = alreadyUsedPorts.some((pf) => pf.external_port === val);
|
const flag = alreadyUsedPorts.some((pf) => pf.external_port === val);
|
||||||
if (flag) {
|
if (flag) {
|
||||||
@ -181,7 +187,13 @@ export default class CreateDNAT extends ModalAction {
|
|||||||
hidden: fixed_ip_address.selectedRows.length === 0,
|
hidden: fixed_ip_address.selectedRows.length === 0,
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 65535,
|
max: 65535,
|
||||||
|
required: true,
|
||||||
validator: (_, val) => {
|
validator: (_, val) => {
|
||||||
|
if (!val) {
|
||||||
|
return Promise.reject(
|
||||||
|
new Error(`${t('Please input')} ${t('Internal Port')}`)
|
||||||
|
);
|
||||||
|
}
|
||||||
const formData = this.formRef.current.getFieldsValue([
|
const formData = this.formRef.current.getFieldsValue([
|
||||||
'virtual_adapter',
|
'virtual_adapter',
|
||||||
'fixed_ip_address',
|
'fixed_ip_address',
|
||||||
@ -190,7 +202,7 @@ export default class CreateDNAT extends ModalAction {
|
|||||||
formData.fixed_ip_address.selectedRows[0].fixed_ip_address;
|
formData.fixed_ip_address.selectedRows[0].fixed_ip_address;
|
||||||
const internal_port_id = formData.virtual_adapter.selectedRows[0].id;
|
const internal_port_id = formData.virtual_adapter.selectedRows[0].id;
|
||||||
const { alreadyUsedPorts } = this.state;
|
const { alreadyUsedPorts } = this.state;
|
||||||
// 判断是否本FIP已经绑定了本虚拟网卡的本端口
|
// determine whether the FIP has been bound to the port of the port
|
||||||
const flag = alreadyUsedPorts.some(
|
const flag = alreadyUsedPorts.some(
|
||||||
(pf) =>
|
(pf) =>
|
||||||
pf.internal_port === val &&
|
pf.internal_port === val &&
|
||||||
|
Loading…
Reference in New Issue
Block a user