添加实训合作者,数据同步github
This commit is contained in:
parent
90c01ff9d8
commit
f2fe59ed0f
|
|
@ -184,17 +184,38 @@ class ShixunsController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
# 事务处理,保证Trustie与Gitlab数据同步
|
||||
def shixun_members_added
|
||||
unless params[:membership][:user_ids].blank?
|
||||
memberships = params[:membership][:user_ids]
|
||||
memberships.each do |member|
|
||||
ShixunMember.create(:user_id => member, :shixun_id => @shixun.id, :role => 2)
|
||||
ActiveRecord::Base.transaction do
|
||||
begin
|
||||
user = User.find(member)
|
||||
s = Trustie::Gitlab::Sync.new
|
||||
if user.gid.present?
|
||||
gid = user.gid
|
||||
else
|
||||
guser = s.sync_user(user)
|
||||
gid = guser.id
|
||||
end
|
||||
ShixunMember.create(:user_id => member, :shixun_id => @shixun.id, :role => 2)
|
||||
u = s.g.add_team_member(@shixun.gpid, gid, 40) # 3代表角色master
|
||||
if u.blank?
|
||||
raise("同步Gitlab数据错误")
|
||||
end
|
||||
@collaborators = @shixun.collaborators
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
rescue Exception => e
|
||||
logger.error(e)
|
||||
raise ActiveRecord::Rollback
|
||||
end
|
||||
end
|
||||
end
|
||||
@collaborators = @shixun.collaborators
|
||||
end
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def search
|
||||
|
|
@ -619,7 +640,7 @@ class ShixunsController < ApplicationController
|
|||
# REDO: 新增类型copy的时候
|
||||
# 复制项目
|
||||
# gshixun --> gitlab project
|
||||
CODES = %W(2 3 4 5 6 7 8 9 a b c f e f g h i j k l m n o p q r s t u v w x y z)
|
||||
# CODES = %W(2 3 4 5 6 7 8 9 a b c f e f g h i j k l m n o p q r s t u v w x y z)
|
||||
def copy_myshixun shixun, gshixun
|
||||
myshixun = Myshixun.new
|
||||
# myshixun.attributes = shixun.attributes.dup.except("id","user_id","visits","gpid","status", "identifier","propaedeutics")
|
||||
|
|
|
|||
Loading…
Reference in New Issue