Browse Source

新增:issue参与记录

pull/342/head
yystopf 3 years ago
parent
commit
ade03c5e2f
4 changed files with 25 additions and 0 deletions
  1. +3
    -0
      app/models/issue.rb
  2. +9
    -0
      app/models/issue_participant.rb
  3. +2
    -0
      app/models/user.rb
  4. +11
    -0
      db/migrate/20230208023811_create_issue_participants.rb

+ 3
- 0
app/models/issue.rb 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


+ 9
- 0
app/models/issue_participant.rb 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

+ 2
- 0
app/models/user.rb 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|


+ 11
- 0
db/migrate/20230208023811_create_issue_participants.rb 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

Loading…
Cancel
Save