diff options
| author | Gabriel Mazetto <gabriel@gitlab.com> | 2015-12-29 17:53:55 -0200 |
|---|---|---|
| committer | Gabriel Mazetto <gabriel@gitlab.com> | 2016-01-08 16:26:04 -0200 |
| commit | bc7ef8e5b7a002ca6bc2d7a5e6be11b4a59b6710 (patch) | |
| tree | ac1da3e15753800631f5e73fe5537d7ff06e99b0 /app/models | |
| parent | 7403df6ca7bd31cd002d6fcf3bf4aa02dd4478eb (diff) | |
| download | gitlab-ce-bc7ef8e5b7a002ca6bc2d7a5e6be11b4a59b6710.tar.gz | |
Add ldap_blocked as new state to users state machine
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/user.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index 46b36c605b0..67b47b0f329 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -198,16 +198,26 @@ class User < ActiveRecord::Base transition active: :blocked end + event :ldap_block do + transition active: :ldap_blocked + end + event :activate do transition blocked: :active end + + state :blocked, :ldap_blocked do + def blocked? + true + end + end end mount_uploader :avatar, AvatarUploader # Scopes scope :admins, -> { where(admin: true) } - scope :blocked, -> { with_state(:blocked) } + scope :blocked, -> { with_states(:blocked, :ldap_blocked) } scope :active, -> { with_state(:active) } scope :not_in_project, ->(project) { project.users.present? ? where("id not in (:ids)", ids: project.users.map(&:id) ) : all } scope :without_projects, -> { where('id NOT IN (SELECT DISTINCT(user_id) FROM members)') } |
