新增:issue参与记录

This commit is contained in:
yystopf 2023-02-08 16:55:20 +08:00
parent fe972f1141
commit ade03c5e2f
4 changed files with 25 additions and 0 deletions

View File

@ -70,6 +70,8 @@ class Issue < ApplicationRecord
has_many :issue_depends, dependent: :destroy
has_many :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_many_includes, ->{includes(journals: :user)}
@ -77,6 +79,7 @@ class Issue < ApplicationRecord
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 :closed, ->{where(status_id: 5)}
scope :opened, ->{where.not(status_id: 5)}
after_create :incre_project_common, :incre_user_statistic, :incre_platform_statistic
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

View File

@ -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

View File

@ -177,6 +177,8 @@ class User < Owner
has_many :feedbacks, dependent: :destroy
has_many :issue_assigners, foreign_key: :assigner_id
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
scope :active, lambda { where(status: STATUS_ACTIVE) }
scope :like, lambda { |keywords|

View File

@ -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