cleanup User model
This commit is contained in:
parent
fc74627f3c
commit
faa0ec7c63
2 changed files with 7 additions and 15 deletions
|
@ -1,10 +1,7 @@
|
||||||
class User < ActiveRecord::Base
|
class User < ActiveRecord::Base
|
||||||
# Include default devise modules. Others available are:
|
|
||||||
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
|
|
||||||
devise :database_authenticatable, :token_authenticatable,
|
devise :database_authenticatable, :token_authenticatable,
|
||||||
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
|
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
|
||||||
|
|
||||||
# Setup accessible (or protected) attributes for your model
|
|
||||||
attr_accessible :email, :password, :password_confirmation, :remember_me, :bio,
|
attr_accessible :email, :password, :password_confirmation, :remember_me, :bio,
|
||||||
:name, :projects_limit, :skype, :linkedin, :twitter, :dark_scheme, :theme_id
|
:name, :projects_limit, :skype, :linkedin, :twitter, :dark_scheme, :theme_id
|
||||||
|
|
||||||
|
@ -46,7 +43,7 @@ class User < ActiveRecord::Base
|
||||||
|
|
||||||
validates :bio, :length => { :within => 0..255 }
|
validates :bio, :length => { :within => 0..255 }
|
||||||
|
|
||||||
before_create :ensure_authentication_token
|
before_save :ensure_authentication_token
|
||||||
alias_attribute :private_token, :authentication_token
|
alias_attribute :private_token, :authentication_token
|
||||||
|
|
||||||
scope :not_in_project, lambda { |project| where("id not in (:ids)", :ids => project.users.map(&:id) ) }
|
scope :not_in_project, lambda { |project| where("id not in (:ids)", :ids => project.users.map(&:id) ) }
|
||||||
|
@ -76,7 +73,6 @@ class User < ActiveRecord::Base
|
||||||
admin
|
admin
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def require_ssh_key?
|
def require_ssh_key?
|
||||||
keys.count == 0
|
keys.count == 0
|
||||||
end
|
end
|
||||||
|
@ -89,12 +85,8 @@ class User < ActiveRecord::Base
|
||||||
projects.first
|
projects.first
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.generate_random_password
|
|
||||||
(0...8).map{ ('a'..'z').to_a[rand(26)] }.join
|
|
||||||
end
|
|
||||||
|
|
||||||
def first_name
|
def first_name
|
||||||
name.split(" ").first unless name.blank?
|
name.split.first unless name.blank?
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.find_for_ldap_auth(omniauth_info)
|
def self.find_for_ldap_auth(omniauth_info)
|
||||||
|
@ -104,8 +96,9 @@ class User < ActiveRecord::Base
|
||||||
if @user = User.find_by_email(email)
|
if @user = User.find_by_email(email)
|
||||||
@user
|
@user
|
||||||
else
|
else
|
||||||
password = generate_random_password
|
password = Devise.friendly_token[0, 8].downcase
|
||||||
@user = User.create(:name => name,
|
@user = User.create(
|
||||||
|
:name => name,
|
||||||
:email => email,
|
:email => email,
|
||||||
:password => password,
|
:password => password,
|
||||||
:password_confirmation => password
|
:password_confirmation => password
|
||||||
|
@ -133,7 +126,7 @@ class User < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def projects_limit_percent
|
def projects_limit_percent
|
||||||
return 100 if projects_limit.zero?
|
return 100 if projects_limit.zero?
|
||||||
(my_own_projects.count.to_f / projects_limit) * 100
|
(my_own_projects.count.to_f / projects_limit) * 100
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -163,4 +156,3 @@ end
|
||||||
# authentication_token :string(255)
|
# authentication_token :string(255)
|
||||||
# dark_scheme :boolean default(FALSE), not null
|
# dark_scheme :boolean default(FALSE), not null
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ describe User do
|
||||||
it { should respond_to(:is_admin?) }
|
it { should respond_to(:is_admin?) }
|
||||||
it { should respond_to(:identifier) }
|
it { should respond_to(:identifier) }
|
||||||
it { should respond_to(:name) }
|
it { should respond_to(:name) }
|
||||||
|
it { should respond_to(:private_token) }
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should return valid identifier" do
|
it "should return valid identifier" do
|
||||||
|
@ -67,4 +68,3 @@ end
|
||||||
# authentication_token :string(255)
|
# authentication_token :string(255)
|
||||||
# dark_scheme :boolean default(FALSE), not null
|
# dark_scheme :boolean default(FALSE), not null
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue