2019-05-13 18:42:57 +02:00
|
|
|
class ConvertPreferences < ActiveRecord::Migration[5.2]
|
2007-03-30 04:36:52 +00:00
|
|
|
|
|
|
|
|
class User < ActiveRecord::Base; has_one :preference; serialize :preferences; end
|
|
|
|
|
|
|
|
|
|
def self.up
|
2013-09-13 16:44:59 +02:00
|
|
|
@users = User.all
|
2007-03-30 04:36:52 +00:00
|
|
|
@users.each do |user|
|
|
|
|
|
user.create_preference
|
|
|
|
|
user.preference.date_format = user.preferences['date_format']
|
|
|
|
|
user.preference.week_starts = user.preferences['week_starts']
|
|
|
|
|
user.preference.show_number_completed = user.preferences['no_completed']
|
|
|
|
|
user.preference.staleness_starts = user.preferences['staleness_starts']
|
|
|
|
|
user.preference.show_completed_projects_in_sidebar = user.preferences['show_completed_projects_in_sidebar']
|
|
|
|
|
user.preference.show_hidden_contexts_in_sidebar = user.preferences['show_hidden_contexts_in_sidebar']
|
|
|
|
|
user.preference.due_style = user.preferences['due_style']
|
|
|
|
|
user.preference.admin_email = user.preferences['admin_email']
|
|
|
|
|
user.preference.refresh = user.preferences['refresh']
|
|
|
|
|
|
|
|
|
|
if user.preference.refresh.blank?
|
|
|
|
|
user.preference.refresh = 0
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
user.preference.save!
|
|
|
|
|
end
|
|
|
|
|
remove_column :users, :preferences
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def self.down
|
|
|
|
|
add_column :users, :preferences, :text
|
2013-09-13 16:44:59 +02:00
|
|
|
@users = User.all
|
2007-03-30 04:36:52 +00:00
|
|
|
@users.each do |user|
|
|
|
|
|
user.preferences = { "date_format" => "#{user.preference.date_format}",
|
|
|
|
|
"week_starts" => "#{user.preference.week_starts}",
|
|
|
|
|
"no_completed" => "#{user.preference.show_number_completed}",
|
|
|
|
|
"staleness_starts" => "#{user.preference.staleness_starts}",
|
|
|
|
|
"show_completed_projects_in_sidebar" => "#{user.preference.show_completed_projects_in_sidebar}",
|
|
|
|
|
"show_hidden_contexts_in_sidebar" => "#{user.preference.show_hidden_contexts_in_sidebar}",
|
|
|
|
|
"due_style" => "#{user.preference.due_style}",
|
|
|
|
|
"admin_email" => "#{user.preference.admin_email}",
|
|
|
|
|
"refresh" => "#{user.preference.refresh}"
|
|
|
|
|
}
|
|
|
|
|
user.save
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|