|
- # == Schema Information
- #
- # Table name: versions
- #
- # id :integer not null, primary key
- # project_id :integer default("0"), not null
- # name :string(255) default(""), not null
- # description :text(65535)
- # effective_date :date
- # created_on :datetime
- # updated_on :datetime
- # wiki_page_title :string(255)
- # status :string(255) default("open")
- # sharing :string(255) default("none"), not null
- # user_id :integer
- # issues_count :integer default("0")
- # closed_issues_count :integer default("0")
- # percent :float(24) default("0")
- #
- # Indexes
- #
- # index_versions_on_sharing (sharing)
- # versions_project_id (project_id)
- #
-
- class Version < ApplicationRecord
- belongs_to :project, counter_cache: true, touch: true
- has_many :issues, class_name: "Issue", foreign_key: "fixed_version_id"
- belongs_to :user, optional: true
-
- scope :version_includes, ->{includes(:issues, :user)}
- scope :closed, ->{where(status: 'closed')}
- scope :opening, ->{where(status: 'open')}
-
- # def open_issues_count
- # issues.select(:id,:status_id).where(status_id: [1,2,3,4,6]).size
- # end
- #
- # def close_issues_count
- # issues.select(:id,:status_id).where(status_id: 5).size
- # end
-
- def version_user
- User.select(:login, :lastname,:firstname, :nickname)&.find_by_id(self.user_id)
- end
-
- end
|