summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2014-05-29 10:04:07 +0200
committerAzul <azul@leap.se>2014-05-29 10:04:07 +0200
commite0d31118d6e4110d2c280afa9415cfe9def29deb (patch)
treeffa589ee7df174d0eaa20cec254a7251f425f402 /app
parent016e61ce9ab44cf58355e843b0c0d0085d373fc7 (diff)
hand on errors from Email to Identity to User
errors.each iterates through all errors for all attrbibutes nicely.
Diffstat (limited to 'app')
-rw-r--r--app/models/identity.rb10
-rw-r--r--app/models/user.rb6
2 files changed, 9 insertions, 7 deletions
diff --git a/app/models/identity.rb b/app/models/identity.rb
index 25be971..f2727c8 100644
--- a/app/models/identity.rb
+++ b/app/models/identity.rb
@@ -141,15 +141,17 @@ class Identity < CouchRest::Model::Base
def address_local_email
return if address.valid? #this ensures it is a valid local email address
- # we only hand on the first error for now.
- self.errors.add(:address, address.errors.messages.values.first)
+ address.errors.each do |attribute, error|
+ self.errors.add(:address, error)
+ end
end
def destination_email
return if destination.nil? # this identity is disabled
return if destination.valid? # this ensures it is Email
- # we only hand on the first error for now.
- self.errors.add(:destination, destination.errors.messages.values.first)
+ destination.errors.each do |attribute, error|
+ self.errors.add(:destination, error)
+ end
end
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 33508b5..84a795e 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -167,10 +167,10 @@ class User < CouchRest::Model::Base
##
def identity_is_valid
- refresh_identity
return if identity.valid?
- # hand on the first error only for now
- self.errors.add(:login, identity.errors.messages.values.first)
+ identity.errors.each do |attribute, error|
+ self.errors.add(:login, error)
+ end
end
def password