From 9a8b89bcd880c10f495d2d0cca6177c637bd1c4d Mon Sep 17 00:00:00 2001 From: jasder Date: Tue, 23 Mar 2021 09:28:40 +0800 Subject: [PATCH] =?UTF-8?q?FIX=20=E8=A7=A3=E5=86=B3=E5=AE=9E=E8=AE=AD?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E5=85=B3=E8=81=94=E9=A1=B9=E7=9B=AE=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/forks_controller.rb | 8 ++++++++ app/controllers/projects_controller.rb | 11 +++++++++-- app/models/project_info.rb | 8 ++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 app/models/project_info.rb diff --git a/app/controllers/forks_controller.rb b/app/controllers/forks_controller.rb index cb18091c..b41dc2d7 100644 --- a/app/controllers/forks_controller.rb +++ b/app/controllers/forks_controller.rb @@ -5,6 +5,14 @@ class ForksController < ApplicationController def create @new_project = Projects::ForkService.new(current_user, @project, params[:organization]).call + + # TODO: fix Educoder shixun + if @new_project.persisted? + ProjectScore.create(:project_id => @new_project.id, :score => 0) if @new_project.project_score.nil? + + project_info = ProjectInfo.new(:user_id => current_user.id, :project_id => @new_project.id) + @project.project_infos << project_info + end end private diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 1fd858be..ae3715e1 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -11,14 +11,14 @@ class ProjectsController < ApplicationController menu = [] menu.append(menu_hash_by_name("home")) - menu.append(menu_hash_by_name("code")) + menu.append(menu_hash_by_name("code")) menu.append(menu_hash_by_name("issues")) if @project.has_menu_permission("issues") menu.append(menu_hash_by_name("pulls")) if @project.has_menu_permission("pulls") menu.append(menu_hash_by_name("devops")) if @project.has_menu_permission("devops") menu.append(menu_hash_by_name("versions")) if @project.has_menu_permission("versions") menu.append(menu_hash_by_name("activity")) menu.append(menu_hash_by_name("setting")) if current_user.admin? || @project.owner?(current_user) - + render json: menu end @@ -44,6 +44,13 @@ class ProjectsController < ApplicationController Projects::CreateForm.new(project_params).validate! @project = Projects::CreateService.new(current_user, project_params).call + # TODO: fix Educoder shixun + if @project.persisted? + ProjectScore.create(:project_id => @project.id, :score => 0) if @project.project_score.nil? + + project_info = ProjectInfo.new(:user_id => current_user.id, :project_id => @project.id) + @project.project_infos << project_info + end end rescue Exception => e uid_logger_error(e.message) diff --git a/app/models/project_info.rb b/app/models/project_info.rb new file mode 100644 index 00000000..bd6c8655 --- /dev/null +++ b/app/models/project_info.rb @@ -0,0 +1,8 @@ +class ProjectInfo < ActiveRecord::Base + + belongs_to :project + belongs_to :user + validates_presence_of :project_id, :user_id + validates_uniqueness_of :project_id, :scope => :user_id + +end