[PATCH conductor] BZ 769635, added scope enabled to Provider and ProviderAccount

Jozef Zigmund jzigmund at redhat.com
Fri Dec 23 14:37:43 UTC 2011


On Wednesday 21 December 2011 21:06:50 Tomas Hrcka wrote:
> ---
>  src/app/controllers/images_controller.rb |    8 ++++----
>  src/app/models/provider.rb               |    2 ++
>  src/app/models/provider_account.rb       |    2 ++
>  3 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/src/app/controllers/images_controller.rb
> b/src/app/controllers/images_controller.rb index d793432..4e1921a 100644
> --- a/src/app/controllers/images_controller.rb
> +++ b/src/app/controllers/images_controller.rb
> @@ -44,14 +44,14 @@ class ImagesController < ApplicationController
>          pimg =  @image.provider_images.first
>          provider = Provider.find_by_name(pimg.provider)
>          type = provider.provider_type
> -        acct =
> ProviderAccount.find_by_provider_name_and_login(provider.name,
> pimg.provider_account_identifier) +        acct =
> ProviderAccount.enabled.find_by_provider_name_and_login(provider.name,
> pimg.provider_account_identifier) raise unless acct
>          @account_groups = {type.deltacloud_driver => {:type => type,
> :accounts => [acct]}} rescue Exception => e
> -        @account_groups = ProviderAccount.group_by_type(current_user)
> +        @account_groups =
> ProviderAccount.enabled.group_by_type(current_user) end
>      else
> -      @account_groups = ProviderAccount.group_by_type(current_user)
> +      @account_groups = ProviderAccount.enabled.group_by_type(current_user)
> end
>      # according to imagefactory Builder.first shouldn't be implemented yet
>      # but it does what we need - returns builder object which contains
> @@ -83,7 +83,7 @@ class ImagesController < ApplicationController
> 
>    def new
>      if 'import' == params[:tab]
> -      @accounts = ProviderAccount.list_for_user(current_user,
> Privilege::USE) +      @accounts =
> ProviderAccount.enabled.list_for_user(current_user, Privilege::USE) render
> :import and return
>      else
>        @environment = PoolFamily.find(params[:environment])
> diff --git a/src/app/models/provider.rb b/src/app/models/provider.rb
> index 45bfd84..693d921 100644
> --- a/src/app/models/provider.rb
> +++ b/src/app/models/provider.rb
> @@ -59,6 +59,8 @@ class Provider < ActiveRecord::Base
> 
>    before_destroy :destroyable?
> 
> +  scope :enabled, where("enabled = ?", true)
> +
>    def encoded_url_with_driver_and_provider
>      url_extras = ";driver=#{provider_type.deltacloud_driver}"
>      if deltacloud_provider
> diff --git a/src/app/models/provider_account.rb
> b/src/app/models/provider_account.rb index 8079119..8332135 100644
> --- a/src/app/models/provider_account.rb
> +++ b/src/app/models/provider_account.rb
> @@ -68,6 +68,8 @@ class ProviderAccount < ActiveRecord::Base
>    before_create :no_account?
>    before_destroy :destroyable?
> 
> +  scope :enabled, where(:provider_id => Provider.enabled)
> +
>    def validate_presence_of_credentials
>      provider.provider_type.credential_definitions.each do |cd|
>        errors.add(:base, "#{cd.label} can't be blank") if
> credentials_hash[cd.name].blank?

Bugfix works as expected, ACK.



More information about the aeolus-devel mailing list