diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js index 2f819e5938..7a82dfc36f 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js @@ -26,7 +26,8 @@ 'horizon.app.core.openstack-service-api.nova', 'horizon.app.core.openstack-service-api.novaExtensions', 'horizon.app.core.openstack-service-api.security-group', - 'horizon.app.core.openstack-service-api.serviceCatalog' + 'horizon.app.core.openstack-service-api.serviceCatalog', + 'horizon.framework.widgets.toast.service' ]; /** @@ -51,7 +52,8 @@ novaAPI, novaExtensions, securityGroup, - serviceCatalog + serviceCatalog, + toast ) { var initPromise; @@ -245,7 +247,13 @@ setFinalSpecKeyPairs(finalSpec); setFinalSpecSecurityGroups(finalSpec); - return novaAPI.createServer(finalSpec); + return novaAPI.createServer(finalSpec).then(successMessage); + } + + function successMessage() { + var numberInstances = model.newInstanceSpec.instance_count; + var message = ngettext('Instance launched.', '%s instances launched.', numberInstances); + toast.add('success', interpolate(message, [numberInstances])); } function cleanNullProperties(finalSpec) { diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js index 809152786c..a012861e1d 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js @@ -55,7 +55,11 @@ $provide.value('horizon.app.core.openstack-service-api.nova', { createServer: function(finalSpec) { - return finalSpec; + return { + then: function () { + return finalSpec; + } + }; }, getAvailabilityZones: function() { var zones = [ @@ -172,6 +176,10 @@ }); $provide.value('horizon.app.core.openstack-service-api.keystone', {}); + + $provide.value('horizon.framework.widgets.toast.service', { + add: function() {} + }); })); beforeEach(inject(function(launchInstanceModel, $rootScope, _$q_) {