新增:issue参与记录
This commit is contained in:
parent
fe972f1141
commit
ade03c5e2f
|
@ -70,6 +70,8 @@ class Issue < ApplicationRecord
|
||||||
has_many :issue_depends, dependent: :destroy
|
has_many :issue_depends, dependent: :destroy
|
||||||
has_many :issue_assigners
|
has_many :issue_assigners
|
||||||
has_many :assigners, through: :issue_assigners
|
has_many :assigners, through: :issue_assigners
|
||||||
|
has_many :issue_participants
|
||||||
|
has_many :participants, through: :issue_participants
|
||||||
|
|
||||||
scope :issue_includes, ->{includes(:user)}
|
scope :issue_includes, ->{includes(:user)}
|
||||||
scope :issue_many_includes, ->{includes(journals: :user)}
|
scope :issue_many_includes, ->{includes(journals: :user)}
|
||||||
|
@ -77,6 +79,7 @@ class Issue < ApplicationRecord
|
||||||
scope :issue_pull_request, ->{where(issue_classify: "pull_request")}
|
scope :issue_pull_request, ->{where(issue_classify: "pull_request")}
|
||||||
scope :issue_index_includes, ->{includes(:tracker, :priority, :version, :issue_status, :journals,:issue_tags,user: :user_extension)}
|
scope :issue_index_includes, ->{includes(:tracker, :priority, :version, :issue_status, :journals,:issue_tags,user: :user_extension)}
|
||||||
scope :closed, ->{where(status_id: 5)}
|
scope :closed, ->{where(status_id: 5)}
|
||||||
|
scope :opened, ->{where.not(status_id: 5)}
|
||||||
after_create :incre_project_common, :incre_user_statistic, :incre_platform_statistic
|
after_create :incre_project_common, :incre_user_statistic, :incre_platform_statistic
|
||||||
after_save :change_versions_count, :send_update_message_to_notice_system
|
after_save :change_versions_count, :send_update_message_to_notice_system
|
||||||
after_destroy :update_closed_issues_count_in_project!, :decre_project_common, :decre_user_statistic, :decre_platform_statistic
|
after_destroy :update_closed_issues_count_in_project!, :decre_project_common, :decre_user_statistic, :decre_platform_statistic
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
class IssueParticipant < ApplicationRecord
|
||||||
|
|
||||||
|
belongs_to :issue
|
||||||
|
belongs_to :participant, class_name: "User"
|
||||||
|
|
||||||
|
enum participant_type: {"authored": 0, "assigned": 1, "commented": 2, "edited": 3, "atme": 4}
|
||||||
|
|
||||||
|
|
||||||
|
end
|
|
@ -177,6 +177,8 @@ class User < Owner
|
||||||
has_many :feedbacks, dependent: :destroy
|
has_many :feedbacks, dependent: :destroy
|
||||||
has_many :issue_assigners, foreign_key: :assigner_id
|
has_many :issue_assigners, foreign_key: :assigner_id
|
||||||
has_many :assigned_issues, through: :issue_assigners, source: :issue
|
has_many :assigned_issues, through: :issue_assigners, source: :issue
|
||||||
|
has_many :issue_participants, foreign_key: :participant_id
|
||||||
|
has_many :participant_issues, through: :issue_participants, source: :issue
|
||||||
# Groups and active users
|
# Groups and active users
|
||||||
scope :active, lambda { where(status: STATUS_ACTIVE) }
|
scope :active, lambda { where(status: STATUS_ACTIVE) }
|
||||||
scope :like, lambda { |keywords|
|
scope :like, lambda { |keywords|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
class CreateIssueParticipants < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
create_table :issue_participants do |t|
|
||||||
|
t.references :issue
|
||||||
|
t.references :participant, references: :user
|
||||||
|
t.integer :participant_type, default: 0
|
||||||
|
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue