cosmetical cleanup of models
This commit is contained in:
parent
2a4359a572
commit
841e4fbd08
18 changed files with 108 additions and 226 deletions
|
@ -1,64 +1,31 @@
|
|||
class User < ActiveRecord::Base
|
||||
|
||||
include Account
|
||||
|
||||
devise :database_authenticatable, :token_authenticatable, :lockable,
|
||||
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
|
||||
|
||||
attr_accessible :email, :password, :password_confirmation, :remember_me, :bio,
|
||||
:name, :skype, :linkedin, :twitter, :dark_scheme,
|
||||
:theme_id, :force_random_password, :extern_uid, :provider, :as => [:default, :admin]
|
||||
attr_accessible :email, :password, :password_confirmation, :remember_me, :bio, :name,
|
||||
:skype, :linkedin, :twitter, :dark_scheme, :theme_id, :force_random_password,
|
||||
:extern_uid, :provider, :as => [:default, :admin]
|
||||
attr_accessible :projects_limit, :as => :admin
|
||||
|
||||
attr_accessor :force_random_password
|
||||
|
||||
has_many :users_projects, dependent: :destroy
|
||||
has_many :projects, through: :users_projects
|
||||
has_many :my_own_projects, class_name: "Project", foreign_key: :owner_id
|
||||
has_many :keys, dependent: :destroy
|
||||
|
||||
has_many :events,
|
||||
class_name: "Event",
|
||||
foreign_key: :author_id,
|
||||
dependent: :destroy
|
||||
|
||||
has_many :recent_events,
|
||||
class_name: "Event",
|
||||
foreign_key: :author_id,
|
||||
order: "id DESC"
|
||||
|
||||
has_many :issues,
|
||||
foreign_key: :author_id,
|
||||
dependent: :destroy
|
||||
|
||||
has_many :notes,
|
||||
foreign_key: :author_id,
|
||||
dependent: :destroy
|
||||
|
||||
has_many :assigned_issues,
|
||||
class_name: "Issue",
|
||||
foreign_key: :assignee_id,
|
||||
dependent: :destroy
|
||||
|
||||
has_many :merge_requests,
|
||||
foreign_key: :author_id,
|
||||
dependent: :destroy
|
||||
|
||||
has_many :assigned_merge_requests,
|
||||
class_name: "MergeRequest",
|
||||
foreign_key: :assignee_id,
|
||||
dependent: :destroy
|
||||
|
||||
validates :projects_limit,
|
||||
presence: true,
|
||||
numericality: {greater_than_or_equal_to: 0}
|
||||
has_many :projects, through: :users_projects
|
||||
has_many :users_projects, dependent: :destroy
|
||||
has_many :issues, foreign_key: :author_id, dependent: :destroy
|
||||
has_many :notes, foreign_key: :author_id, dependent: :destroy
|
||||
has_many :merge_requests, foreign_key: :author_id, dependent: :destroy
|
||||
has_many :my_own_projects, class_name: "Project", foreign_key: :owner_id
|
||||
has_many :events, class_name: "Event", foreign_key: :author_id, dependent: :destroy
|
||||
has_many :recent_events, class_name: "Event", foreign_key: :author_id, order: "id DESC"
|
||||
has_many :assigned_issues, class_name: "Issue", foreign_key: :assignee_id, dependent: :destroy
|
||||
has_many :assigned_merge_requests, class_name: "MergeRequest", foreign_key: :assignee_id, dependent: :destroy
|
||||
|
||||
validates :bio, length: { within: 0..255 }
|
||||
|
||||
validates :extern_uid, :allow_blank => true, :uniqueness => {:scope => :provider}
|
||||
|
||||
before_save :ensure_authentication_token
|
||||
alias_attribute :private_token, :authentication_token
|
||||
validates :projects_limit, presence: true, numericality: {greater_than_or_equal_to: 0}
|
||||
|
||||
scope :not_in_project, lambda { |project| where("id not in (:ids)", ids: project.users.map(&:id) ) }
|
||||
scope :admins, where(admin: true)
|
||||
|
@ -66,6 +33,8 @@ class User < ActiveRecord::Base
|
|||
scope :active, where(blocked: false)
|
||||
|
||||
before_validation :generate_password, on: :create
|
||||
before_save :ensure_authentication_token
|
||||
alias_attribute :private_token, :authentication_token
|
||||
|
||||
def generate_password
|
||||
if self.force_random_password
|
||||
|
@ -107,6 +76,7 @@ class User < ActiveRecord::Base
|
|||
where("name like :query or email like :query", query: "%#{query}%")
|
||||
end
|
||||
end
|
||||
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: users
|
||||
|
@ -140,4 +110,3 @@ end
|
|||
# extern_uid :string(255)
|
||||
# provider :string(255)
|
||||
#
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue