From e9cfe007bbe4bcc1f160a6c0377a11bf8f94ddb9 Mon Sep 17 00:00:00 2001 From: houxiang Date: Thu, 10 Dec 2015 15:59:31 +0800 Subject: [PATCH 01/19] modify by hx --- Gemfile | 2 +- app/controllers/repositories_controller.rb | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 0125e9d60..deecb67e3 100644 --- a/Gemfile +++ b/Gemfile @@ -44,7 +44,7 @@ group :development do gem 'grape-swagger' gem 'better_errors', '~> 1.1.0' gem 'rack-mini-profiler', '~> 0.9.3' - gem 'win32console' + #gem 'win32console' end group :development, :test do diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index dd3f4ede9..db303af53 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -346,10 +346,6 @@ update # end # end - - - - @changesets = g.commits(@project.gpid) # @changesets = @repository.latest_changesets(@path, @rev) # @changesets_count = @repository.latest_changesets(@path, @rev).count @@ -406,7 +402,7 @@ update count = count_commits(@project.gpid , 25 , 50)+ 25 * 20 elsif g.commits(@project.gpid , :page=>75).count ==0 count = count_commits(@project.gpid , 50 , 75)+ 50 * 20 - elsif g.commits(@project.gpid , :page=>100).count== 0 + elsif g.commits(@project.gpid , :page=>100).count==0 count = count_commits(@project.gpid , 75 , 100) + 75 * 20 elsif g.commits(@project.gpid , :page=>125).count==0 count = count_commits(@project.gpid , 100 , 125) + 100 * 20 From 032428264107c4a17c33228d0237a34b1cc7be9f Mon Sep 17 00:00:00 2001 From: houxiang Date: Wed, 16 Dec 2015 14:30:46 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E5=90=84=E4=B8=AA=E6=88=90=E5=91=98?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=8F=90=E4=BA=A4=E8=B4=A1=E7=8C=AE=E6=AC=A1?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/gitlab/client/repositories.rb | 7 +++++ lib/tasks/project_commits_query.rake | 30 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 lib/tasks/project_commits_query.rake diff --git a/lib/gitlab-cli/lib/gitlab/client/repositories.rb b/lib/gitlab-cli/lib/gitlab/client/repositories.rb index f489e5009..e56a740db 100644 --- a/lib/gitlab-cli/lib/gitlab/client/repositories.rb +++ b/lib/gitlab-cli/lib/gitlab/client/repositories.rb @@ -85,5 +85,12 @@ class Gitlab::Client get("/projects/#{project}/repository/commits/#{sha}/diff") end alias_method :repo_commit_diff, :commit_diff + + #Get the commits count of each contributor in a project + #@param [Integer] project the ID fo a project. + # @return [Gitlab::ObjectifiedHash] + def contributors(project) + get("/projects/#{project}/repository/contributors") + end end end diff --git a/lib/tasks/project_commits_query.rake b/lib/tasks/project_commits_query.rake new file mode 100644 index 000000000..df33419f3 --- /dev/null +++ b/lib/tasks/project_commits_query.rake @@ -0,0 +1,30 @@ +#coding=utf-8 + +namespace :gitlab do + desc "sync gitlab's users which lost in last sync" + task :query => :environment do + g = Gitlab.client + projects = Project.all + users_email = User.find_by_sql("select mail from users where mail != '' ") + projects.each do|project| + gpid = project.gpid + begin + contributors_list = g.contributors(gpid) + rescue + next + end + puts "project_id #{project.id}" + contributors_list.each do|contributor| + if users_email.include?(contributor.email) + contributors_list.delete(contributor) + end + end + + contributors_list.each do|contributor| + puts "name #{contributor.name}" + puts "email #{contributor.email}" + puts "commits_count #{contributor.commits}" + end + end + end +end \ No newline at end of file From 5f2e6284cefa463859ef405ddbe88009de61361d Mon Sep 17 00:00:00 2001 From: houxiang Date: Fri, 18 Dec 2015 09:21:05 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E4=B8=A4?= =?UTF-8?q?=E4=B8=AAtemplate=E6=96=87=E4=BB=B6=EF=BC=8C=E5=A4=A7=E5=AE=B6?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E4=BB=A3=E7=A0=81=E5=90=8E=E5=B0=86template?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=8D=E5=88=B6=E5=8E=BB=E6=8E=89=E5=90=8E?= =?UTF-8?q?=E5=B0=BE=E7=9A=84template=E5=B0=B1=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/configuration.yml.template | 235 ++++++++++++++++++ config/initializers/gitlab_config.rb.template | 9 + 2 files changed, 244 insertions(+) create mode 100644 config/configuration.yml.template create mode 100644 config/initializers/gitlab_config.rb.template diff --git a/config/configuration.yml.template b/config/configuration.yml.template new file mode 100644 index 000000000..3790045aa --- /dev/null +++ b/config/configuration.yml.template @@ -0,0 +1,235 @@ +# = Redmine configuration file +# +# Each environment has it's own configuration options. If you are only +# running in production, only the production block needs to be configured. +# Environment specific configuration options override the default ones. +# +# Note that this file needs to be a valid YAML file. +# DO NOT USE TABS! Use 2 spaces instead of tabs for identation. +# +# == Outgoing email settings (email_delivery setting) +# +# === Common configurations +# +# ==== Sendmail command +# +# production: +# email_delivery: +# delivery_method: :sendmail +# +# ==== Simple SMTP server at localhost +# +# production: +# email_delivery: +# delivery_method: :smtp +# smtp_settings: +# address: smtp.163.com +# port: 25 +# +# ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com +# +# production: +# email_delivery: +# delivery_method: :smtp +# smtp_settings: +# address: smtp.gmail.com +# port: 587 +# authentication: :login +# domain: 'foo.com' +# user_name: senluowanxiangt@gmail.com +# password: 1913TXBja +# +# ==== SMTP server at example.com using PLAIN authentication +# +# production: +# email_delivery: +# delivery_method: :smtp +# smtp_settings: +# address: smtp.gmail.com +# port: 587 +# authentication: :plain +# domain: 'example.com' +# user_name: senluowanxiangt@gmail.com +# password: 1913TXBja +# +# ==== SMTP server at using TLS (GMail) +# +# This might require some additional configuration. See the guides at: +# http://www.redmine.org/projects/redmine/wiki/EmailConfiguration +# +# production: +# email_delivery: +# delivery_method: :smtp +# smtp_settings: +# enable_starttls_auto: true +# address: smtp.gmail.com +# port: 587 +# domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps +# authentication: :plain +# user_name: senluowanxiangt@gmail.com +# password: 1913TXBja +# +# +# === More configuration options +# +# See the "Configuration options" at the following website for a list of the +# full options allowed: +# +# http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionMailer + + + +default: + email_delivery: + delivery_method: :smtp + smtp_settings: + address: mail.trustie.net + port: 25 + domain: mail.trustie.net + authentication: :login + user_name: "mail@trustie.net" + password: "loong2010" + + # Absolute path to the directory where attachments are stored. + # The default is the 'files' directory in your Redmine instance. + # Your Redmine instance needs to have write permission on this + # directory. + # Examples: + # attachments_storage_path: /var/redmine/files + # attachments_storage_path: D:/redmine/files + attachments_storage_path: + + # Configuration of the autologin cookie. + # autologin_cookie_name: the name of the cookie (default: autologin) + # autologin_cookie_path: the cookie path (default: /) + # autologin_cookie_secure: true sets the cookie secure flag (default: false) + autologin_cookie_name: "autologin_trustie" + autologin_cookie_path: + autologin_cookie_secure: + + # Configuration of SCM executable command. + # + # Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe) + # On Windows + CRuby, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work. + # + # On Windows + JRuby 1.6.2, path which contains spaces does not work. + # For example, "C:\Program Files\TortoiseHg\hg.exe". + # If you want to this feature, you need to install to the path which does not contains spaces. + # For example, "C:\TortoiseHg\hg.exe". + # + # Examples: + # scm_subversion_command: svn # (default: svn) + # scm_mercurial_command: C:\Program Files\TortoiseHg\hg.exe # (default: hg) + # scm_git_command: /usr/local/bin/git # (default: git) + # scm_cvs_command: cvs # (default: cvs) + # scm_bazaar_command: bzr.exe # (default: bzr) + # scm_darcs_command: darcs-1.0.9-i386-linux # (default: darcs) + # + scm_subversion_command: + scm_mercurial_command: + scm_git_command: + scm_cvs_command: + scm_bazaar_command: + scm_darcs_command: + + # Absolute path to the SCM commands errors (stderr) log file. + # The default is to log in the 'log' directory of your Redmine instance. + # Example: + # scm_stderr_log_file: /var/log/redmine_scm_stderr.log + scm_stderr_log_file: + + # Key used to encrypt sensitive data in the database (SCM and LDAP passwords). + # If you don't want to enable data encryption, just leave it blank. + # WARNING: losing/changing this key will make encrypted data unreadable. + # + # If you want to encrypt existing passwords in your database: + # * set the cipher key here in your configuration file + # * encrypt data using 'rake db:encrypt RAILS_ENV=production' + # + # If you have encrypted data and want to change this key, you have to: + # * decrypt data using 'rake db:decrypt RAILS_ENV=production' first + # * change the cipher key here in your configuration file + # * encrypt data using 'rake db:encrypt RAILS_ENV=production' + database_cipher_key: + + # Set this to false to disable plugins' assets mirroring on startup. + # You can use `rake redmine:plugins:assets` to manually mirror assets + # to public/plugin_assets when you install/upgrade a Redmine plugin. + # + #mirror_plugins_assets_on_startup: false + + # Your secret key for verifying cookie session data integrity. If you + # change this key, all old sessions will become invalid! Make sure the + # secret is at least 30 characters and all random, no regular words or + # you'll be exposed to dictionary attacks. + # + # If you have a load-balancing Redmine cluster, you have to use the + # same secret token on each machine. + #secret_token: 'change it to a long random string' + + # Absolute path (e.g. /usr/bin/convert, c:/im/convert.exe) to + # the ImageMagick's `convert` binary. Used to generate attachment thumbnails. + imagemagick_convert_command: '/home/pdl/redmine-2.3.2-0/common/bin/convert' + + # Configuration of RMagcik font. + # + # Redmine uses RMagcik in order to export gantt png. + # You don't need this setting if you don't install RMagcik. + # + # In CJK (Chinese, Japanese and Korean), + # in order to show CJK characters correctly, + # you need to set this configuration. + # + # Because there is no standard font across platforms in CJK, + # you need to set a font installed in your server. + # + # This setting is not necessary in non CJK. + # + # Examples for Japanese: + # Windows: + # rmagick_font_path: C:\windows\fonts\msgothic.ttc + # Linux: + # rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf + # + rmagick_font_path: + + # Maximum number of simultaneous AJAX uploads + #max_concurrent_ajax_uploads: 2 + #pic_types: "bmp,jpeg,jpg,png,gif" + + repository_root_path: '/tmp/htdocs' + judge_server: 'http://judge.trustie.net/' + + # Git's url + gitlab_address: 'http://gitfast.trustie.net' + +# specific configuration options for production environment +# that overrides the default ones +production: + # CJK support + rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf + judge_server: 'http://192.168.80.21:8080/' + repository_root_path: '/home/pdl/redmine-2.3.2-0/apache2/htdocs' + cookie_domain: ".trustie.net" + email_delivery: + delivery_method: :smtp + smtp_settings: + address: mail.trustie.net + port: 25 + domain: mail.trustie.net + authentication: :login + user_name: "mail@trustie.net" + password: "loong2010" + +# specific configuration options for development environment +# that overrides the default ones +development: + email_delivery: + delivery_method: :smtp + smtp_settings: + address: mail.trustie.net + port: 25 + domain: mail.trustie.net + authentication: :login + user_name: "mail@trustie.net" + password: "loong2010" diff --git a/config/initializers/gitlab_config.rb.template b/config/initializers/gitlab_config.rb.template new file mode 100644 index 000000000..c82b2edff --- /dev/null +++ b/config/initializers/gitlab_config.rb.template @@ -0,0 +1,9 @@ +Gitlab.configure do |config| + # config.endpoint = 'http://192.168.41.130:3000/trustie/api/v3' # API endpoint URL, default: ENV['GITLAB_API_ENDPOINT'] + # config.private_token = 'cK15gUDwvt8EEkzwQ_63' # user's private token, default: ENV['GITLAB_API_PRIVATE_TOKEN'] + config.endpoint = 'http://gitfast.trustie.net/api/v3' # API endpoint URL, default: ENV['GITLAB_API_ENDPOINT'] + config.private_token = 'fPc_gBmEiSANve8TCfxW' # user's private token, default: ENV['GITLAB_API_PRIVATE_TOKEN'] + # Optional + # config.user_agent = 'Custom User Agent' # user agent, default: 'Gitlab Ruby Gem [version]' + # config.sudo = 'user' # username for sudo mode, default: nil +end From 8d0463169e08fad1f160f54b2f86b77eb2320d7a Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 18 Dec 2015 17:16:25 +0800 Subject: [PATCH 04/19] =?UTF-8?q?gemfile=E6=96=87=E4=BB=B6=E5=86=B2?= =?UTF-8?q?=E7=AA=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index 2b50f6e97..c739e1085 100644 --- a/Gemfile +++ b/Gemfile @@ -44,16 +44,12 @@ group :development do gem 'grape-swagger' gem 'better_errors', '~> 1.1.0' gem 'rack-mini-profiler', '~> 0.9.3' -<<<<<<< HEAD - #gem 'win32console' -======= if RUBY_PLATFORM =~ /w32/ gem 'win32console' end ->>>>>>> 1dae37f613838b2ada8b8f872abec71b256cb1ad end -group :development, :test do +group :development, :test do unless RUBY_PLATFORM =~ /w32/ gem 'pry-rails' if RUBY_VERSION >= '2.0.0' @@ -62,7 +58,7 @@ group :development, :test do gem 'pry-stack_explorer' if RUBY_PLATFORM =~ /darwin/ gem 'puma' - end + end end gem 'rspec-rails', '~> 3.0' @@ -76,7 +72,7 @@ group :assets do gem 'coffee-rails', '~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported runtimes - gem 'therubyracer', :platforms => :ruby + gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' end From 108448cf4d3dbb49634eec3fa177b7ec423a359d Mon Sep 17 00:00:00 2001 From: cxt Date: Fri, 18 Dec 2015 17:28:47 +0800 Subject: [PATCH 05/19] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=AE=A8=E8=AE=BA?= =?UTF-8?q?=E5=8C=BA=E7=9A=84=E5=8A=A0=E8=BD=BD=E6=9B=B4=E5=A4=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/boards_controller.rb | 1 + app/views/boards/_course_show.html.erb | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb index 3545a8a22..0c3236d4e 100644 --- a/app/controllers/boards_controller.rb +++ b/app/controllers/boards_controller.rb @@ -153,6 +153,7 @@ class BoardsController < ApplicationController end end + @page = params[:page] ? params[:page].to_i + 1 : 0 @message = Message.new(:board => @board) #modify by nwb respond_to do |format| diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index 4dcdb7749..de3b038e6 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -31,4 +31,5 @@ <%= render :partial => 'course_new', :locals => {:f => f, :topic => @message, :edit_mode => false, :course => @board.course} %> <% end %> <% end %> - <%= render :partial=> 'course_show_detail',:locals =>{:topics => @topics, :page => 0} %> + <%= render :partial=> 'course_show_detail',:locals =>{:topics => @topics, :page => 0} %> + From 4dda355d2efbec6df3f8a10c6b01794d6134814a Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 18 Dec 2015 18:28:20 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/project_score_helper.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/helpers/project_score_helper.rb b/app/helpers/project_score_helper.rb index 4049cdd76..67cb41234 100644 --- a/app/helpers/project_score_helper.rb +++ b/app/helpers/project_score_helper.rb @@ -22,10 +22,10 @@ module ProjectScoreHelper #代码提交数量 def changesets_num project - # g = Gitlab.client - # project.gpid.nil? ? 0 : g.commits_total_count(project.gpid) + g = Gitlab.client + project.gpid.nil? ? 0 : g.commits_total_count(project.gpid) # commits_total_count(project.gpid) - project.changesets.count + # project.changesets.count end #讨论区帖子数量 From 6a563d4256956301893c0c0091887354fca3c2f8 Mon Sep 17 00:00:00 2001 From: cxt Date: Fri, 18 Dec 2015 18:47:36 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=E5=8C=BF=E8=AF=84=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E5=90=8E=E4=B8=8D=E5=8F=AF=E4=BF=AE=E6=94=B9=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E7=9A=84=E6=88=AA=E6=AD=A2=E6=97=A5=E6=9C=9F=EF=BC=8C=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E5=8F=91=E5=B8=83=E5=90=8E=E4=B8=8D=E5=8F=AF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=BD=9C=E4=B8=9A=E7=9A=84=E5=8F=91=E5=B8=83=E6=97=A5?= =?UTF-8?q?=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/_user_homework_form.html.erb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/views/users/_user_homework_form.html.erb b/app/views/users/_user_homework_form.html.erb index 265118def..a060cf386 100644 --- a/app/views/users/_user_homework_form.html.erb +++ b/app/views/users/_user_homework_form.html.erb @@ -26,14 +26,18 @@ <% end %>
- <%= calendar_for('homework_end_time')%> + <% if homework.homework_detail_manual.comment_status.to_i < 3 %> + <%= calendar_for('homework_end_time')%> + <% end %>
<% if edit_mode %> <% end %>
- <%= calendar_for('homework_publish_time')%> + <% if homework.homework_detail_manual.comment_status.to_i == 0 %> + <%= calendar_for('homework_publish_time')%> + <% end %>
From e673540323983e5211dd7e7638978bb50be20287 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 18 Dec 2015 18:51:29 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/project_score_helper.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/helpers/project_score_helper.rb b/app/helpers/project_score_helper.rb index 67cb41234..97375586c 100644 --- a/app/helpers/project_score_helper.rb +++ b/app/helpers/project_score_helper.rb @@ -22,10 +22,10 @@ module ProjectScoreHelper #代码提交数量 def changesets_num project - g = Gitlab.client - project.gpid.nil? ? 0 : g.commits_total_count(project.gpid) - # commits_total_count(project.gpid) - # project.changesets.count + # g = Gitlab.client + # project.gpid.nil? ? 0 : g.commits_total_count(project.gpid) + # # commits_total_count(project.gpid) + project.changesets.count end #讨论区帖子数量 From 08cd3808ad2226412b1bbcd7bc8084313d8c479e Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Fri, 18 Dec 2015 19:47:06 +0800 Subject: [PATCH 09/19] =?UTF-8?q?ke=E5=BC=95=E7=94=A8=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/user_newfeedback.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/users/user_newfeedback.html.erb b/app/views/users/user_newfeedback.html.erb index 30ba54b28..f53983228 100644 --- a/app/views/users/user_newfeedback.html.erb +++ b/app/views/users/user_newfeedback.html.erb @@ -1,6 +1,6 @@ <%= content_for(:header_tags) do %> - <%= import_ke(enable_at: false, prettify: false, init_activity: true) %> - <%= javascript_include_tag "user" %> + <%= import_ke(enable_at: false, prettify: false, init_activity: false) %> + <%= javascript_include_tag "init_KindEditor","user" %> <% end %>