add: sync mirror project remove pulls module
This commit is contained in:
		
							parent
							
								
									fc5876fc32
								
							
						
					
					
						commit
						e490ddb1f5
					
				| 
						 | 
					@ -20,13 +20,16 @@ class ProjectUnit < ApplicationRecord
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  validates :unit_type, uniqueness: { scope: :project_id}
 | 
					  validates :unit_type, uniqueness: { scope: :project_id}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def self.init_types(project_id)
 | 
					  def self.init_types(project_id, project_type='common')
 | 
				
			||||||
    ProjectUnit::unit_types.each do |_, v|
 | 
					    unit_types = project_type == 'sync_mirror' ? ProjectUnit::unit_types.except("pulls") : ProjectUnit::unit_types
 | 
				
			||||||
 | 
					    unit_types.each do |_, v|
 | 
				
			||||||
      self.create!(project_id: project_id, unit_type: v)
 | 
					      self.create!(project_id: project_id, unit_type: v)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def self.update_by_unit_types!(project, types) 
 | 
					  def self.update_by_unit_types!(project, types) 
 | 
				
			||||||
 | 
					    # 同步镜像项目不能有合并请求模块
 | 
				
			||||||
 | 
					    types.delete("pulls") if project.sync_mirror?
 | 
				
			||||||
    # 默认code类型自动创建
 | 
					    # 默认code类型自动创建
 | 
				
			||||||
    types << "code"
 | 
					    types << "code"
 | 
				
			||||||
    project.project_units.where.not(unit_type: types).each(&:destroy!)
 | 
					    project.project_units.where.not(unit_type: types).each(&:destroy!)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,7 @@ class Projects::MigrateService < ApplicationService
 | 
				
			||||||
  def call
 | 
					  def call
 | 
				
			||||||
    @project = Project.new(project_params)
 | 
					    @project = Project.new(project_params)
 | 
				
			||||||
    if @project.save!
 | 
					    if @project.save!
 | 
				
			||||||
      ProjectUnit.init_types(@project.id)
 | 
					      ProjectUnit.init_types(@project.id, project.project_type)
 | 
				
			||||||
      Project.update_mirror_projects_count!
 | 
					      Project.update_mirror_projects_count!
 | 
				
			||||||
      @project.set_owner_permission(user)
 | 
					      @project.set_owner_permission(user)
 | 
				
			||||||
      Repositories::MigrateService.new(user, @project, repository_params).call
 | 
					      Repositories::MigrateService.new(user, @project, repository_params).call
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue