[PATCH conductor] BZ799981: Fix push all button visibility
ifarkas at redhat.com
ifarkas at redhat.com
Wed Mar 7 15:07:31 UTC 2012
From: Imre Farkas <ifarkas at redhat.com>
https://bugzilla.redhat.com/show_bug.cgi?id=799981
---
src/app/controllers/images_controller.rb | 6 ++++--
src/app/views/images/show.html.haml | 2 +-
src/public/javascripts/backbone/views.js | 3 ++-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/app/controllers/images_controller.rb b/src/app/controllers/images_controller.rb
index ee66c9a..00952fe 100644
--- a/src/app/controllers/images_controller.rb
+++ b/src/app/controllers/images_controller.rb
@@ -56,12 +56,14 @@ class ImagesController < ApplicationController
else
@account_groups = ProviderAccount.enabled.group_by_type(@environment)
end
+
# according to imagefactory Builder.first shouldn't be implemented yet
# but it does what we need - returns builder object which contains
# all builds
@builder = Aeolus::Image::Factory::Builder.first
load_builds
load_target_images(@build)
+ @provider_image_exists = @target_images_by_target.values.any?{ |timg| timg.provider_images.length > 0 }
flash[:error] = t("images.flash.error.no_provider_accounts") if @account_groups.size == 0
respond_to do |format|
@@ -127,8 +129,8 @@ class ImagesController < ApplicationController
:failed_push_counts => failed_push_counts,
:latest_build_id => @latest_build,
:user_can_build => (@environment and
- check_privilege(Privilege::USE,
- @environment))}
+ check_privilege(Privilege::USE, @environment)),
+ :provider_image_exists => @provider_image_exists }
end
end
end
diff --git a/src/app/views/images/show.html.haml b/src/app/views/images/show.html.haml
index bbee92f..5051c45 100644
--- a/src/app/views/images/show.html.haml
+++ b/src/app/views/images/show.html.haml
@@ -46,7 +46,7 @@
- build_text << '_all'
= button_to t(build_text), rebuild_all_image_path(@image.id), :class => 'button pill'
#push-all-btn
- - if @build and @build.id == @latest_build
+ - if @build && @build.id == @latest_build && @provider_image_exists
= button_to t('.push_all'), push_all_image_path(@image.id, :build_id => @build.id), :class => 'button pill'
.content
diff --git a/src/public/javascripts/backbone/views.js b/src/public/javascripts/backbone/views.js
index 6a1d823..74177f9 100644
--- a/src/public/javascripts/backbone/views.js
+++ b/src/public/javascripts/backbone/views.js
@@ -215,8 +215,9 @@ Conductor.Views.ImagesShow = Backbone.View.extend({
var buildId = this.model.get("build") ? this.model.get("build")['uuid'] : null;
var latestBuildId = this.model.get("latest_build_id");
+ var providerImageExists = this.model.get("provider_image_exists");
- if (buildId && buildId == latestBuildId) {
+ if (buildId && buildId == latestBuildId && providerImageExists) {
$pushAllBtn.html($buttonTemplate.tmpl(this.model.toJSON()));
}
else {
--
1.7.6.5
More information about the aeolus-devel
mailing list