0
@@ -6,34 +6,30 @@ class ChangeDatesToDatetimes < ActiveRecord::Migration
0
change_column :recurring_todos, :end_date, :datetime
0
User.all(:include => [:todos, :recurring_todos]).each do |user|
0
- user.todos.each do |todo|
0
- todo.update_attribute(:show_from, user.at_midnight(todo.show_from)) unless todo.show_from.nil?
0
- todo.update_attribute(:due, user.at_midnight(todo.due)) unless todo.due.nil?
0
- user.recurring_todos.each do |todo|
0
- todo.update_attribute(:start_from, user.at_midnight(todo.start_from)) unless todo.start_from.nil?
0
- todo.update_attribute(:end_date, user.at_midnight(todo.end_date)) unless todo.end_date.nil?
0
- else # weird...no preferences for this user
0
- user.todos.each do |todo|
0
- todo.update_attribute(:show_from, at_midnight(todo.show_from)) unless todo.show_from.nil?
0
- todo.update_attribute(:due, at_midnight(todo.due)) unless todo.due.nil?
0
+ if !user.prefs ## ugly hack for strange edge-case of not having preferences object
0
+ return Time.zone.local(date.year, date.month, date.day, 0, 0, 0)
0
+ user.todos.each do |todo|
0
+ todo[:show_from] = user.at_midnight(todo.show_from) unless todo.show_from.nil?
0
+ todo[:due] = user.at_midnight(todo.due) unless todo.due.nil?
0
+ todo.save_with_validation(false)
0
- user.recurring_todos.each do |todo|
0
- todo.update_attribute(:start_from, at_midnight(todo.start_from)) unless todo.start_from.nil?
0
- todo.update_attribute(:end_date, at_midnight(todo.end_date)) unless todo.end_date.nil?
0
+ user.recurring_todos.each do |todo|
0
+ todo[:start_from] = user.at_midnight(todo.start_from) unless todo.start_from.nil?
0
+ todo[:end_date] = user.at_midnight(todo.end_date) unless todo.end_date.nil?
0
+ todo.save_with_validation(false)
0
- return Time.zone.local(date.year, date.month, date.day, 0, 0, 0)
0
change_column :todos, :show_from, :date
0
change_column :todos, :due, :date