Merge branch 'sort_projects_by_todos' of git://github.com/waltercruz/tracks

This commit is contained in:
Reinier Balt 2008-10-28 20:59:07 +01:00
commit 76d72b54bf
7 changed files with 59 additions and 3 deletions

View file

@ -51,6 +51,21 @@ class User < ActiveRecord::Base
self.update_positions(projects.map{ |p| p.id })
return projects
end
def actionize(user_id, scope_conditions = {})
@state = scope_conditions[:state]
query_state = ''
query_state = 'AND project.state = "' + @state +'" 'if @state
projects = Project.find_by_sql([
"SELECT project.id, count(todo.id) as p_count " +
"FROM projects as project " +
"LEFT OUTER JOIN todos as todo ON todo.project_id = project.id "+
"WHERE project.user_id = ? AND NOT todo.state='completed' " +
query_state +
" GROUP BY project.id ORDER by p_count DESC",user_id])
self.update_positions(projects.map{ |p| p.id })
projects = find(:all, :conditions => scope_conditions)
return projects
end
end
has_many :active_projects,
:class_name => 'Project',