aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/user.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/user.rb')
-rw-r--r--app/models/user.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 5cfdf0605..fe5d9910d 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -21,6 +21,7 @@ class User < ActiveRecord::Base
validates :organisation, :presence => true
validates :email, :presence => true, :uniqueness => true
validates :name, :presence => true
+ validate :permissions_unique_and_nonempty
before_validation(:on => :create) do
self.password ||= Devise.friendly_token.first(6)
@@ -73,4 +74,14 @@ class User < ActiveRecord::Base
organisation.destroy
end
end
+
+ def permissions_unique_and_nonempty
+ if permissions && permissions.any?
+ if permissions.uniq.length != permissions.length
+ errors.add(:permissions, I18n.t('activerecord.errors.models.calendar.attributes.permissions.must_be_unique'))
+ elsif permissions.include? ''
+ errors.add(:permissions, I18n.t('activerecord.errors.models.calendar.attributes.permissions.must_be_nonempty'))
+ end
+ end
+ end
end