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.