[PATCH conductor] BZ799981: Fix push all button visibility (rev. 2)

Jozef Zigmund jzigmund at redhat.com
Thu Mar 8 15:57:26 UTC 2012


On Thursday 08 March 2012 15:55:12 ifarkas at redhat.com wrote:
> 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 |    4 +++-
>  3 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/src/app/controllers/images_controller.rb
> b/src/app/controllers/images_controller.rb index ee66c9a..954983a 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)
> +    @target_image_exists = @target_images_by_target.any?
>      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)), +                    
>      :target_image_exists => @target_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..6a4615a 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 &&
> @target_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..5065e1b 100644
> --- a/src/public/javascripts/backbone/views.js
> +++ b/src/public/javascripts/backbone/views.js
> @@ -215,8 +215,10 @@ 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");
> +    var targetImageExists = this.model.get("target_image_exists");
> 
> -    if (buildId && buildId == latestBuildId) {
> +    if (buildId && buildId == latestBuildId && targetImageExists) {
>        $pushAllBtn.html($buttonTemplate.tmpl(this.model.toJSON()));
>      }
>      else {

ACK. Now it works as we expect.



More information about the aeolus-devel mailing list