ACK
----- Original Message -----
From: jprovazn(a)redhat.com
To: deltacloud-devel(a)lists.fedorahosted.org
Sent: Tuesday, August 10, 2010 3:20:31 PM GMT +01:00 Amsterdam / Berlin / Bern / Rome /
Stockholm / Vienna
Subject: [deltacloud-devel] [PATCH aggregator] Fixed Bug 619838 - display errors when user
registration fails
From: Jan Provaznik <jprovazn(a)redhat.com>
---
src/app/controllers/users_controller.rb | 1 +
src/app/services/registration_service.rb | 15 +++++++++++++--
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/app/controllers/users_controller.rb
b/src/app/controllers/users_controller.rb
index 19828db..b9d290a 100644
--- a/src/app/controllers/users_controller.rb
+++ b/src/app/controllers/users_controller.rb
@@ -34,6 +34,7 @@ class UsersController < ApplicationController
flash[:notice] = "User registered!"
redirect_back_or_default user_url(@user)
else
+ flash[:warning] = "user registration failed: #{(a)registration.error}"
render :action => :new
end
end
diff --git a/src/app/services/registration_service.rb
b/src/app/services/registration_service.rb
index 2083803..37444ad 100644
--- a/src/app/services/registration_service.rb
+++ b/src/app/services/registration_service.rb
@@ -1,11 +1,16 @@
class RegistrationService
+ attr_reader :error
def initialize(user)
@user = user
end
def save
- return false unless valid?
+ unless valid?
+ @error = "validation failed"
+ return false
+ end
+
begin
User.transaction do
@user.save!
@@ -17,11 +22,17 @@ class RegistrationService
@pool.quota_id = @quota.id
@pool.save!
+ raise "Role 'Instance Creator and User' doesn't exist"
unless
+ role = Role.find_by_name("Instance Creator and User")
+
Permission.create!({:user => @user,
- :role => Role.find_by_name("Instance Creator and
User"),
+ :role => role,
:permission_object => @pool})
end
rescue
+ Rails.logger.error $!.message
+ Rails.logger.error $!.backtrace.join("\n ")
+ @error = $!.message
false
end
end
--
1.7.0.1
_______________________________________________
deltacloud-devel mailing list
deltacloud-devel(a)lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/deltacloud-devel