diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 59dd84e49..8e395b833 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -27,7 +27,6 @@ class AccountsController < ApplicationController # 其他平台同步注册的用户 def remote_register - remote_register_params.merge!(user_id: nil) Register::RemoteForm.new(remote_register_params).validate! username = params[:username]&.gsub(/\s+/, "") tip_exception("无法使用以下关键词:#{username},请重新命名") if ReversedKeyword.check_exists?(username) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 192288019..fc56f1ca9 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -289,7 +289,7 @@ class ProjectsController < ApplicationController def project_params params.permit(:user_id, :name, :description, :repository_name, :website, :lesson_url, :default_branch, :identifier, :project_category_id, :project_language_id, :license_id, :ignore_id, :private, - :blockchain, :blockchain_token_all, :blockchain_init_token) + :blockchain, :blockchain_token_all, :blockchain_init_token, :pr_view_admin) end def mirror_params diff --git a/app/controllers/pull_requests_controller.rb b/app/controllers/pull_requests_controller.rb index f1039362d..0cf022f7c 100644 --- a/app/controllers/pull_requests_controller.rb +++ b/app/controllers/pull_requests_controller.rb @@ -192,6 +192,7 @@ class PullRequestsController < ApplicationController end def show + tip_exception(403, "你没有权限访问") if @project.pr_view_admin? && !@project.manager?(current_user) @issue_user = @issue.user @issue_assign_to = @issue.get_assign_user @gitea_pull = Gitea::PullRequest::GetService.call(@owner.login, diff --git a/app/services/admins/import_user_from_excel_service.rb b/app/services/admins/import_user_from_excel_service.rb index b1ade1de2..709551c23 100644 --- a/app/services/admins/import_user_from_excel_service.rb +++ b/app/services/admins/import_user_from_excel_service.rb @@ -45,7 +45,7 @@ class Admins::ImportUserFromExcelService < ApplicationService password = data.password nickname = data.nickname&.gsub(/\s+/, "") raise Error, "无法使用以下关键词:#{username},请重新命名" if ReversedKeyword.check_exists?(data.login) - Register::RemoteForm.new({username: username, email: email, password: password, platform: 'forge', user_id: nil}).validate! + Register::RemoteForm.new({username: username, email: email, password: password, platform: 'forge'}).validate! user = User.new(admin: false, login: username, mail: email, nickname: nickname, platform: 'forge' , type: "User") user.password = password user.activate diff --git a/app/views/repositories/edit.json.jbuilder b/app/views/repositories/edit.json.jbuilder index e0b601f6d..7ef3c9081 100644 --- a/app/views/repositories/edit.json.jbuilder +++ b/app/views/repositories/edit.json.jbuilder @@ -10,7 +10,8 @@ json.project_units @project.project_units.pluck(:unit_type) json.lesson_url @project.lesson_url json.permission render_permission(current_user, @project) json.is_transfering @project.is_transfering -json.transfer do +json.pr_view_admin @project.pr_view_admin? +json.transfer do json.partial! "/users/user_simple", locals: {user: @project&.applied_transfer_project&.owner} end json.is_pinned @project.has_pinned_users.include?(current_user) \ No newline at end of file diff --git a/db/migrate/20230530353459_add_project_pr_admin.rb b/db/migrate/20230530353459_add_project_pr_admin.rb new file mode 100644 index 000000000..85655ae60 --- /dev/null +++ b/db/migrate/20230530353459_add_project_pr_admin.rb @@ -0,0 +1,5 @@ +class AddProjectPrAdmin < ActiveRecord::Migration[5.2] + def change + add_column :projects, :pr_view_admin, :boolean, default: false + end +end