add: project detail show open task count

This commit is contained in:
vilet.yy 2021-06-11 14:11:44 +08:00
parent 7c1725ebe2
commit 672f37fe48
5 changed files with 21 additions and 5 deletions

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

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

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

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

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)