Skip to content

Commit

Permalink
Add cloud tenant filtering for various network object forms
Browse files Browse the repository at this point in the history
  • Loading branch information
tzumainn committed May 13, 2017
1 parent 66d9fb6 commit 371fe64
Show file tree
Hide file tree
Showing 12 changed files with 121 additions and 49 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,18 @@ ManageIQ.angular.app.controller('cloudNetworkFormController', ['$scope', 'cloudN
$scope.angularForm.$setPristine(true);
miqService.miqFlash("warn", "All changes have been reset");
};

$scope.filterNetworkManagerChanged = function(id) {
miqService.sparkleOn();

API.get("/api/providers/" + id + "/cloud_tenants?expand=resources&attributes=id,name")
.then(getCloudTenantsByEms)
.catch(miqService.handleFailure);

miqService.sparkleOff();
};

function getCloudTenantsByEms(data) {
$scope.available_tenants = data.resources;
}
}]);
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ManageIQ.angular.app.controller('floatingIpFormController', ['$http', '$scope', 'floatingIpFormId', 'miqService', function($http, $scope, floatingIpFormId, miqService) {
ManageIQ.angular.app.controller('floatingIpFormController', ['$http', '$scope', 'floatingIpFormId', 'miqService', 'API', function($http, $scope, floatingIpFormId, miqService, API) {
$scope.floatingIpModel = { name: '' };
$scope.formId = floatingIpFormId;
$scope.afterGet = false;
Expand Down Expand Up @@ -66,4 +66,19 @@ ManageIQ.angular.app.controller('floatingIpFormController', ['$http', '$scope',
$scope.available_networks = data.available_networks;
miqService.sparkleOff();
}


$scope.filterNetworkManagerChanged = function(id) {
miqService.sparkleOn();

API.get("/api/providers/" + id + "/cloud_tenants?expand=resources&attributes=id,name")
.then(getCloudTenantsByEms)
.catch(miqService.handleFailure);

miqService.sparkleOff();
};

function getCloudTenantsByEms(data) {
$scope.available_tenants = data.resources;
}
}]);
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ManageIQ.angular.app.controller('networkRouterFormController', ['$http', '$scope', 'networkRouterFormId', 'miqService', function($http, $scope, networkRouterFormId, miqService) {
ManageIQ.angular.app.controller('networkRouterFormController', ['$http', '$scope', 'networkRouterFormId', 'miqService', 'API', function($http, $scope, networkRouterFormId, miqService, API) {
$scope.networkRouterModel = {
name: '',
cloud_subnet_id: '',
Expand Down Expand Up @@ -105,4 +105,18 @@ ManageIQ.angular.app.controller('networkRouterFormController', ['$http', '$scope
$scope.available_subnets = data.available_subnets;
miqService.sparkleOff();
}

$scope.filterNetworkManagerChanged = function(id) {
miqService.sparkleOn();

API.get("/api/providers/" + id + "/cloud_tenants?expand=resources&attributes=id,name")
.then(getCloudTenantsByEms)
.catch(miqService.handleFailure);

miqService.sparkleOff();
};

function getCloudTenantsByEms(data) {
$scope.available_tenants = data.resources;
}
}]);
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,18 @@ ManageIQ.angular.app.controller('securityGroupFormController', ['$scope', 'secur
$scope.angularForm.$setPristine(true);
miqService.miqFlash("warn", "All changes have been reset");
};

$scope.filterNetworkManagerChanged = function(id) {
miqService.sparkleOn();

API.get("/api/providers/" + id + "/cloud_tenants?expand=resources&attributes=id,name")
.then(getCloudTenantsByEms)
.catch(miqService.handleFailure);

miqService.sparkleOff();
};

function getCloudTenantsByEms(data) {
$scope.available_tenants = data.resources;
}
}]);
8 changes: 4 additions & 4 deletions app/controllers/cloud_network_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,12 @@ def new
@network = CloudNetwork.new
@in_a_form = true
@network_ems_provider_choices = {}
ExtManagementSystem.where(:type => "ManageIQ::Providers::Openstack::NetworkManager").find_each do |ems|
@network_ems_provider_choices[ems.name] = ems.id
ExtManagementSystem.where(:type => "ManageIQ::Providers::Openstack::CloudManager").find_each do |ems|
if ems.respond_to?(:network_manager) && ems.network_manager
@network_ems_provider_choices[ems.network_manager.name] = ems.network_manager.id
end
end
@network_provider_network_type_choices = PROVIDERS_NETWORK_TYPES
@cloud_tenant_choices = {}
CloudTenant.all.each { |tenant| @cloud_tenant_choices[tenant.name] = tenant.id }

drop_breadcrumb(:name => _("Add New Cloud Network"), :url => "/cloud_network/new")
end
Expand Down
8 changes: 4 additions & 4 deletions app/controllers/floating_ip_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -165,11 +165,11 @@ def new
@floating_ip = FloatingIp.new
@in_a_form = true
@ems_choices = {}
ExtManagementSystem.where(:type => "ManageIQ::Providers::Openstack::NetworkManager").find_each do |ems|
@ems_choices[ems.name] = ems.id
ExtManagementSystem.where(:type => "ManageIQ::Providers::Openstack::CloudManager").find_each do |ems|
if ems.respond_to?(:network_manager) && ems.network_manager
@ems_choices[ems.network_manager.name] = ems.network_manager.id
end
end
@cloud_tenant_choices = {}
CloudTenant.all.each { |tenant| @cloud_tenant_choices[tenant.name] = tenant.id }
drop_breadcrumb(
:name => _("Add New Floating IP"),
:url => "/floating_ip/new"
Expand Down
8 changes: 4 additions & 4 deletions app/controllers/network_router_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,11 @@ def new
assert_privileges("network_router_new")
@in_a_form = true
@network_provider_choices = {}
ExtManagementSystem.where(:type => "ManageIQ::Providers::Openstack::NetworkManager").find_each do |ems|
@network_provider_choices[ems.name] = ems.id
ExtManagementSystem.where(:type => "ManageIQ::Providers::Openstack::CloudManager").find_each do |ems|
if ems.respond_to?(:network_manager) && ems.network_manager
@network_provider_choices[ems.network_manager.name] = ems.network_manager.id
end
end
@cloud_tenant_choices = {}
CloudTenant.all.each { |tenant| @cloud_tenant_choices[tenant.name] = tenant.id }
drop_breadcrumb(
:name => _("Add New Router") % {:model => ui_lookup(:table => 'network_router')},
:url => "/network_router/new"
Expand Down
9 changes: 4 additions & 5 deletions app/controllers/security_group_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -157,13 +157,12 @@ def new
@in_a_form = true

@ems_choices = {}
ExtManagementSystem.where(:type => "ManageIQ::Providers::Openstack::NetworkManager").find_each do |ems|
@ems_choices[ems.name] = ems.id
ExtManagementSystem.where(:type => "ManageIQ::Providers::Openstack::CloudManager").find_each do |ems|
if ems.respond_to?(:network_manager) && ems.network_manager
@ems_choices[ems.network_manager.name] = ems.network_manager.id
end
end

@cloud_tenant_choices = {}
CloudTenant.all.each { |tenant| @cloud_tenant_choices[tenant.name] = tenant.id }

drop_breadcrumb(:name => _("Add New Security Group"), :url => "/security_group/new")
end

Expand Down
20 changes: 12 additions & 8 deletions app/views/cloud_network/new.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"required" => "",
:miqrequired => true,
:checkchange => true,
"ng-change" => "filterNetworkManagerChanged(cloudNetworkModel.ems_id)",
"selectpicker-for-select-tag" => "")
= render :partial => "common_new_edit"
%h3
Expand All @@ -32,17 +33,20 @@
%h3
= _('Placement')
.form-horizontal
.form-group{"ng-class" => "{'has-error': angularForm.cloud_tenant_id.$invalid}"}
.form-group{"ng-if" => "cloudNetworkModel.ems_id"}
%label.col-md-2.control-label
= _('Cloud Tenant')
.col-md-8
= select_tag("cloud_tenant_id",
options_for_select([["<#{_('Choose')}>", nil]] + @cloud_tenant_choices.sort),
"ng-model" => "cloudNetworkModel.cloud_tenant_id",
"required" => "",
:miqrequired => true,
:checkchange => true,
"selectpicker-for-select-tag" => "")
%select{"name" => "cloud_tenant_id",
"ng-model" => "cloudNetworkModel.cloud_tenant_id",
"required" => "",
:miqrequired => true,
:checkchange => true,
'ng-options' => 'tenant.id as tenant.name for tenant in available_tenants',
'pf-select' => true,
"selectpicker-for-select-tag" => ""}
%option{"value" => ""}
= "<#{_('Choose')}>"
= render :partial => "layouts/angular/x_edit_buttons_angular"

:javascript
Expand Down
19 changes: 11 additions & 8 deletions app/views/floating_ip/new.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -64,17 +64,20 @@
%h3
= _('Placement')
.form-horizontal
.form-group
.form-group{"ng-if" => "floatingIpModel.ems_id"}
%label.col-md-2.control-label
= _('Cloud Tenant')
.col-md-8
= select_tag("cloud_tenant_id",
options_for_select([["<#{_('Choose')}>", nil]] + @cloud_tenant_choices.sort),
"ng-model" => "floatingIpModel.cloud_tenant_id",
"required" => "",
:miqrequired => true,
:checkchange => true,
"selectpicker-for-select-tag" => "")
%select{"name" => "cloud_tenant_id",
"ng-model" => "floatingIpModel.cloud_tenant_id",
"required" => "",
:miqrequired => true,
:checkchange => true,
'ng-options' => 'tenant.id as tenant.name for tenant in available_tenants',
'pf-select' => true,
"selectpicker-for-select-tag" => ""}
%option{"value" => ""}
= "<#{_('Choose')}>"

= render :partial => "layouts/angular/x_edit_buttons_angular"

Expand Down
17 changes: 11 additions & 6 deletions app/views/network_router/new.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,21 @@
%h3
= _('Placement')
.form-horizontal
.form-group{"ng-if" => "networkRouterModel.ems_id"}
.form-group{"ng-class" => "{'has-error': angularForm.cloud_tenant_id.$invalid}"}
%label.col-md-2.control-label
= _('Cloud Tenant')
.col-md-8
= select_tag("cloud_tenant_id",
options_for_select([["<#{_('Choose')}>", nil]] + @cloud_tenant_choices.sort),
"ng-model" => "networkRouterModel.cloud_tenant_id",
"required" => "",
:checkchange => true,
"selectpicker-for-select-tag" => "")
%select{"name" => "cloud_tenant_id",
"ng-model" => "networkRouterModel.cloud_tenant_id",
"required" => "",
:miqrequired => true,
:checkchange => true,
'ng-options' => 'tenant.id as tenant.name for tenant in available_tenants',
'pf-select' => true,
"selectpicker-for-select-tag" => ""}
%option{"value" => ""}
= "<#{_('Choose')}>"
%span.help-block{"ng-show" => "angularForm.cloud_tenant_id.$error.required"}
= _("Required")

Expand Down
20 changes: 12 additions & 8 deletions app/views/security_group/new.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,26 @@
"required" => "",
:miqrequired => true,
:checkchange => true,
"ng-change" => "filterNetworkManagerChanged(securityGroupModel.ems_id)",
"selectpicker-for-select-tag" => "")
= render :partial => "common_new_edit"
%h3
= _('Placement')
.form-horizontal
.form-group
.form-group{"ng-if" => "securityGroupModel.ems_id"}
%label.col-md-2.control-label
= _('Cloud Tenant')
.col-md-8
= select_tag("cloud_tenant_id",
options_for_select([["<#{_('Choose')}>", nil]] + @cloud_tenant_choices.sort),
"ng-model" => "securityGroupModel.cloud_tenant_id",
"required" => "",
:miqrequired => true,
:checkchange => true,
"selectpicker-for-select-tag" => "")
%select{"name" => "cloud_tenant_id",
"ng-model" => "securityGroupModel.cloud_tenant_id",
"required" => "",
:miqrequired => true,
:checkchange => true,
'ng-options' => 'tenant.id as tenant.name for tenant in available_tenants',
'pf-select' => true,
"selectpicker-for-select-tag" => ""}
%option{"value" => ""}
= "<#{_('Choose')}>"

= render :partial => "layouts/angular/x_edit_buttons_angular"

Expand Down

0 comments on commit 371fe64

Please sign in to comment.