diff --git a/tracks/app/controllers/application.rb b/tracks/app/controllers/application.rb index a7f494bf..cedfbe1d 100644 --- a/tracks/app/controllers/application.rb +++ b/tracks/app/controllers/application.rb @@ -82,13 +82,12 @@ class ApplicationController < ActionController::Base init_not_done_counts end - def init_not_done_counts - @project_not_done_counts = Todo.count(:todo, - :conditions => ['todos.user_id = ? and todos.type = ? and todos.done = ?', @user.id, "Immediate", false], - :group => :project_id) - @context_not_done_counts = Todo.count(:todo, - :conditions => ['todos.user_id = ? and todos.type = ? and todos.done = ?', @user.id, "Immediate", false], - :group => :context_id) + def init_not_done_counts(parents = ['project','context']) + parents.each {|parent| + eval("@#{parent}_not_done_counts = Todo.count(:todo, + :conditions => ['todos.user_id = ? and todos.type = ? and todos.done = ?', @user.id, \"Immediate\", false], + :group => :#{parent}_id)") + } end end diff --git a/tracks/app/controllers/feed_controller.rb b/tracks/app/controllers/feed_controller.rb index 93a8d5b2..2c965c68 100644 --- a/tracks/app/controllers/feed_controller.rb +++ b/tracks/app/controllers/feed_controller.rb @@ -55,12 +55,14 @@ class FeedController < ApplicationController end def list_projects_only + init_not_done_counts('project') @projects = @user.projects @description = "Lists all the projects for #{@user.login}." render :action => 'projects_' + params['feedtype'] end def list_contexts_only + init_not_done_counts('context') @contexts = @user.contexts @description = "Lists all the contexts for #{@user.login}." render :action => 'contexts_' + params['feedtype']