From 7c0f5bccb331d02d35ddf2988f764121e0fd3eec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=8F=A4=E5=B3=B0?= Date: Tue, 24 Jun 2025 11:01:21 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E8=8B=8F=E5=B7=9E=E5=A4=A7=E5=AD=A6?= =?UTF-8?q?=E3=80=91=E5=8D=8F=E5=90=8C=E5=BC=80=E5=8F=91=E8=B0=83=E6=95=B4?= =?UTF-8?q?(#11588)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 12 +++++++++++- app/models/project.rb | 3 +++ config/routes.rb | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 5f13cb306..e7882a423 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -5,10 +5,20 @@ class ProjectsController < ApplicationController include Acceleratorable before_action :require_login, except: %i[index branches group_type_list simple show fork_users praise_users watch_users recommend about menu_list] - before_action :load_repository, except: %i[index group_type_list migrate create recommend] + before_action :load_repository, except: %i[create_project_review index group_type_list migrate create recommend] before_action :authorizate_user_can_edit_project!, only: %i[update] before_action :project_public?, only: %i[fork_users praise_users watch_users] + def create_project_review + Rails.logger.info "========params[:id] #{params[:repo]}" + @project = Project.find_by(id:params[:repo]) + if @project.blank? + tip_exception("项目不存在") + end + @project.create_project_review + render_ok + end + def menu_list menu = [] diff --git a/app/models/project.rb b/app/models/project.rb index 05d07c25a..24dd7866b 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -143,6 +143,9 @@ class Project < ApplicationRecord delegate :name, to: :license, prefix: true, allow_nil: true def create_project_review + if ProjectReview.where(project_id:self.id).present? + raise "此项目已经申请过了" + end de = Declaration.create(user_id: self.user_id,status:0,declare_type:16) de.project_reviews.create(project_id: self.id) end diff --git a/config/routes.rb b/config/routes.rb index 6f10333fe..8fcbe5f88 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -410,6 +410,7 @@ Rails.application.routes.draw do resource :projects, path: '/', except: [:show, :edit] do member do + post :create_project_review get :menu_list get :branches get :simple