From dfeef71606d645e564a484c90170528deedcb01a Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Fri, 17 Jan 2020 11:07:28 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9tracker=E5=92=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=BB=9F=E8=AE=A1=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 2 +- .../admins/statistics_controller.rb | 29 +++++++++++++++++++ app/helpers/tag_chosen_helper.rb | 2 +- app/models/project.rb | 1 + 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 app/controllers/admins/statistics_controller.rb diff --git a/Gemfile b/Gemfile index 96450c8a8..984972fc2 100644 --- a/Gemfile +++ b/Gemfile @@ -12,7 +12,7 @@ gem 'uglifier', '>= 1.3.0' # gem 'coffee-rails', '~> 4.2' gem 'turbolinks', '~> 5' gem 'jbuilder', '~> 2.5' - +gem 'groupdate', '~> 4.1.0' gem 'grape-entity', '~> 0.7.1' gem 'kaminari', '~> 1.1', '>= 1.1.1' diff --git a/app/controllers/admins/statistics_controller.rb b/app/controllers/admins/statistics_controller.rb new file mode 100644 index 000000000..cf8880d86 --- /dev/null +++ b/app/controllers/admins/statistics_controller.rb @@ -0,0 +1,29 @@ +class Admins::AboutsController < Admins::BaseController + + def index + projects = Project.all.project_statics_select + by_time = params[:time] + b_classify = params[:classify] + + if b_classify.present? + + end + + if by_time.present? + case by_time.to_s + when "week" + projects = projects.group_by_week(:created_on).count + when "month" + projects = projects.group_by_month(:created_on).count + when "quarter" + projects = projects.group_by_month(:created_on).count + when "year" + projects = projects.group_by_year(:created_on).count + else + projects = projects.group_by_day(:created_on).count + end + end + + end + +end \ No newline at end of file diff --git a/app/helpers/tag_chosen_helper.rb b/app/helpers/tag_chosen_helper.rb index 4b0341a4e..25e07b046 100644 --- a/app/helpers/tag_chosen_helper.rb +++ b/app/helpers/tag_chosen_helper.rb @@ -43,7 +43,7 @@ module TagChosenHelper project_members_info.push(member_info) end - tracker_info = project.trackers&.pluck(:id, :name, :position) + tracker_info = Tracker&.pluck(:id, :name, :position) new_tracker_info = [] #类型 if tracker_info.size > 0 tracker_info.each do |t| diff --git a/app/models/project.rb b/app/models/project.rb index 38b4bf132..78538ba7e 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -30,6 +30,7 @@ class Project < ApplicationRecord has_and_belongs_to_many :trackers, :order => "#{Tracker.table_name}.position" after_save :check_project_members + scope :project_statics_select, -> {select(:id,:name, :is_public, :identifier, :status, :project_type, :hidden_repo, :user_id, :forked_count, :visits, :project_category_id, :project_language_id, :license_id, :ignore_id, :watchers_count, :created_on)} # 创建者 From 98cd004a5fa6d6934589e08bf47bc1053382a739 Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Fri, 17 Jan 2020 11:10:43 +0800 Subject: [PATCH 2/6] title --- public/react/src/forge/Index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/public/react/src/forge/Index.js b/public/react/src/forge/Index.js index eee358fbe..0db8b4cdf 100644 --- a/public/react/src/forge/Index.js +++ b/public/react/src/forge/Index.js @@ -37,6 +37,7 @@ class Index extends Component{ } componentDidMount=()=>{ this.getUserInfo(); + document.title="forge开源"; } getUserInfo=()=>{ From 43c03f1376525371d2a0eafb03cfabbe3a581adc Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Fri, 17 Jan 2020 11:24:58 +0800 Subject: [PATCH 3/6] add migration --- app/controllers/admins/statistics_controller.rb | 5 ++--- db/migrate/20200117032213_add_issue_priosity_to_table.rb | 9 +++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 db/migrate/20200117032213_add_issue_priosity_to_table.rb diff --git a/app/controllers/admins/statistics_controller.rb b/app/controllers/admins/statistics_controller.rb index cf8880d86..a682e12fb 100644 --- a/app/controllers/admins/statistics_controller.rb +++ b/app/controllers/admins/statistics_controller.rb @@ -3,11 +3,10 @@ class Admins::AboutsController < Admins::BaseController def index projects = Project.all.project_statics_select by_time = params[:time] - b_classify = params[:classify] + project_type = params[:project_type] - if b_classify.present? + projects = projects.where(project_type: project_type) if project_type.present? - end if by_time.present? case by_time.to_s diff --git a/db/migrate/20200117032213_add_issue_priosity_to_table.rb b/db/migrate/20200117032213_add_issue_priosity_to_table.rb new file mode 100644 index 000000000..cd77d8a97 --- /dev/null +++ b/db/migrate/20200117032213_add_issue_priosity_to_table.rb @@ -0,0 +1,9 @@ +class AddIssuePriosityToTable < ActiveRecord::Migration[5.2] + def change + name = %w(低 正常 高 紧急 立刻) + position = %w(1 2 3 4 5) + name.each_with_index do |n, index| + IssuePriority.create!(name:n, position: position[index]) + end + end +end From 7f87917d9855f176c6385d5a4598e599461a98b6 Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Fri, 17 Jan 2020 11:25:58 +0800 Subject: [PATCH 4/6] null --- public/react/src/forge/Order/New.js | 48 ++++++++++++----------------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/public/react/src/forge/Order/New.js b/public/react/src/forge/Order/New.js index 3021cff25..f193abbcc 100644 --- a/public/react/src/forge/Order/New.js +++ b/public/react/src/forge/Order/New.js @@ -16,15 +16,15 @@ class New extends Component{ constructor(props){ super(props); this.state={ - branch_name:"-1", - issue_tag_ids:"-1", - fixed_version_id:"-1", - tracker_id:"-1", - issue_type:"-1", - status_id:'-1', - assigned_to_id:"-1", - priority_id:"-1", - done_ratio:"-1", + branch_name:"", + issue_tag_ids:"", + fixed_version_id:"", + tracker_id:"", + issue_type:"", + status_id:'', + assigned_to_id:"", + priority_id:"", + done_ratio:"", issue_chosen:undefined, branches:undefined, fileList:undefined @@ -78,17 +78,7 @@ class New extends Component{ const { fileList } = this.state; const url = `/projects/${projectsId}/issues.json`; axios.post(url,{ - subject:values.subject, - description:values.description, - branch_name:values.branch_name, - issue_tag_ids:values.issue_tag_ids > -1 ? values.issue_tag_ids : undefined, - fixed_version_id:values.fixed_version_id > -1 ? values.fixed_version_id : undefined, - tracker_id:values.tracker_id > -1 ? values.tracker_id : undefined, - issue_type:values.issue_type > -1 ? values.issue_type : undefined, - status_id:values.status_id > -1 ? values.status_id : undefined, - assigned_to_id:values.assigned_to_id > -1 ? values.assigned_to_id : undefined, - priority_id:values.priority_id > -1 ? values.priority_id : undefined, - done_ratio:values.done_ratio > -1 ? values.done_ratio : undefined, + ...values, attachment_ids:fileList }).then(result=>{ if(result){ @@ -153,7 +143,7 @@ class New extends Component{ rules: [], })( - + { this.renderSelect(issue_chosen && issue_chosen.issue_tag) } )} @@ -183,7 +173,7 @@ class New extends Component{ rules: [], })( )} @@ -195,7 +185,7 @@ class New extends Component{ rules: [], })( )} @@ -207,7 +197,7 @@ class New extends Component{ rules: [], })( )} @@ -219,7 +209,7 @@ class New extends Component{ rules: [], })( )} @@ -231,7 +221,7 @@ class New extends Component{ rules: [], })( )} @@ -243,7 +233,7 @@ class New extends Component{ rules: [], })( )} @@ -255,7 +245,7 @@ class New extends Component{ rules: [], })( )} From fee43f52a7a20f168582f517b3c8b35cac4a9b21 Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Fri, 17 Jan 2020 13:53:34 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...00117032213_add_issue_priosity_to_table.rb | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/db/migrate/20200117032213_add_issue_priosity_to_table.rb b/db/migrate/20200117032213_add_issue_priosity_to_table.rb index cd77d8a97..55640ea9a 100644 --- a/db/migrate/20200117032213_add_issue_priosity_to_table.rb +++ b/db/migrate/20200117032213_add_issue_priosity_to_table.rb @@ -1,9 +1,16 @@ +# encoding: UTF-8 class AddIssuePriosityToTable < ActiveRecord::Migration[5.2] - def change - name = %w(低 正常 高 紧急 立刻) - position = %w(1 2 3 4 5) - name.each_with_index do |n, index| - IssuePriority.create!(name:n, position: position[index]) - end - end + #本地需要修改,线上不用修改 + # def change + # create_table :issue_priorities do |t| + # t.string :name, charset: :utf8 + # t.integer :position + # t.timestamps + # end + # name = %w(低 正常 高 紧急 立刻) + # position = %w(1 2 3 4 5) + # name.each_with_index do |n, index| + # IssuePriority.create!(name:n.to_s, position: position[index]) + # end + # end end From e248eb1108bc7283c71e337c3a884c90e5de5e71 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Fri, 17 Jan 2020 13:56:06 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admins/statistics_controller.rb | 11 +++++++++-- app/controllers/issues_controller.rb | 6 ++++-- app/views/admins/statistics/index.html.erb | 1 + 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 app/views/admins/statistics/index.html.erb diff --git a/app/controllers/admins/statistics_controller.rb b/app/controllers/admins/statistics_controller.rb index a682e12fb..707f36363 100644 --- a/app/controllers/admins/statistics_controller.rb +++ b/app/controllers/admins/statistics_controller.rb @@ -4,9 +4,16 @@ class Admins::AboutsController < Admins::BaseController projects = Project.all.project_statics_select by_time = params[:time] project_type = params[:project_type] + is_private = params[:is_private] + project_category_id = params[:project_category_id] + project_language_id = params[:project_language_id] + license_id = params[:license_id] projects = projects.where(project_type: project_type) if project_type.present? - + projects = projects.where(is_private: is_private) if is_private.present? + projects = projects.where(project_category_id: project_category_id) if project_category_id.present? + projects = projects.where(project_language_id: project_language_id) if project_language_id.present? + projects = projects.where(license_id: license_id) if license_id.present? if by_time.present? case by_time.to_s @@ -22,7 +29,7 @@ class Admins::AboutsController < Admins::BaseController projects = projects.group_by_day(:created_on).count end end - + @projects = projects end end \ No newline at end of file diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 506a765bd..8d19be016 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -162,9 +162,11 @@ class IssuesController < ApplicationController issue_tags_value: params[:issue_tag_ids].present? ? params[:issue_tag_ids].join(",") : "", closed_on: (params[:status_id].to_i == 5) ? Time.now : nil, issue_classify: "issue", - branch_name: params[:branch_name].to_s + branch_name: params[:branch_name].to_s, + author_id: current_user.id, + project_id: @project.id } - @issue = Issue.new(issue_params.merge(author_id: current_user.id, project_id: @project.id)) + @issue = Issue.new(issue_params) if @issue.save! if params[:attachment_ids].present? params[:attachment_ids].each do |id| diff --git a/app/views/admins/statistics/index.html.erb b/app/views/admins/statistics/index.html.erb new file mode 100644 index 000000000..030693d17 --- /dev/null +++ b/app/views/admins/statistics/index.html.erb @@ -0,0 +1 @@ +<%= @projects %> \ No newline at end of file