From fb7144143655befa0f55af3f2ffe03ce46bb0a8f Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Fri, 26 Apr 2013 23:09:47 -0500 Subject: [PATCH] Start using Todos::Calendar in the calendar action Replaces the existing query logic in a lot of places --- app/controllers/todos_controller.rb | 34 +++++++---------------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/app/controllers/todos_controller.rb b/app/controllers/todos_controller.rb index 90384c02..4af89453 100644 --- a/app/controllers/todos_controller.rb +++ b/app/controllers/todos_controller.rb @@ -784,35 +784,17 @@ class TodosController < ApplicationController @source_view = params['_source_view'] || 'calendar' @page_title = t('todos.calendar_page_title') - @projects = current_user.projects + calendar = Todos::Calendar.new(current_user) + @projects = calendar.projects - due_today_date = Time.zone.now - due_this_week_date = due_today_date.end_of_week - due_next_week_date = due_this_week_date + 7.days - due_this_month_date = due_today_date.end_of_month + due_this_month_date = Time.zone.now.end_of_month included_tables = Todo::DEFAULT_INCLUDES - @due_today = current_user.todos.not_completed. - where('todos.due <= ?', due_today_date). - includes(included_tables). - reorder("due") - @due_this_week = current_user.todos.not_completed. - where('todos.due > ? AND todos.due <= ?', due_today_date, due_this_week_date). - includes(included_tables). - reorder("due") - @due_next_week = current_user.todos.not_completed. - where('todos.due > ? AND todos.due <= ?', due_this_week_date, due_next_week_date). - includes(included_tables). - reorder("due") - @due_this_month = current_user.todos.not_completed. - where('todos.due > ? AND todos.due <= ?', due_next_week_date, due_this_month_date). - includes(included_tables). - reorder("due") - @due_after_this_month = current_user.todos.not_completed. - where('todos.due > ?', due_this_month_date). - includes(included_tables). - reorder("due") - + @due_today = calendar.due_today + @due_this_week = calendar.due_this_week + @due_next_week = calendar.due_next_week + @due_this_month = calendar.due_this_month + @due_after_this_month = calendar.due_after_this_month @count = current_user.todos.not_completed.are_due.count respond_to do |format|