Merge pull request 'github导入项目功能' (#55) from KingChan/forgeplus:chenjing into standalone_develop
This commit is contained in:
commit
554bbe7c7b
|
@ -293,7 +293,7 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def mirror_params
|
def mirror_params
|
||||||
params.permit(:user_id, :name, :description, :repository_name, :is_mirror, :auth_username,
|
params.permit(:user_id, :name, :description, :repository_name, :is_mirror, :auth_username, :auth_token,
|
||||||
:auth_password, :project_category_id, :project_language_id, :clone_addr, :private)
|
:auth_password, :project_category_id, :project_language_id, :clone_addr, :private)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class Projects::MigrateForm < BaseForm
|
class Projects::MigrateForm < BaseForm
|
||||||
attr_accessor :user_id, :name, :repository_name, :project_category_id, :description,
|
attr_accessor :user_id, :name, :repository_name, :project_category_id, :description, :auth_token,
|
||||||
:project_language_id, :clone_addr, :private, :is_mirror, :auth_username, :auth_password, :owner
|
:project_language_id, :clone_addr, :private, :is_mirror, :auth_username, :auth_password, :owner
|
||||||
|
|
||||||
validates :user_id, :name, :repository_name, :clone_addr, presence: true
|
validates :user_id, :name, :repository_name, :clone_addr, presence: true
|
||||||
|
|
|
@ -43,6 +43,7 @@ class Repository < ApplicationRecord
|
||||||
validates :identifier, presence: true
|
validates :identifier, presence: true
|
||||||
|
|
||||||
delegate :default_branch, to: :project, allow_nil: true
|
delegate :default_branch, to: :project, allow_nil: true
|
||||||
|
attr_accessor :auth_token
|
||||||
|
|
||||||
def to_param
|
def to_param
|
||||||
self.identifier.parameterize
|
self.identifier.parameterize
|
||||||
|
|
|
@ -39,15 +39,14 @@
|
||||||
# business :boolean default("0")
|
# business :boolean default("0")
|
||||||
# profile_completed :boolean default("0")
|
# profile_completed :boolean default("0")
|
||||||
# laboratory_id :integer
|
# laboratory_id :integer
|
||||||
# is_shixun_marker :boolean default("0")
|
# platform :string(255) default("0")
|
||||||
# admin_visitable :boolean default("0")
|
# gitea_token :string(255)
|
||||||
# collaborator :boolean default("0")
|
|
||||||
# gitea_uid :integer
|
# gitea_uid :integer
|
||||||
|
# is_shixun_marker :boolean default("0")
|
||||||
# is_sync_pwd :boolean default("1")
|
# is_sync_pwd :boolean default("1")
|
||||||
# watchers_count :integer default("0")
|
# watchers_count :integer default("0")
|
||||||
# devops_step :integer default("0")
|
# devops_step :integer default("0")
|
||||||
# gitea_token :string(255)
|
# sign_cla :boolean default("0")
|
||||||
# platform :string(255)
|
|
||||||
#
|
#
|
||||||
# Indexes
|
# Indexes
|
||||||
#
|
#
|
||||||
|
@ -56,8 +55,7 @@
|
||||||
# index_users_on_homepage_teacher (homepage_teacher)
|
# index_users_on_homepage_teacher (homepage_teacher)
|
||||||
# index_users_on_laboratory_id (laboratory_id)
|
# index_users_on_laboratory_id (laboratory_id)
|
||||||
# index_users_on_login (login) UNIQUE
|
# index_users_on_login (login) UNIQUE
|
||||||
# index_users_on_mail (mail) UNIQUE
|
# index_users_on_mail (mail)
|
||||||
# index_users_on_phone (phone) UNIQUE
|
|
||||||
# index_users_on_type (type)
|
# index_users_on_type (type)
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ -463,6 +461,23 @@ class User < Owner
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def register_gitea
|
||||||
|
psd = "12345678"
|
||||||
|
interactor = Gitea::RegisterInteractor.call({username: self.login, email: self.mail, password: psd})
|
||||||
|
if interactor.success?
|
||||||
|
gitea_user = interactor.result
|
||||||
|
result = Gitea::User::GenerateTokenService.call(self.login, psd)
|
||||||
|
self.gitea_token = result['sha1']
|
||||||
|
self.gitea_uid = gitea_user[:body]['id']
|
||||||
|
self.password = psd
|
||||||
|
self.password_confirmation = psd
|
||||||
|
if self.save!
|
||||||
|
UserExtension.create!(user_id: self.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def activate!
|
def activate!
|
||||||
update_attribute(:status, STATUS_ACTIVE)
|
update_attribute(:status, STATUS_ACTIVE)
|
||||||
prohibit_gitea_user_login!(false)
|
prohibit_gitea_user_login!(false)
|
||||||
|
|
|
@ -9,7 +9,6 @@ class Projects::MigrateService < ApplicationService
|
||||||
|
|
||||||
def call
|
def call
|
||||||
raise Error, "user_id不正确." unless authroize_user_id_success
|
raise Error, "user_id不正确." unless authroize_user_id_success
|
||||||
|
|
||||||
@project = Project.new(project_params)
|
@project = Project.new(project_params)
|
||||||
if @project.save!
|
if @project.save!
|
||||||
ProjectUnit.init_types(@project.id, project.project_type)
|
ProjectUnit.init_types(@project.id, project.project_type)
|
||||||
|
@ -55,6 +54,7 @@ class Projects::MigrateService < ApplicationService
|
||||||
user_id: params[:user_id],
|
user_id: params[:user_id],
|
||||||
login: params[:auth_username],
|
login: params[:auth_username],
|
||||||
password: params[:auth_password],
|
password: params[:auth_password],
|
||||||
|
auth_token: params[:auth_token],
|
||||||
is_mirror: params[:is_mirror],
|
is_mirror: params[:is_mirror],
|
||||||
source_clone_url: params[:source_clone_url]
|
source_clone_url: params[:source_clone_url]
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,8 @@ class Repositories::MigrateService < ApplicationService
|
||||||
private: params[:hidden],
|
private: params[:hidden],
|
||||||
mirror: wrapper_mirror || false,
|
mirror: wrapper_mirror || false,
|
||||||
auth_username: params[:login],
|
auth_username: params[:login],
|
||||||
auth_password: Base64.decode64(params[:password] || "")
|
auth_password: Base64.decode64(params[:password] || ""),
|
||||||
|
auth_token: params[:auth_token]
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue