From: Jan Provaznik jprovazn@redhat.com
--- .../image_factory/image_imports_controller.rb | 2 +- src/app/models/image.rb | 13 +++++++------ src/lib/tasks/dc_tasks.rake | 4 ++-- src/spec/models/image_spec.rb | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/app/controllers/image_factory/image_imports_controller.rb b/src/app/controllers/image_factory/image_imports_controller.rb index 87128af..45ba6d6 100644 --- a/src/app/controllers/image_factory/image_imports_controller.rb +++ b/src/app/controllers/image_factory/image_imports_controller.rb @@ -7,7 +7,7 @@ class ImageFactory::ImageImportsController < ApplicationController
def create begin - Image.import(ProviderAccount.find(params[:provider_account_id]), params[:ami_id]) + Image.import(ProviderAccount.find(params[:provider_account_id]), params[:ami_id], current_user) flash[:notice]="Image successfully imported" redirect_to image_factory_templates_path kick_condor diff --git a/src/app/models/image.rb b/src/app/models/image.rb index 923dd23..00a674b 100644 --- a/src/app/models/image.rb +++ b/src/app/models/image.rb @@ -119,16 +119,16 @@ class Image < ActiveRecord::Base Delayed::Job.enqueue(BuildJob.new(img.id)) img end - def self.single_import(providername, username, password, image_id) + def self.single_import(providername, username, password, image_id, user) account = Image.get_account(providername, username, password) - Image.import(account, image_id) + Image.import(account, image_id, user) end
- def self.bulk_import(providername, username, password, images) + def self.bulk_import(providername, username, password, images, user) account = Image.get_account(providername, username, password) images.each do |image| begin - Image.import(account, image['id']) + Image.import(account, image['id'], user) $stderr.puts "imported image with id '#{image['id']}'" rescue $stderr.puts "failed to import image with id '#{image['id']}'" @@ -136,7 +136,7 @@ class Image < ActiveRecord::Base end end
- def self.import(account, image_id) + def self.import(account, image_id, user) if image_id.blank? raise "image id should not be blank" end @@ -158,7 +158,8 @@ class Image < ActiveRecord::Base :architecture => raw_image.architecture}, :complete => true, :uploaded => true, - :imported => true + :imported => true, + :owner => user ) template.save!
diff --git a/src/lib/tasks/dc_tasks.rake b/src/lib/tasks/dc_tasks.rake index 8255d32..ea775a9 100644 --- a/src/lib/tasks/dc_tasks.rake +++ b/src/lib/tasks/dc_tasks.rake @@ -92,7 +92,7 @@ namespace :dc do exit(1) end #account = get_account(args.provider, args.account) - img = Image.single_import(args.provider, args.username, args.password, args.image) + img = Image.single_import(args.provider, args.username, args.password, args.image, User.find_by_login('admin')) puts "Imported image with id '#{args.image}'" end
@@ -103,7 +103,7 @@ namespace :dc do exit(1) end list = YAML.load_file(args.yml_file) - Image.bulk_import(args.provider, args.username, args.password, list) + Image.bulk_import(args.provider, args.username, args.password, list, User.find_by_login('admin')) end
def get_account(provider_name, account_name) diff --git a/src/spec/models/image_spec.rb b/src/spec/models/image_spec.rb index 9635f20..b902fe1 100644 --- a/src/spec/models/image_spec.rb +++ b/src/spec/models/image_spec.rb @@ -61,7 +61,7 @@ describe Image do lambda do lambda do lambda do - img = Image.import(account, 'mock') + img = Image.import(account, 'mock', Factory(:user)) img.should_not be_nil img.template.uploaded.should be_true end.should change(Image, :count).by(1)