diff --git a/static/plugins/vmware/vmware_tab.js b/static/plugins/vmware/vmware_tab.js index 5eb06e2f9..099754ba2 100644 --- a/static/plugins/vmware/vmware_tab.js +++ b/static/plugins/vmware/vmware_tab.js @@ -41,6 +41,7 @@ var Field = React.createClass({ var props = _.extend({ onChange: this.onChange, disabled: this.props.disabled, + tooltipText: this.props.tooltipText, error: (this.props.model.validationError || {})[metadata.name] }, _.pick(metadata, 'name', 'type', 'label', 'description')); switch (metadata.type) { @@ -77,13 +78,16 @@ var FieldGroup = React.createClass({ var restrictions = this.props.model.testRestrictions(); var metadata = _.filter(this.props.model.get('metadata'), VmWareModels.isRegularField); var fields = metadata.map((meta) => { + if (restrictions.hide[meta.name] && restrictions.hide[meta.name].result) { + return null; + } return ( ); }); @@ -338,7 +342,9 @@ var VmWareTab = React.createClass({ cluster: this.props.cluster, settings: this.props.cluster.get('settings'), networking_parameters: this.props.cluster.get('networkConfiguration') - .get('networking_parameters') + .get('networking_parameters'), + current_vcenter: this.model.get('availability_zones').at(0), + glance: this.model.get('glance') }); this.onModelSync(); // eslint-disable-line no-sync @@ -407,6 +413,7 @@ var VmWareTab = React.createClass({ var model = this.state.model; var currentJson = JSON.stringify(this.model.toJSON()); var editable = this.props.cluster.isAvailableForSettingsChanges(); + this.actions = this.model.testRestrictions(); var hide = this.actions.hide || {}; var disable = this.actions.disable || {}; diff --git a/static/views/cluster_page_tabs/dashboard_tab.js b/static/views/cluster_page_tabs/dashboard_tab.js index e76e64422..f1705b534 100644 --- a/static/views/cluster_page_tabs/dashboard_tab.js +++ b/static/views/cluster_page_tabs/dashboard_tab.js @@ -557,7 +557,10 @@ var ClusterActionsPanel = React.createClass({ function(cluster) { if (cluster.get('settings').get('common.use_vcenter.value')) { var vcenter = cluster.get('vcenter'); - vcenter.setModels(configModels); + vcenter.setModels(_.extend({ + current_vcenter: vcenter.get('availability_zones').at(0), + glance: vcenter.get('glance') + }, configModels)); return !vcenter.isValid() && { blocker: [ {i18n('vmware.has_errors') + ' '}