diff --git a/packages/xo-web/src/xo-app/home/pool-item.js b/packages/xo-web/src/xo-app/home/pool-item.js index aa732547ef9..066ff3b6457 100644 --- a/packages/xo-web/src/xo-app/home/pool-item.js +++ b/packages/xo-web/src/xo-app/home/pool-item.js @@ -96,24 +96,27 @@ export default class PoolItem extends Component { return Object.values(this.props.poolHosts)[0].productBrand === 'XCP-ng' } + _getPoolLicenseInfo = () => this.props.state.poolLicenseInfoByPoolId[this.props.item.id] + _getAlerts = createSelector( - () => this.props.item, () => this.props.isAdmin, - () => this.props.state, - (pool, isAdmin, reacletteState) => { + this._getPoolLicenseInfo, + (isAdmin, poolLicenseInfo) => { const alerts = [] - if (isAdmin) { - const { icon, supportLevel } = reacletteState.poolLicenseInfoByPoolId[pool.id] - const level = supportLevel === 'total' ? 'success' : supportLevel === 'partial' ? 'warning' : 'danger' - alerts.push({ - level, - render: ( -
- {icon()} {this._getPoolLicenseIconTooltip()} -
- ), - }) + if (isAdmin && this._isXcpngPool()) { + const { icon, supportLevel } = poolLicenseInfo + if (supportLevel !== 'total') { + const level = supportLevel === 'partial' ? 'warning' : 'danger' + alerts.push({ + level, + render: ( ++ {icon()} {this._getPoolLicenseIconTooltip()} +
+ ), + }) + } } return alerts } @@ -122,6 +125,7 @@ export default class PoolItem extends Component { render() { const { item: pool, expandAll, selected, hostMetrics, poolHosts, nSrs, nVms } = this.props const { missingPatchCount } = this.state + const { icon, supportLevel } = this._getPoolLicenseInfo() return (