diff --git a/app/models/concerns/dcodes.rb b/app/models/concerns/dcodes.rb index f76b4b0f8..8c59a5c43 100644 --- a/app/models/concerns/dcodes.rb +++ b/app/models/concerns/dcodes.rb @@ -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 \ No newline at end of file diff --git a/app/models/issue.rb b/app/models/issue.rb index ce4b0a5fa..826ad3a5b 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -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 diff --git a/app/models/pull_request.rb b/app/models/pull_request.rb index d2e61f128..0d697c32e 100644 --- a/app/models/pull_request.rb +++ b/app/models/pull_request.rb @@ -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 diff --git a/app/models/version.rb b/app/models/version.rb index 650d5a656..7fa6313bf 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -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 diff --git a/app/views/repositories/detail.json.jbuilder b/app/views/repositories/detail.json.jbuilder index 1da871486..9535526c1 100644 --- a/app/views/repositories/detail.json.jbuilder +++ b/app/views/repositories/detail.json.jbuilder @@ -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)