Beispiel #1
0
let updateEditableProperties = function(hostModel) {
  this.setInData(['hostAddView', 'hostAlias'], hostModel.hostAlias);
  this.setInData(['hostAddView', 'customProperties'], hostModel.customProperties);

  var credentials = utils.getIn(this.getData(), ['hostAddView', 'credentials']);
  if (credentials && hostModel.credential) {
    var credential = credentials.find((credential) => {
      return credential.documentSelfLink === hostModel.credential.documentSelfLink;
    });
    this.setInData(['hostAddView', 'credential'], credential);
  } else {
    this.setInData(['hostAddView', 'credential'], null);
  }

  var placementZones = utils.getIn(this.getData(), ['hostAddView', 'placementZones']);
  if (placementZones && hostModel.resourcePoolLink) {
    var placementZone = placementZones.find((placementZone) => {
      return placementZone.documentSelfLink === hostModel.resourcePoolLink;
    });
    this.setInData(['hostAddView', 'placementZone'], placementZone);
  } else {
    this.setInData(['hostAddView', 'placementZone'], null);
  }

  var deploymentPolicyProp = hostModel.customProperties.find((prop) => {
    return prop.name === '__deploymentPolicyLink';
  });
  if (deploymentPolicyProp) {
    var deploymentPolicies = utils.getIn(this.getData(), ['hostAddView', 'deploymentPolicies']);
    var deploymentPolicy = deploymentPolicies.find((policy) => {
      return policy.documentSelfLink === deploymentPolicyProp.value;
    });
    this.setInData(['hostAddView', 'deploymentPolicy'], deploymentPolicy);
  } else {
    // removed
    this.setInData(['hostAddView', 'deploymentPolicy'], null);
    hostModel.customProperties.__deploymentPolicyLink = null;
  }
};
Beispiel #2
0
 getPlacementZonesForHostsCall: function(hosts) {
   let placementZones = utils.getIn(this.data, ['listView', 'placementZones']) || {};
   let resourcePoolLinks = [];
   hosts.forEach((host) => {
     host.epzs.forEach((epz) => resourcePoolLinks.push(epz.epzLink));
   });
   let links = [...new Set(resourcePoolLinks)].filter((link) =>
       !placementZones.hasOwnProperty(link));
   if (links.length === 0) {
     return Promise.resolve(placementZones);
   }
   return services.loadPlacementZones(links).then((newPlacementZones) => {
     this.setInData(['listView', 'placementZones'],
         $.extend({}, placementZones, newPlacementZones));
     return utils.getIn(this.data, ['listView', 'placementZones']);
   });
 },
Beispiel #3
0
 return services.loadPlacementZones(links).then((newPlacementZones) => {
   this.setInData(['listView', 'placementZones'],
       $.extend({}, placementZones, newPlacementZones));
   return utils.getIn(this.data, ['listView', 'placementZones']);
 });