From 8239f13eaa89809d429b5407ab03973fb566cfa1 Mon Sep 17 00:00:00 2001 From: yystopf Date: Wed, 22 Feb 2023 09:55:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E8=A6=81=E6=B1=82?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/v1/issues/issue_tags_controller.rb | 2 +- .../api/v1/issues/journals_controller.rb | 2 +- .../api/v1/issues/milestones_controller.rb | 1 + app/controllers/api/v1/issues_controller.rb | 4 ++-- lib/tasks/upgrade_issue_generate_data.rake | 14 ++++++++------ 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/app/controllers/api/v1/issues/issue_tags_controller.rb b/app/controllers/api/v1/issues/issue_tags_controller.rb index 7038ddcae..077ac1474 100644 --- a/app/controllers/api/v1/issues/issue_tags_controller.rb +++ b/app/controllers/api/v1/issues/issue_tags_controller.rb @@ -1,5 +1,5 @@ class Api::V1::Issues::IssueTagsController < Api::V1::BaseController - + before_action :require_login, except: [:index] before_action :require_public_and_member_above, only: [:index] before_action :require_operate_above, only: [:create, :update, :destroy] diff --git a/app/controllers/api/v1/issues/journals_controller.rb b/app/controllers/api/v1/issues/journals_controller.rb index cd0996277..b184392a0 100644 --- a/app/controllers/api/v1/issues/journals_controller.rb +++ b/app/controllers/api/v1/issues/journals_controller.rb @@ -1,5 +1,5 @@ class Api::V1::Issues::JournalsController < Api::V1::IssuesController - + before_action :require_login, except: [:index, :children_journals] before_action :require_public_and_member_above, only: [:index, :create, :children_journals, :update, :destroy] before_action :load_issue, only: [:index, :create, :children_journals, :update, :destroy] before_action :load_journal, only: [:children_journals, :update, :destroy] diff --git a/app/controllers/api/v1/issues/milestones_controller.rb b/app/controllers/api/v1/issues/milestones_controller.rb index 4de6dffbf..b3f30e084 100644 --- a/app/controllers/api/v1/issues/milestones_controller.rb +++ b/app/controllers/api/v1/issues/milestones_controller.rb @@ -1,4 +1,5 @@ class Api::V1::Issues::MilestonesController < Api::V1::BaseController + before_action :require_login, except: [:index, :show] before_action :require_public_and_member_above, only: [:index, :show] before_action :require_operate_above, only: [:create, :update, :destroy] before_action :load_milestone, only: [:show, :update, :destroy] diff --git a/app/controllers/api/v1/issues_controller.rb b/app/controllers/api/v1/issues_controller.rb index 93de448af..35634a1ad 100644 --- a/app/controllers/api/v1/issues_controller.rb +++ b/app/controllers/api/v1/issues_controller.rb @@ -1,5 +1,5 @@ class Api::V1::IssuesController < Api::V1::BaseController - + before_action :require_login, except: [:index, :show] before_action :require_public_and_member_above, only: [:index, :show, :create, :update, :destroy] before_action :require_operate_above, only: [:batch_update, :batch_destroy] before_action :check_issue_operate_permission, only: [:update, :destroy] @@ -77,7 +77,7 @@ class Api::V1::IssuesController < Api::V1::BaseController end def check_issue_operate_permission - return render_forbidden("您没有操作权限!") unless current_user.present? && current_user.logged? && (@project.member?(current_user) || current_user.admin? || @issue.user == current_user) + return render_forbidden("您没有操作权限!") unless @project.member?(current_user) || current_user.admin? || @issue.user == current_user end private diff --git a/lib/tasks/upgrade_issue_generate_data.rake b/lib/tasks/upgrade_issue_generate_data.rake index 47cfb145d..3cefd32b8 100644 --- a/lib/tasks/upgrade_issue_generate_data.rake +++ b/lib/tasks/upgrade_issue_generate_data.rake @@ -37,16 +37,18 @@ namespace :upgrade_issue_generate_data do puts "____________fix end____total:#{count}__________" end - # 执行示例 bundle exec rake upgrade_issue_generate_data:move_assigned_to_id_to_assigners - # 线上环境执行示例 RAILS_ENV=production bundle exec rake upgrade_issue_generate_data:move_assigned_to_id_to_assigners - desc "upgrade_issue_generate_data: fix issue assigner to assigners" + # 执行示例 bundle exec rake upgrade_issue_generate_data:build_assigners_and_participants + # 线上环境执行示例 RAILS_ENV=production bundle exec rake upgrade_issue_generate_data:build_assigners_and_participants + desc "upgrade_issue_generate_data: fix issue assigners and participants" - task move_assigned_to_id_to_assigners: :environment do + task build_assigners_and_participants: :environment do puts "____________fix start________________" count = 0 - Issue.where.not(assigned_to_id: nil).find_each do |issue| + Issue.order(created_on: :desc)find_each do |issue| count += 1 - issue.assigners = User.where(id: issue.assigned_to_id) + issue.issue_assigners.find_or_create_by(assigner_id: issue.assigned_to_id) + issue.issue_participants.find_or_create_by(participant_id: issue.assigned_to_id, participant_type: 'assigned') + issue.issue_participants.find_or_create_by(participant_id: issue.author_id, participant_type: 'authored') end puts "____________fix end____total:#{count}__________" end