diff --git a/app/models/task.rb b/app/models/task.rb index 90b3d686..fb8eb811 100644 --- a/app/models/task.rb +++ b/app/models/task.rb @@ -5,7 +5,6 @@ class Task < ActiveRecord::Base scope :non_group, :conditions => { :workgroup_id => nil, :done => false } scope :done, :conditions => {:done => true}, :order => "due_date DESC" - scope :upcoming, lambda { |*args| {:conditions => ["done = 0 AND due_date = ?", (args.first || 7.days.from_now)]} } # form will send user in string. responsibilities will added later attr_protected :users diff --git a/lib/tasks/foodsoft.rake b/lib/tasks/foodsoft.rake index af46936c..ebfecbc1 100644 --- a/lib/tasks/foodsoft.rake +++ b/lib/tasks/foodsoft.rake @@ -4,17 +4,14 @@ namespace :foodsoft do desc "Notify users of upcoming tasks" task :notify_upcoming_tasks => :environment do - tasks = Task.find :all, :conditions => ["done = ? AND due_date = ?", false, 1.day.from_now.to_date] + tasks = Task.where(done: false, due_date: 1.day.from_now.to_date) for task in tasks puts "Send notifications for #{task.name} to .." for user in task.users - if user.settings['notify.upcoming_tasks'] == 1 - begin - puts "#{user.email}.." - Mailer.upcoming_tasks(user, task).deliver - rescue - puts "deliver aborted for #{user.email}.." - end + begin + Mailer.upcoming_tasks(user, task).deliver if user.settings['notify.upcoming_tasks'] == 1 + rescue + puts "deliver aborted for #{user.email}.." end end end @@ -22,7 +19,7 @@ namespace :foodsoft do desc "Create upcoming workgroups tasks (next 3 to 7 weeks)" task :create_upcoming_weekly_tasks => :environment do - workgroups = Workgroup.all :conditions => {:weekly_task => true} + workgroups = Workgroup.where(weekly_task: true) for workgroup in workgroups puts "Create weekly tasks for #{workgroup.name}" workgroup.next_weekly_tasks[3..5].each do |date| @@ -36,7 +33,7 @@ namespace :foodsoft do desc "Notify workgroup of upcoming weekly task" task :notify_users_of_weekly_task => :environment do for workgroup in Workgroup.all - for task in workgroup.tasks.all(:conditions => ["due_date = ?", 7.days.from_now.to_date]) + for task in workgroup.tasks.where(due_date: 7.days.from_now.to_date) unless task.enough_users_assigned? puts "Notify workgroup: #{workgroup.name} for task #{task.name}" for user in workgroup.users diff --git a/lib/tasks/messages.rake b/lib/tasks/messages.rake deleted file mode 100644 index 160a1d80..00000000 --- a/lib/tasks/messages.rake +++ /dev/null @@ -1,4 +0,0 @@ -desc "Deliver messages as emails" -task :send_emails => :environment do - Message.send_emails -end