summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2015-06-22 21:13:49 -0400
committerRobert Speicher <rspeicher@gmail.com>2015-06-22 21:14:07 -0400
commitdcfce8b1988af62806a8bcdfd38bc2dcc0b7cf4e (patch)
treed3d559bcecf001326ca86a4838ef1bf1d1803db6
parentaedb546964cc6b6e456369bf17a3d917089f7017 (diff)
downloadgitlab-ce-rs-dev-issue-2414.tar.gz
Use alias_attribute to define User#two_factor_enabledrs-dev-issue-2414
-rw-r--r--app/models/user.rb17
-rw-r--r--spec/models/user_spec.rb24
2 files changed, 3 insertions, 38 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 9f1bdb12508..15782bcf9c1 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -80,6 +80,7 @@ class User < ActiveRecord::Base
devise :two_factor_authenticatable,
otp_secret_encryption_key: File.read(Rails.root.join('.secret')).chomp
+ alias_attribute :two_factor_enabled, :otp_required_for_login
devise :two_factor_backupable, otp_number_of_backup_codes: 10
serialize :otp_backup_codes, JSON
@@ -198,8 +199,8 @@ class User < ActiveRecord::Base
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)') }
- scope :with_two_factor, -> { where(otp_required_for_login: true) }
- scope :without_two_factor, -> { where(otp_required_for_login: false) }
+ scope :with_two_factor, -> { where(two_factor_enabled: true) }
+ scope :without_two_factor, -> { where(two_factor_enabled: false) }
#
# Class methods
@@ -309,18 +310,6 @@ class User < ActiveRecord::Base
@reset_token
end
- # Check if the user has enabled Two-factor Authentication
- def two_factor_enabled?
- otp_required_for_login
- end
-
- # Set whether or not Two-factor Authentication is enabled for the current user
- #
- # setting - Boolean
- def two_factor_enabled=(setting)
- self.otp_required_for_login = setting
- end
-
def namespace_uniq
namespace_name = self.username
existing_namespace = Namespace.by_path(namespace_name)
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index df7085f1d66..cbba289578a 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -210,30 +210,6 @@ describe User do
end
end
- describe '#two_factor_enabled' do
- it 'returns two-factor authentication status' do
- enabled = build_stubbed(:user, two_factor_enabled: true)
- disabled = build_stubbed(:user)
-
- expect(enabled).to be_two_factor_enabled
- expect(disabled).not_to be_two_factor_enabled
- end
- end
-
- describe '#two_factor_enabled=' do
- it 'enables two-factor authentication' do
- user = build_stubbed(:user, two_factor_enabled: false)
- expect { user.two_factor_enabled = true }.
- to change { user.two_factor_enabled? }.to(true)
- end
-
- it 'disables two-factor authentication' do
- user = build_stubbed(:user, two_factor_enabled: true)
- expect { user.two_factor_enabled = false }.
- to change { user.two_factor_enabled? }.to(false)
- end
- end
-
describe 'authentication token' do
it "should have authentication token" do
user = create(:user)