[PATCH conductor] BZ 784557 - send build request only if there are some providers

jprovazn at redhat.com jprovazn at redhat.com
Wed Feb 1 13:50:21 UTC 2012


From: Jan Provaznik <jprovazn at redhat.com>

---
 src/app/controllers/images_controller.rb |   11 +++++++----
 src/config/locales/en.yml                |    1 +
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/app/controllers/images_controller.rb b/src/app/controllers/images_controller.rb
index 41c48a5..4821d7e 100644
--- a/src/app/controllers/images_controller.rb
+++ b/src/app/controllers/images_controller.rb
@@ -64,10 +64,13 @@ class ImagesController < ApplicationController
 
   def rebuild_all
     @image = Aeolus::Image::Warehouse::Image.find(params[:id])
-    factory_image = Aeolus::Image::Factory::Image.new(:id => @image.id)
-    factory_image.targets = Provider.list_for_user(current_user, Privilege::VIEW).map {|p| p.provider_type.deltacloud_driver}.uniq.join(',')
-    factory_image.template = @image.template_xml.to_s
-    factory_image.save!
+    targets = Provider.list_for_user(current_user, Privilege::VIEW).map {|p| p.provider_type.deltacloud_driver}.uniq
+    unless targets.empty?
+      factory_image = Aeolus::Image::Factory::Image.new(:id => @image.id)
+      factory_image.targets = targets.join(',')
+      factory_image.template = @image.template_xml.to_s
+      factory_image.save!
+    end
     redirect_to image_path(@image.id)
   end
 
diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml
index 0467072..7e8e53d 100644
--- a/src/config/locales/en.yml
+++ b/src/config/locales/en.yml
@@ -762,6 +762,7 @@ en:
         no_file: You must specify the template XML file
         no_template: "The image doesn't have a template because it's been imported."
         no_provider_accounts: Images cannot be built, as no provider accounts are currently enabled.
+        no_providers: Images cannot be built and pushed, as no providers are currently enabled.
     new:
       new_image: New Image
       description:
-- 
1.7.7.5




More information about the aeolus-devel mailing list