From: Jan Provaznik jprovazn@redhat.com
Cloud type is fetched from backend driver before save. --- src/app/controllers/provider_controller.rb | 7 ++++--- src/app/models/provider.rb | 4 ++++ src/app/views/provider/_form.html.erb | 3 +-- 3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/app/controllers/provider_controller.rb b/src/app/controllers/provider_controller.rb index 59c9393..7422c95 100644 --- a/src/app/controllers/provider_controller.rb +++ b/src/app/controllers/provider_controller.rb @@ -35,9 +35,10 @@ class ProviderController < ApplicationController def new require_privilege(Privilege::PROVIDER_MODIFY) @provider = Provider.new(params[:provider]) - if request.post? && @provider.save && @provider.populate_hardware_profiles - flash[:notice] = "Provider added." - redirect_to :action => "show", :id => @provider + if request.post? && @provider.set_cloud_type && + @provider.save && @provider.populate_hardware_profiles + flash[:notice] = "Provider added." + redirect_to :action => "show", :id => @provider end condormatic_classads_sync end diff --git a/src/app/models/provider.rb b/src/app/models/provider.rb index e439520..ae8e98f 100644 --- a/src/app/models/provider.rb +++ b/src/app/models/provider.rb @@ -38,6 +38,10 @@ class Provider < ActiveRecord::Base :include => [:role], :order => "permissions.id ASC"
+ def set_cloud_type + self.cloud_type = connect.driver_name + end + def connect begin return DeltaCloud.new(nil, nil, url) diff --git a/src/app/views/provider/_form.html.erb b/src/app/views/provider/_form.html.erb index 9b4735f..6058894 100644 --- a/src/app/views/provider/_form.html.erb +++ b/src/app/views/provider/_form.html.erb @@ -5,9 +5,8 @@ <% form_tag :controller => :provider, :action => 'new' do %> <ul> <li><label>Name<span>Provide a descriptive name for this provider connection.</span></label><%= text_field :provider, :name, :class => "txtfield" %></li> - <li><label>Type<span>Choose the type of provider connection.</span></label><%= select :provider, :cloud_type, [["Mock","Mock"],["EC2", "EC2"],["RHEV-M", "RHEV-M"]], :class => "txtfield" %></li> <li><label>URL<span>Enter the URL of the cloud provider.</span></label><%= text_field:provider, :url, :class => "txtfield" %></li> </ul> <%= submit_tag "Save", :class => "submit" %> <% end %> -</div> \ No newline at end of file +</div>