diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 730546aa..75df3bc1 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -200,113 +200,13 @@ class ProjectsController < ApplicationController @projects_all.each do |project| @project_activity_count[project.id]=0 end - @project_ids=@project_activity_count.keys() - - days = Setting.activity_days_default.to_i - date_to ||= Date.today + 1 - date_from = date_to - days-1.years -#approach 1 -=begin - - @projects_all.each do |project| - #issue_count - issues=Issue.where("project_id=?",project.id) - issue_count=0 - issues.each do |issue| - issue_count+=issue.journals.count - end - - #repository_count - repositories=Repository.where("project_id=?",project.id) - repository_count=0 - repositories.each do |repository| - repository_count+=repository.changesets.count - end - - #news_count - news_count=News.where("project_id=?",project.id).count - #document_count - document_count=Document.where("project_id=?",project.id).count - #file_count - file_count=Attachment.where("container_type='Project' AND container_id=?",project.id).count - - #message_count - boards=Board.where("project_id=?",project.id) - message_count=0 - boards.each do |board| - message_count+=board.messages.count - end - - #time_entry_count - time_entry_count=TimeEntry.where("project_id=?",project.id).count - - #sum - @project_activity_count[project.id.to_s]=issue_count+repository_count+news_count+document_count+file_count+message_count+time_entry_count - - end -=end -#gcm - -#gcm approach 2 - - #issue_count - Issue.where(project_id: @project_ids).where("updated_on>?",date_from).each do |issue| -# @project_activity_count[issue.project_id.to_s]+=1 - @project_activity_count[issue.project_id]+=issue.journals.where("created_on>?",date_from).count - end - - #repository_count - Repository.where(project_id: @project_ids).each do |repository| -# @project_activity_count[repository.project_id.to_s]+=1 - @project_activity_count[repository.project_id]+=repository.changesets.where("committed_on>?",date_from).count - end + @project_activity_count=get_project_activity @projects_all,@project_activity_count - #news_count - News.where(project_id: @project_ids).where("created_on>?",date_from).each do |news| - @project_activity_count[news.project_id]+=1 - end + #movebegin - #document_count - Document.where(project_id: @project_ids).where("created_on>?",date_from).each do |document| - @project_activity_count[document.project_id]+=1 - end - - #file_count - Attachment.where(container_id: @project_ids).where("container_type='Project' AND created_on>?",date_from).each do |attachment| - @project_activity_count[attachment.container_id]+=1 - end - - #message_count - Board.where(project_id: @project_ids).each do |board| -# @project_activity_count[board.project_id]+=1 - @project_activity_count[board.project_id]+=board.messages.where("updated_on>?",date_from).count - end - - #time_entry_count - TimeEntry.where(project_id: @project_ids).where("updated_on>?",date_from).each do |timeentry| - @project_activity_count[timeentry.project_id]+=1 - end - - #feedbackc_count - JournalsForMessage.where(jour_id: @project_ids).each do |jourformess| - @project_activity_count[jourformess.jour_id]+=1 - end - - #@project_activity_count!=0 - @project_all_array=[] - i=0; - @projects_all.each do |project| - id=project.id - @project_all_array[i]=project - if @project_activity_count[id]==0 - @project_activity_count[id]=1 - end - i=i+1 - end - - @project_activity_count_array=@project_activity_count.values() + #moveend #gcm end @@ -327,7 +227,8 @@ class ProjectsController < ApplicationController #gcm when '3' - @projects=desc_sort_course_by_avtivity(@project_ids,@project_activity_count_array,@project_all_array) + #@projects=desc_sort_course_by_avtivity(@project_activity_count_array,@project_all_array) + @projects=handle_project @projects_all,@project_activity_count @s_type = 3 @projects = @projects[@project_pages.offset, @project_pages.per_page] #gcmend @@ -1018,7 +919,94 @@ class ProjectsController < ApplicationController end end - def desc_sort_course_by_avtivity(ids,activity_count,projects) + + + #gcm + def get_project_activity projects,activities + @project_ids=activities.keys() + + days = Setting.activity_days_default.to_i + date_to ||= Date.today + 1 + date_from = date_to - days-1.years + + #issue_count + Issue.where(project_id: @project_ids).where("updated_on>?",date_from).each do |issue| +# activities[issue.project_id.to_s]+=1 + activities[issue.project_id]+=issue.journals.where("created_on>?",date_from).count + end + + #repository_count + Repository.where(project_id: @project_ids).each do |repository| +# activities[repository.project_id.to_s]+=1 + activities[repository.project_id]+=repository.changesets.where("committed_on>?",date_from).count + end + + + #news_count + News.where(project_id: @project_ids).where("created_on>?",date_from).each do |news| + activities[news.project_id]+=1 + end + + #document_count + Document.where(project_id: @project_ids).where("created_on>?",date_from).each do |document| + activities[document.project_id]+=1 + end + + #file_count + Attachment.where(container_id: @project_ids).where("container_type='Project' AND created_on>?",date_from).each do |attachment| + activities[attachment.container_id]+=1 + end + + #message_count + Board.where(project_id: @project_ids).each do |board| +# activities[board.project_id]+=1 + activities[board.project_id]+=board.messages.where("updated_on>?",date_from).count + end + + #time_entry_count + TimeEntry.where(project_id: @project_ids).where("updated_on>?",date_from).each do |timeentry| + activities[timeentry.project_id]+=1 + end + + #feedbackc_count + JournalsForMessage.where(jour_id: @project_ids).each do |jourformess| + activities[jourformess.jour_id]+=1 + end + + #activities!=0 + i=0; + projects.each do |project| + id=project.id + if activities[id]==0 + activities[id]=1 + end + end + + return activities + end + #gcmend + + #gcm + def handle_project projects,activities + @project_activity_count_array=activities.values() + + project_all_array=[] + i=0; + projects.each do |project| + id=project.id + @project_all_array[i]=project + i=i+1 + end + + projects=desc_sort_course_by_avtivity(@project_activity_count_array,project_all_array) + + return projects + end + #gcmend + + + #gcm + def desc_sort_course_by_avtivity(activity_count,projects) return projects if activity_count.size<2 (activity_count.size-2).downto(0) do |i| (0..i).each do |j| @@ -1045,4 +1033,6 @@ class ProjectsController < ApplicationController # end #desc_sort_course_by_avtivity(@project_ids,@project_activity_count_array,@projects_all) end + #gcmend + end diff --git a/app/views/projects/_course.html.erb b/app/views/projects/_course.html.erb index 33d22214..d65df053 100644 --- a/app/views/projects/_course.html.erb +++ b/app/views/projects/_course.html.erb @@ -52,7 +52,7 @@
- <%= content_tag('span', link_to("#{@project_activity_count[@project.id]}", member_project_path(@project)), :class => "info") %> + <%= content_tag('span', link_to("#{@project_activity_count[@project.id]}", project_path(@project)), :class => "info") %> <%= content_tag('span', l(:label_x_activity, :count => @project_activity_count[@project.id])) %>