From 74ba4384b1d40ac5faf4125fd99404e481b2dd8f Mon Sep 17 00:00:00 2001 From: z9hang Date: Mon, 25 Aug 2014 14:47:27 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8E=BB=E9=99=A4=E4=B8=8D=E7=94=A8?= =?UTF-8?q?=E4=BA=86=E7=9A=84=E6=97=A7=E7=9A=84=E7=A7=AF=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E3=80=822=E3=80=81=E5=B0=86=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=AC=A1=E6=95=B0=E5=8A=9F=E8=83=BD=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=88=E5=8E=9F=E6=9D=A5=E6=98=AF=E5=9C=A8=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=A1=B9=E7=9B=AE=E6=88=96=E4=B8=AA=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=9A=84=E9=A1=B5=E9=9D=A2=E4=B9=8B=E5=89=8D=E8=B0=83?= =?UTF-8?q?=E7=94=A8repository.fetch=5Fchangesets=E5=88=B7=E6=96=B0changes?= =?UTF-8?q?et=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=BA=E5=88=9B=E5=BB=BAchanges?= =?UTF-8?q?et=E5=AF=B9=E8=B1=A1=E5=90=8E=E9=A9=AC=E4=B8=8A=E8=B0=83?= =?UTF-8?q?=E7=94=A8repository.fetch=5Fchangesets=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=88=B7=E6=96=B0changeset=E5=AF=B9=E8=B1=A1=EF=BC=8C=E6=B3=A8?= =?UTF-8?q?=E6=84=8F=EF=BC=9A=E5=B0=9A=E9=9C=80=E6=B5=8B=E8=AF=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 2 +- app/controllers/users_controller.rb | 12 ++++++++++++ app/models/changeset.rb | 13 ++++++++++--- app/views/users/_user_show.html.erb | 26 -------------------------- 4 files changed, 23 insertions(+), 30 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index ee42c2c6a..5093285c6 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -42,7 +42,7 @@ class ProjectsController < ApplicationController before_filter :authorize_global, :only => [:new, :create,:view_homework_attaches] before_filter :require_admin, :only => [ :copy, :archive, :unarchive, :destroy, :calendar] before_filter :file, :statistics, :watcherlist - before_filter :find_project_repository, :only => [:show] + #before_filter :find_project_repository, :only => [:show] # 除非项目内人员,不可查看成员, TODO: 完了写报表里去 before_filter :memberAccess, only: :member diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 98b24bc12..d15036fa0 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -46,6 +46,7 @@ class UsersController < ApplicationController #william before_filter :require_login, :only => [:tag_save,:tag_saveEx] + #before_filter :refresh_changests, :only =>[:user_activities,:user_courses,:user_projects,:user_newfeedback] helper :sort @@ -68,6 +69,17 @@ class UsersController < ApplicationController # fq helper :words + + def refresh_changests + if !(@user.nil?) && !(@user.memberships.nil?) + @user.memberships.each do |member| + unless member.project.nil? + member.project.repository.fetch_changesets if Setting.autofetch_changesets? + end + end + end + end + #added by young def user_projects diff --git a/app/models/changeset.rb b/app/models/changeset.rb index 123de1bf3..b9ce4acf5 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -63,7 +63,7 @@ class Changeset < ActiveRecord::Base includes(:repository => :project).where(Project.allowed_to_condition(args.shift || User.current, :view_changesets, *args)) } - after_create :scan_for_issues,:be_user_score # user_score + after_create :scan_for_issues,:refresh_changests#:be_user_score # user_score after_update :be_user_score after_destroy :down_user_score before_create :before_create_cs @@ -305,9 +305,9 @@ class Changeset < ActiveRecord::Base # update user score def be_user_score UserScore.project(:push_code, self.user,self, { changeset_id: self.id }) - #更新用户等级 - UserLevels.update_user_level(self.user) unless self.user.nil? + #更新用户等级 + UserLevels.update_user_level(self.user) update_changeset(self.user,1) update_changeset(self.user,2,self.repository.project) end @@ -321,4 +321,11 @@ class Changeset < ActiveRecord::Base update_changeset(self.user,2,self.repository.project) end + #刷新本次提交(补全相关信息如:user_id等) + def refresh_changests + unless self.repository.nil? + self.repository.fetch_changesets if Setting.autofetch_changesets? + end + end + end diff --git a/app/views/users/_user_show.html.erb b/app/views/users/_user_show.html.erb index 3afdb8d96..d0c9e204b 100644 --- a/app/views/users/_user_show.html.erb +++ b/app/views/users/_user_show.html.erb @@ -1,32 +1,6 @@
<% for user in @users -%> - - <% messages_count = user.messages.count %> - <% messages_score = messages_count * 0.05%> - <% finall_messages_score = messages_score %> - - <% journals_count = user.journals.count %> - <% journals_score = journals_count * 0.1 %> - <% user_changesets_count = user.changesets.count %> - <% user_changesets_score = user_changesets_count * 0.3 %> - <% finall_user_project_score = journals_score + user_changesets_score %> - - <% journals_for_messages_count = user.journals_messages.count %> - <% activities_count = user.activities.count %> - <% journals_for_messages_score = journals_for_messages_count * 0.05 %> - <% activities_score = activities_count * 0.2 %> - <% finall_activity_score = journals_for_messages_score + activities_score %> - - <% news_count = user.news.count %> - <% news_score = news_count * 0.1 %> - <% wiki_contents_count = user.wiki_contents.count %> - <% wiki_contents_score = wiki_contents_count * 0.1 %> - <% comments_count = user.comments.count %> - <% comments_score = comments_count * 0.1 %> - <% finall_influence_score = news_score + wiki_contents_score + comments_score %> - <% finall_user_score = finall_messages_score + finall_user_project_score + finall_activity_score + finall_influence_score %> -
<%= content_tag "p", "#{format_date(user.created_on)} #{l(:label_member_since)}", :class => "float_right member_since" %>