<%= f.text_field :name, :required => true %>
@@ -39,14 +39,27 @@ <%= submit_tag l(@tracker.new_record? ? :button_create : :button_save) %>diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index c42944947..38ae662fc 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -502,45 +502,7 @@ class CoursesController < ApplicationController end - def get_course_activity courses, activities - @course_ids=activities.keys() - days = Setting.activity_days_default.to_i - date_to ||= Date.today + 1 - date_from = date_to - days-1.years - - #file_count - Attachment.where(container_id: @course_ids, container_type: Course).where("created_on>?", date_from).each do |attachment| - activities[attachment.container_id]+=1 - end - - #message_count - Board.where(course_id: @course_ids).each do |board| -# activities[board.course_id]+=1 - activities[board.course_id]+=board.messages.where("updated_on>?", date_from).count - end - - #news - News.where(course_id: @course_ids).where("created_on>?",date_from).each do |news| - activities[news.course_id]+=1 - end - - #feedbackc_count - JournalsForMessage.where(jour_id: @course_ids, jour_type: Course).each do |jourformess| - activities[jourformess.jour_id]+=1 - end - - #activities!=0 - i=0; - courses.each do |course| - id=course.id - if activities[id]==0 - activities[id]=1 - end - end - - return activities - end def toggleCourse @course_prefs = Course.find_by_extra(@course.extra) diff --git a/app/controllers/trackers_controller.rb b/app/controllers/trackers_controller.rb index de686493b..a317f82de 100644 --- a/app/controllers/trackers_controller.rb +++ b/app/controllers/trackers_controller.rb @@ -21,7 +21,7 @@ class TrackersController < ApplicationController before_filter :require_admin, :except => :index before_filter :require_admin_or_api_request, :only => :index accept_api_auth :index - + include CoursesHelper def index respond_to do |format| format.html { @@ -37,8 +37,13 @@ class TrackersController < ApplicationController def new @tracker ||= Tracker.new(params[:tracker]) @trackers = Tracker.sorted.all - @projects = Project.all + @projects = Project.where("project_type = #{Project::ProjectType_project}").all @courses = Course.all + @course_activity_count=Hash.new + @courses.each do |course| + @course_activity_count[course.id]=0 + end + @course_activity_count=get_course_activity @courses,@course_activity_count end def create @@ -58,7 +63,8 @@ class TrackersController < ApplicationController def edit @tracker ||= Tracker.find(params[:id]) - @projects = Project.all + @projects = Project.where("project_type = #{Project::ProjectType_project}").all + @courses = Course.all end def update diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index d075f67ae..a005b299b 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -480,4 +480,45 @@ module CoursesHelper type end + #获取课程动态 + def get_course_activity courses, activities + @course_ids=activities.keys() + + days = Setting.activity_days_default.to_i + date_to ||= Date.today + 1 + date_from = date_to - days-1.years + + #file_count + Attachment.where(container_id: @course_ids, container_type: Course).where("created_on>?", date_from).each do |attachment| + activities[attachment.container_id]+=1 + end + + #message_count + Board.where(course_id: @course_ids).each do |board| +# activities[board.course_id]+=1 + activities[board.course_id]+=board.messages.where("updated_on>?", date_from).count + end + + #news + News.where(course_id: @course_ids).where("created_on>?",date_from).each do |news| + activities[news.course_id]+=1 + end + + #feedbackc_count + JournalsForMessage.where(jour_id: @course_ids, jour_type: Course).each do |jourformess| + activities[jourformess.jour_id]+=1 + end + + #activities!=0 + i=0; + courses.each do |course| + id=course.id + if activities[id]==0 + activities[id]=1 + end + end + + return activities + end + end diff --git a/app/helpers/project_score_helper.rb b/app/helpers/project_score_helper.rb index bdb070cc2..104cd16cb 100644 --- a/app/helpers/project_score_helper.rb +++ b/app/helpers/project_score_helper.rb @@ -71,11 +71,24 @@ module ProjectScoreHelper pss = ProjectScore.where("project_id = '#{project.id}'") if pss.nil? || pss.count == 0 ps = ProjectScore.new + ps.issue_num = issue_num(project) + ps.board_message_num = board_message_num(project) + ps.changeset_num = changesets_num(project) + ps.documents_num = documents_num(project) + ps.issue_journal_num = issue_journal_num(project) + ps.news_num = news_num(project) + ps.score = result ps.project = project ps.save else ps = pss.first + ps.issue_num = issue_num(project) + ps.board_message_num = board_message_num(project) + ps.changeset_num = changesets_num(project) + ps.documents_num = documents_num(project) + ps.issue_journal_num = issue_journal_num(project) + ps.news_num = news_num(project) ps.score = result ps.save end @@ -95,4 +108,15 @@ module ProjectScoreHelper end end + def get_project_score project + pss = ProjectScore.where("project_id = '#{project.id}'") + ps = nil + if pss.nil? || pss.count == 0 + ps = nil + else + ps = pss.first + end + ps + end + end \ No newline at end of file diff --git a/app/models/tracker.rb b/app/models/tracker.rb index d487de67e..6a0069975 100644 --- a/app/models/tracker.rb +++ b/app/models/tracker.rb @@ -32,6 +32,7 @@ class Tracker < ActiveRecord::Base end has_and_belongs_to_many :projects + has_and_belongs_to_many :courses has_and_belongs_to_many :custom_fields, :class_name => 'IssueCustomField', :join_table => "#{table_name_prefix}custom_fields_trackers#{table_name_suffix}", :association_foreign_key => 'custom_field_id' acts_as_list diff --git a/app/views/projects/_project.html.erb b/app/views/projects/_project.html.erb index 92e20f9e4..004fb38ac 100644 --- a/app/views/projects/_project.html.erb +++ b/app/views/projects/_project.html.erb @@ -46,7 +46,7 @@
<%= f.text_field :name, :required => true %>
@@ -39,14 +39,27 @@ <%= submit_tag l(@tracker.new_record? ? :button_create : :button_save) %>