diff --git a/app/controllers/ci/cloud_accounts_controller.rb b/app/controllers/ci/cloud_accounts_controller.rb index 2c0bdc049..6578a730e 100644 --- a/app/controllers/ci/cloud_accounts_controller.rb +++ b/app/controllers/ci/cloud_accounts_controller.rb @@ -65,11 +65,12 @@ class Ci::CloudAccountsController < Ci::BaseController def activate return render_error('请先在指定地址做用户认证') unless current_user.ci_certification? - return render_error('该项目已经激活') if @repo.repo_active? + return render_error('该项目已经激活') if @repo && @repo.repo_active? ci_user = Ci::User.find_by(user_login: current_user.login) + repo = Ci::Repo.where(repo_namespace: current_user.login, repo_name: params[:repo]).first begin - @repo.activate! + repo.activate!(ci_user.user_id) @project.update_column(:open_devops, true) @cloud_account.update_column(ci_user_id: ci_user.user_id) render_ok diff --git a/app/models/ci/repo.rb b/app/models/ci/repo.rb index b0d549701..3c1b910f2 100644 --- a/app/models/ci/repo.rb +++ b/app/models/ci/repo.rb @@ -16,10 +16,11 @@ class Ci::Repo < Ci::RemoteBase [user, repo] end - def activate! + def activate!(ci_user_id) update_columns(repo_active: 1, repo_signer: generate_code, repo_secret: generate_code, + repo_user_id: ci_user_id, repo_config: '.trustie-pipeline.yml', repo_updated: Time.now.to_i) end