---
src/app/controllers/cloud_accounts_controller.rb | 26 ++++++++++++---------
src/app/models/cloud_account.rb | 15 ++++--------
src/config/environment.rb | 2 +-
3 files changed, 21 insertions(+), 22 deletions(-)
diff --git a/src/app/controllers/cloud_accounts_controller.rb
b/src/app/controllers/cloud_accounts_controller.rb
index 9343f62..466bcfa 100644
--- a/src/app/controllers/cloud_accounts_controller.rb
+++ b/src/app/controllers/cloud_accounts_controller.rb
@@ -32,20 +32,24 @@ class CloudAccountsController < ApplicationController
@provider = Provider.find(params[:cloud_account][:provider_id])
require_privilege(Privilege::ACCOUNT_MODIFY,@provider)
@cloud_account = CloudAccount.new(params[:cloud_account])
+ unless @cloud_account.valid_credentials?
+ flash[:notice] = "The entered credential information is incorrect"
+ render :action => "new"
+ else
+ quota = Quota.new
+ quota.save!
- quota = Quota.new
- quota.save!
-
- @cloud_account.quota_id = quota.id
- @cloud_account.save!
+ @cloud_account.quota_id = quota.id
+ @cloud_account.save!
- if request.post? && @cloud_account.save &&
@cloud_account.populate_realms_and_images
- flash[:notice] = "Provider account added."
- redirect_to :controller => "provider", :action => "accounts", :id =>
@provider
- else
- render :action => "new"
+ if request.post? && @cloud_account.save &&
@cloud_account.populate_realms_and_images
+ flash[:notice] = "Provider account added."
+ redirect_to :controller => "provider", :action => "accounts", :id =>
@provider
+ else
+ render :action => "new"
+ end
+ condormatic_classads_sync
end
- condormatic_classads_sync
end
def edit
diff --git a/src/app/models/cloud_account.rb b/src/app/models/cloud_account.rb
index 69c8b87..237a4c7 100644
--- a/src/app/models/cloud_account.rb
+++ b/src/app/models/cloud_account.rb
@@ -127,21 +127,16 @@ class CloudAccount < ActiveRecord::Base
end
end
+ def valid_credentials?
+ DeltaCloud::valid_credentials?(username, password, provider.url)
+ end
+
protected
def validate
errors.add_to_base("Login Credentials are Invalid for this Provider")
unless valid_credentials?
end
private
- def valid_credentials?
- begin
- deltacloud = DeltaCloud.new(username, password, provider.url)
- #TODO This should be replaced by a DeltaCloud.test_credentials type
method once/if it is implemented in the API
- deltacloud.instances
- rescue Exception => e
- return false
- end
- return true
- end
+
end
diff --git a/src/config/environment.rb b/src/config/environment.rb
index e82c578..ba14e06 100644
--- a/src/config/environment.rb
+++ b/src/config/environment.rb
@@ -42,7 +42,7 @@ Rails::Initializer.run do |config|
# config.gem "hpricot", :version => '0.6', :source =>
"http://code.whytheluckystiff.net"
# config.gem "aws-s3", :lib => "aws/s3"
config.gem "authlogic"
- config.gem "deltacloud-client", :lib => "deltacloud"
+ config.gem "deltacloud-client", :lib => "deltacloud", :version => ">=
0.0.9.6"
config.gem "haml"
config.gem "will_paginate"
config.gem "nokogiri", :version => ">= 1.4.0"
--
1.7.2.2
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel