From f2c1595d0d58b9f601b12f3db9ae227ea9dae2e2 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 9 Dec 2015 16:57:12 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=90=8C=E6=AD=A5=E6=B2=A1=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E6=A3=80=E6=B5=8B=E7=A8=8B=E5=BA=8F=202=E3=80=81?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E9=AA=8C=E8=AF=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/user.rb | 2 +- lib/tasks/sync_check_members.rake | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 lib/tasks/sync_check_members.rake diff --git a/app/models/user.rb b/app/models/user.rb index 9c437a186..b9d9de029 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -226,7 +226,7 @@ class User < Principal validates_uniqueness_of :login, :if => Proc.new { |user| user.login_changed? && user.login.present? }, :case_sensitive => false validates_uniqueness_of :mail, :if => Proc.new { |user| user.mail_changed? && user.mail.present? }, :case_sensitive => false # Login must contain letters, numbers, underscores only - validates_format_of :login, :with => /\A[a-z0-9_\-@\.]*\z/i + validates_format_of :login, :with => /\A[a-z0-9_\-\.]*\z/i validates_length_of :login, :maximum => LOGIN_LENGTH_LIMIT validates_length_of :firstname, :maximum => 30 validates_length_of :lastname, :maximum => 30 diff --git a/lib/tasks/sync_check_members.rake b/lib/tasks/sync_check_members.rake new file mode 100644 index 000000000..8c942c88c --- /dev/null +++ b/lib/tasks/sync_check_members.rake @@ -0,0 +1,25 @@ +require 'trustie/gitlab/sync' + +namespace :gitlab do + namespace :check_members do + desc "check up projects' members " + task :projects => :environment do + s = Trustie::Gitlab::Sync.new + g = Gitlab.client + Project.all.each do |project| + unless project.gpid.nil? + begin + gmembers = g.team_members(project.gpid) + if gmembers.count != project.members.count + puts "gitlab' projects count #{gmembers.count}" + puts "project ID is #{project.id}" + s.only_members(project) + end + rescue + p "This project is wrong #{project.id}" + end + end + end + end + end +end