Merge branch 'szzh' of http://repository.trustie.net/xianbo/trustie2 into szzh
This commit is contained in:
commit
a2e2c5de3c
|
@ -125,20 +125,8 @@ update
|
|||
@repository.type = 'Repository::Gitlab'
|
||||
@repository.url = @repository.identifier
|
||||
if request.post? && @repository.save
|
||||
g = ::Gitlab.client
|
||||
gid = @project.owner.gid
|
||||
gproject = g.create_project(@repository.identifier,
|
||||
path: @repository.identifier,
|
||||
description: @project.description,
|
||||
wiki_enabled: false,
|
||||
wall_enabled: false,
|
||||
issues_enabled: false,
|
||||
snippets_enabled: false,
|
||||
public: false,
|
||||
user_id: gid
|
||||
)
|
||||
@project.gpid = gproject.id
|
||||
@project.save!
|
||||
s = Trustie::Gitlab::Sync.new
|
||||
s.create_project(@project, @repository)
|
||||
redirect_to settings_project_url(@project, :tab => 'repositories')
|
||||
else
|
||||
redirect_to settings_project_url(@project, :tab => 'repositories',:repository_error_message=>@repository.errors.full_messages)
|
||||
|
|
|
@ -209,7 +209,7 @@ class User < Principal
|
|||
validates_inclusion_of :mail_notification, :in => MAIL_NOTIFICATION_OPTIONS.collect(&:first), :allow_blank => true
|
||||
validate :validate_password_length
|
||||
# validates_email_realness_of :mail
|
||||
before_create :set_mail_notification, :sync_gitlab_user
|
||||
before_create :set_mail_notification
|
||||
before_save :update_hashed_password
|
||||
before_destroy :remove_references_before_destroy
|
||||
# added by fq
|
||||
|
@ -218,6 +218,8 @@ class User < Principal
|
|||
# 更新邮箱用户或用户名的同事,同步更新邀请信息
|
||||
after_update :update_invite_list
|
||||
|
||||
include Trustie::Gitlab::ManageUser
|
||||
|
||||
scope :in_group, lambda {|group|
|
||||
group_id = group.is_a?(Group) ? group.id : group.to_i
|
||||
where("#{User.table_name}.id IN (SELECT gu.user_id FROM #{table_name_prefix}groups_users#{table_name_suffix} gu WHERE gu.group_id = ?)", group_id)
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
'取消大纲',
|
||||
{:controller => 'blog_comments',:action => 'destroy',:user_id=>BlogComment.find(@course.outline).author_id,:blog_id=>BlogComment.find(@course.outline).blog_id, :id => @course.outline,:course_id=>@course.id},
|
||||
:method => :delete,
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:data => {:confirm => '确定取消么'},
|
||||
:class => 'postOptionLink'
|
||||
) if User.current && User.current.id == @article.author.id %>
|
||||
</li>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<!--<a target="hiddentab" href="http://wpa.qq.com/msgrd?v=1&uin=1554253403&site=qq&menu=yes" style="color: #269ac9;">-->
|
||||
<%#= l(:label_technical_support) %>
|
||||
<!--白 羽</a>-->
|
||||
<a target="hiddentab" href="http://shang.qq.com/wpa/qunwpa?idkey=4fe2d63a4527cddce038f04f0b1d728a62082074fb4a74870a5444ee1a6910ad" style="color: #269ac9;">
|
||||
<a target="_blank" href="http://shang.qq.com/wpa/qunwpa?idkey=4fe2d63a4527cddce038f04f0b1d728a62082074fb4a74870a5444ee1a6910ad" style="color: #269ac9;">
|
||||
请加入:师姐答疑群</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
</div>
|
||||
<div class="fl ml10">
|
||||
<p class="homepageImageName hidden db mb5">
|
||||
<%= @user.realname %>
|
||||
<%= @user.realname.blank? ? @user.login : @user.realname %>
|
||||
</p>
|
||||
<% if (@user.user_extensions && (@user.user_extensions.identity != 2) ) %>
|
||||
<span class="<%= @user.user_extensions.gender == 1 ? 'homepageImageSexWomen' : 'homepageImageSexMan' %> "></span>
|
||||
|
|
|
@ -60,6 +60,11 @@ class Gitlab::Client
|
|||
put("/users/#{user_id}", :body => options)
|
||||
end
|
||||
|
||||
|
||||
def delete_user(user_id)
|
||||
delete("/users/#{user_id}")
|
||||
end
|
||||
|
||||
# Creates a new user session.
|
||||
#
|
||||
# @example
|
||||
|
|
|
@ -4,15 +4,26 @@ module Trustie
|
|||
module Gitlab
|
||||
module Helper
|
||||
def change_password(uid, en_pwd, salt)
|
||||
return unless uid
|
||||
options = {:encrypted_password=>en_pwd, :password_salt=>salt}
|
||||
self.g.put("/users/ext/#{uid}", :body => options)
|
||||
# g.edit_user(uid, :encrypted_password=>en_pwd, :password_salt=>salt)
|
||||
end
|
||||
|
||||
def find_user(user)
|
||||
us = self.g.get("/users?search=#{user.mail}")
|
||||
if Array === us
|
||||
us.each do |u|
|
||||
return u if u.email == user.mail
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
def add_user(user)
|
||||
u = nil
|
||||
begin
|
||||
u = self.g.get("/users?search=#{user.mail}").first
|
||||
u = find_user(user)
|
||||
unless u
|
||||
u = self.g.create_user(user.mail,
|
||||
user.hashed_password,
|
||||
|
@ -29,7 +40,8 @@ module Trustie
|
|||
end
|
||||
|
||||
def del_user(user)
|
||||
## gitlab unimplement
|
||||
return unless user.gid
|
||||
self.g.delete_user(user.gid)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -9,8 +9,8 @@ module Trustie
|
|||
|
||||
def self.included(base)
|
||||
base.class_eval {
|
||||
before_create :add_gitlab_user
|
||||
before_destroy :delete_gitlab_user
|
||||
#before_create :add_gitlab_user
|
||||
#before_destroy :delete_gitlab_user
|
||||
before_save :change_gitlab_user
|
||||
}
|
||||
end
|
||||
|
@ -27,7 +27,6 @@ module Trustie
|
|||
change_password(self.gid, self.hashed_password, self.salt)
|
||||
end
|
||||
|
||||
private
|
||||
def g
|
||||
@g ||= ::Gitlab.client
|
||||
end
|
||||
|
|
|
@ -26,10 +26,37 @@ module Trustie
|
|||
user.mail_notification = "day"
|
||||
end
|
||||
user.save!
|
||||
u
|
||||
end
|
||||
|
||||
|
||||
def create_project(project, repository)
|
||||
gid = project.owner.gid
|
||||
unless gid
|
||||
gid = sync_user(project.owner).id
|
||||
end
|
||||
raise "unknow gid" unless gid
|
||||
|
||||
gproject = g.create_project(repository.identifier,
|
||||
path: repository.identifier,
|
||||
description: project.description,
|
||||
wiki_enabled: false,
|
||||
wall_enabled: false,
|
||||
issues_enabled: false,
|
||||
snippets_enabled: false,
|
||||
public: false,
|
||||
user_id: gid
|
||||
)
|
||||
project.gpid = gproject.id
|
||||
project.save!
|
||||
end
|
||||
|
||||
def sync_project(project, opt={})
|
||||
gid = project.owner.gid
|
||||
unless gid
|
||||
gid = sync_user(project.owner).id
|
||||
end
|
||||
|
||||
raise "unknow gid" unless gid
|
||||
path = opt[:path]
|
||||
raise "unknow path" unless path
|
||||
|
@ -61,7 +88,11 @@ module Trustie
|
|||
|
||||
project.members.each do |m|
|
||||
begin
|
||||
self.g.add_team_member(gproject.id, m.user.gid, UserLevel::DEVELOPER)
|
||||
gid = m.user.gid
|
||||
unless gid
|
||||
gid = sync_user(m.user).id
|
||||
end
|
||||
self.g.add_team_member(gproject.id, gid, UserLevel::DEVELOPER)
|
||||
rescue => e
|
||||
puts e
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue