Files
magnum-ui/magnum_ui/static/dashboard/container-infra/baymodels/create/baymodel-model.js
Shu Muto b31c2bfc90 Rename service to 'container-infra'
Magnum renames its service_type [1]. According to that,
this patch renames service name, Angular module name,
related URLs and related strings.

[1] https://bugs.launchpad.net/magnum/+bug/1584251

Change-Id: If730ff75826b7f6d50b308b78f8e881da6696966
Implements: blueprint rename-service
2016-05-30 10:50:31 +09:00

95 lines
2.7 KiB
JavaScript

/**
* Copyright 2015 Cisco Systems, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
(function() {
'use strict';
angular
.module('horizon.dashboard.container-infra.baymodels')
.factory('baymodelModel', baymodelModel);
baymodelModel.$inject = [
'horizon.app.core.openstack-service-api.magnum'
];
function baymodelModel(magnum) {
var model = {
newBaymodelSpec: {},
// API methods
init: init,
createBaymodel: createBaymodel
};
function initNewBaymodelSpec() {
model.newBaymodelSpec = {
name: null,
coe: "",
public: null,
registry_enabled: null,
tls_disabled: null,
image_id: "",
flavor_id: "",
master_flavor_id: "",
docker_volume_size: null,
keypair_id: "",
network_driver: "",
volume_driver: "",
http_proxy: null,
https_proxy: null,
no_proxy: null,
external_network_id: "",
fixed_network: "",
dns_nameserver: null,
labels: null,
network_drivers : [{name: "docker", label: gettext("Docker")},
{name: "flannel", label: gettext("Flannel")}],
volume_drivers : [{name: "", label: gettext("Choose a Volume Driver")},
{name: "cinder", label: gettext("Cinder")},
{name: "rexray", label: gettext("Rexray")}]
};
}
function init() {
// Reset the new Baymodel spec
initNewBaymodelSpec();
}
function createBaymodel() {
var finalSpec = angular.copy(model.newBaymodelSpec);
cleanNullProperties(finalSpec);
return magnum.createBaymodel(finalSpec);
}
function cleanNullProperties(finalSpec) {
// Initially clean fields that don't have any value.
// Not only "null", blank too.
// "network_drivers" and "volume_drivers" are used for pull-down options.
// These are not for submittion.
for (var key in finalSpec) {
if (finalSpec.hasOwnProperty(key) && finalSpec[key] === null || finalSpec[key] === ""
|| key === "network_drivers" || key === "volume_drivers") {
delete finalSpec[key];
}
}
}
return model;
}
})();