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