Merge pull request '【苏州大学】协同开发调整(#11588)' (#397) from kikiwww/forgeplus:dev_edu_local_suzhoudaxue into dev_edu_local_suzhoudaxue

This commit is contained in:
jasder 2025-06-20 14:20:53 +08:00
commit 7a71657220
7 changed files with 36 additions and 1 deletions

16
app/models/declaration.rb Normal file
View File

@ -0,0 +1,16 @@
class Declaration < ApplicationRecord
#status
# '-1': '未提交'
# '0': '待审核'
# '1': '已通过'
# '2': '已驳回'
# '3': '已撤销'
belongs_to :user
has_many :apply_actions, as: :container,dependent: :destroy
has_many :project_reviews, dependent: :destroy
end

View File

@ -142,6 +142,11 @@ class Project < ApplicationRecord
delegate :content, to: :project_detail, allow_nil: true
delegate :name, to: :license, prefix: true, allow_nil: true
def create_project_review
de = Declaration.create(user_id: self.user_id,status:0,declare_type:16)
de.project_reviews.create(project_id: self.id)
end
def reset_cache_data
if changes[:user_id].present?
first_owner = Owner.find_by_id(changes[:user_id].first)

View File

@ -0,0 +1,7 @@
# frozen_string_literal: true
class ProjectReview < ApplicationRecord
belongs_to :project
belongs_to :declaration
end

View File

@ -13,6 +13,7 @@ class Projects::CreateService < ApplicationService
@project = Project.new(project_params)
ActiveRecord::Base.transaction do
if @project.save!
@project.create_project_review
Project.update_common_projects_count!
ProjectUnit.init_types(@project.id)
Repositories::CreateService.new(user, @project, repository_params).call

View File

@ -12,6 +12,7 @@ class Projects::MigrateService < ApplicationService
@project = Project.new(project_params)
if @project.save!
@project.create_project_review
ProjectUnit.init_types(@project.id, project.project_type)
Project.update_mirror_projects_count!
@project.set_owner_permission(user)

View File

@ -22,6 +22,8 @@ json.projects @projects do |project|
json.invite_code project.invite_code
json.is_manager project.manager?(current_user)
json.is_member project.member?(current_user)
# 审核状态 0未审核 1审核通过 2审核不通过 3审核撤回
json.audit_statu project.audit_statu
json.author do
if project.educoder?
project_educoder = project.project_educoder

View File

@ -15,4 +15,7 @@ json.transfer do
end
json.is_pinned @project.has_pinned_users.include?(current_user)
json.pending_verify_count @project.applied_projects.select{|x|x.status == "common"}.size
json.join_project_need_verify @project.join_project_need_verify
json.join_project_need_verify @project.join_project_need_verify
# 审核状态 0未审核 1审核通过 2审核不通过 3审核撤回
json.audit_statu @project.audit_statu