Browse Source

add: project detail show open task count

tags/v3.1.1
vilet.yy 5 years ago
parent
commit
672f37fe48
5 changed files with 21 additions and 5 deletions
  1. +14
    -1
      app/models/concerns/dcodes.rb
  2. +1
    -1
      app/models/issue.rb
  3. +2
    -0
      app/models/pull_request.rb
  4. +1
    -0
      app/models/version.rb
  5. +3
    -3
      app/views/repositories/detail.json.jbuilder

+ 14
- 1
app/models/concerns/dcodes.rb View File

@@ -1,5 +1,5 @@
module Dcodes
DCODES = %W(1 2 3 4 5 6 7 8 9 a b c f e f g h i j k l m n o p q r s t u v w x y z)
DCODES = %W(1 2 3 4 5 6 7 8 9 a b c f e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R ST UV W X Y Z)

extend ActiveSupport::Concern

@@ -10,4 +10,17 @@ module Dcodes
end
code
end

def init_project_invite_code
total_count = Project.where(invite_code: nil).size
limit = 100
page = 1
while page * limit > total_count do
bulk_arr = []
(1..100).each do |_|
bulk_arr < DCODES.sample(6).join
end

end
end
end

+ 1
- 1
app/models/issue.rb View File

@@ -73,7 +73,7 @@ class Issue < ApplicationRecord
scope :issue_issue, ->{where(issue_classify: [nil,"issue"])}
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)}
after_update :change_versions_count
after_save :reset_cache_data
after_destroy :update_closed_issues_count_in_project!, :reset_cache_data


+ 2
- 0
app/models/pull_request.rb View File

@@ -38,6 +38,8 @@ class PullRequest < ApplicationRecord
has_many :project_trends, as: :trend, dependent: :destroy
has_many :attachments, as: :container, dependent: :destroy

scope :closed, ->{where(status: 2)}

after_save :reset_cache_data
after_destroy :reset_cache_data



+ 1
- 0
app/models/version.rb View File

@@ -29,6 +29,7 @@ class Version < ApplicationRecord
belongs_to :user, optional: true

scope :version_includes, ->{includes(:issues, :user)}
scope :closed, ->{where(status: 'closed')}

# def open_issues_count
# issues.select(:id,:status_id).where(status_id: [1,2,3,4,6]).size


+ 3
- 3
app/views/repositories/detail.json.jbuilder View File

@@ -12,13 +12,13 @@ json.name @project.name
json.description @project.description
json.project_id @project.id
json.repo_id @repository.id
json.issues_count @project.issues_count.to_i - @project.pull_requests_count.to_i
json.pull_requests_count @project.pull_requests_count
json.issues_count @project.issues_count.to_i - @project.issues.closed.size - @project.pull_requests_count.to_i
json.pull_requests_count @project.pull_requests_count - @project.pull_requests.closed.size
json.project_identifier render_identifier(@project)
json.praises_count @project.praises_count.to_i
json.forked_count @project.forked_count.to_i
json.watchers_count @project.watchers_count.to_i
json.versions_count @project.versions_count #里程碑数量
json.versions_count @project.versions_count - @project.versions.closed.size #里程碑数量
json.version_releases_count @project.releases_size(@user.try(:id), "all")
json.version_releasesed_count @project.releases_size(@user.try(:id), "released") #已发行的版本
json.permission render_permission(@user, @project)


Loading…
Cancel
Save