Method: SysController#create_project_repository

Defined in:
app/controllers/sys_controller.rb

#create_project_repositoryObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'app/controllers/sys_controller.rb', line 37

def create_project_repository
  project = Project.find(params[:id])
  if project.repository
    head :conflict
  else
    logger.info "Repository for #{project.name} was reported to be created by #{request.remote_ip}."
    repository = Repository.factory(params[:vendor])
    repository.safe_attributes = params[:repository]
    repository.project = project
    if repository.save
      render :json => {repository.class.name.underscore.tr('/', '-') => {:id => repository.id, :url => repository.url}}, :status => :created
    else
      head :unprocessable_content
    end
  end
end