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" %>