Allow changes to internal user when password is void

This commit is contained in:
Sebastian Serth
2021-07-12 13:27:41 +02:00
parent eab51d1ea2
commit 671c2bd28b
4 changed files with 17 additions and 1 deletions

View File

@@ -3,8 +3,10 @@
class InternalUser < User
authenticates_with_sorcery!
attr_accessor :validate_password
validates :email, presence: true, uniqueness: true
validates :password, confirmation: true, if: :password_void?, on: :update, presence: true
validates :password, confirmation: true, if: -> { password_void? && validate_password? }, on: :update, presence: true
validates :role, inclusion: {in: ROLES}
def activated?
@@ -16,6 +18,13 @@ class InternalUser < User
end
private :password_void?
def validate_password?
return true if @validate_password.nil?
@validate_password
end
private :validate_password?
def teacher?
role == 'teacher'
end