diff options
Diffstat (limited to 'app/models/user.rb')
| -rw-r--r-- | app/models/user.rb | 11 |
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 |
