Signed-off-by: Scott Seago sseago@redhat.com --- src/app/controllers/provider_controller.rb | 2 +- src/app/models/provider.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/src/app/controllers/provider_controller.rb b/src/app/controllers/provider_controller.rb index 09ed19f..3469ac6 100644 --- a/src/app/controllers/provider_controller.rb +++ b/src/app/controllers/provider_controller.rb @@ -8,7 +8,7 @@ class ProviderController < ApplicationController
def new @provider = Provider.new(params[:provider]) - if request.post? && @provider.save + if request.post? && @provider.save @provider.populate_flavors flash[:notice] = "Provider added." redirect_to :action => "index" end diff --git a/src/app/models/provider.rb b/src/app/models/provider.rb index f8d6f09..e4c6890 100644 --- a/src/app/models/provider.rb +++ b/src/app/models/provider.rb @@ -19,6 +19,22 @@ class Provider < ActiveRecord::Base end end
+ def populate_flavors + flavors = connect.flavors + # FIXME: this should probably be in the same transaction as provider.save + self.transaction do + flavors.each do |flavor| + ar_flavor = Flavor.new(:external_key => flavor.id, + :name => flavor.name ? flavor.name : flavor.id, + :memory => flavor.memory, + :storage => flavor.stprage, + :architecture => flavor.architecture, + :provider_id => id) + ar_flavor.save! + end + end + end + protected def validate if !nil_or_empty(url)
deltacloud-devel@lists.fedorahosted.org