From 80187e2789165aefcca5f36b273efb2aee1ddf3a Mon Sep 17 00:00:00 2001 From: badrAZ Date: Fri, 16 Mar 2018 16:57:44 +0100 Subject: [PATCH] feat(xo-web/self-service): add the internal networks to the networks' select (#2664) --- packages/xo-web/src/xo-app/self/index.js | 26 +++++++++++++----------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/xo-web/src/xo-app/self/index.js b/packages/xo-web/src/xo-app/self/index.js index 1377d7855..2be05c022 100644 --- a/packages/xo-web/src/xo-app/self/index.js +++ b/packages/xo-web/src/xo-app/self/index.js @@ -19,6 +19,7 @@ import React from 'react' import remove from 'lodash/remove' import renderXoItem from 'render-xo-item' import ResourceSetQuotas from 'resource-set-quotas' +import some from 'lodash/some' import Upgrade from 'xoa-upgrade' import { Container, Row, Col } from 'grid' import { createGetObjectsOfType, createSelector } from 'selectors' @@ -254,10 +255,12 @@ export class Edit extends Component { _updateSelectedPools = (newPools, newSrs, newNetworks) => { const predicate = object => includes(resolveIds(newPools), object.$pool) + const internalNetworkPredicate = network => + predicate(network) && isEmpty(network.PIFs) this.setState( { - nPools: newPools.length, + internalNetworkPredicate, pools: newPools, srPredicate: predicate, vmTemplatePredicate: predicate, @@ -272,20 +275,17 @@ export class Edit extends Component { newSrs, this.props.hostsByPool ) - const networkPredicate = network => { - let kept = false - forEach( + const networkPredicate = network => + this.state.internalNetworkPredicate(network) || + some( availableHosts, - host => !(kept = intersection(network.PIFs, host.PIFs).length > 0) + host => intersection(network.PIFs, host.PIFs).length > 0 ) - return kept - } this.setState( { availableHosts, networkPredicate, - nSrs: newSrs.length, srs: newSrs, }, () => this._updateSelectedNetworks(newNetworks || this.state.networks) @@ -418,7 +418,7 @@ export class Edit extends Component {