#!/usr/bin/env ruby

require File.dirname(__FILE__) + '/../config/environment.rb'

User.all.each do |u|
  s = Setting.find_by_user_id(u.id)
  if s.nil?
    begin
      Setting.create(user_id: u.id, display_params: {'previsualisation' => '1', 'display_text' => '1', 'background_color' => "#909090", 'font_color' => "#080808"})
      puts "Settings created for login '#{u.login}'."
    rescue Exception => e
      puts "ERROR while creating settings for login '#{u.login}' : #{e}"
    end
  else
    begin
      settings_to_update = s.display_params.blank? ? 0 : s.display_params.count
      if settings_to_update == 0
        Setting.update(s.id, display_params: {'previsualisation' => '1', 'display_text' => '1', 'background_color' => "#909090", 'font_color' => "#080808"})
      else
        Setting.update(s.id,display_params_display_text: '1') if s.display_params["display_text"].nil?
        Setting.update(s.id,display_params_previsualisation: '1') if s.display_params["previsualisation"].nil?
        Setting.update(s.id,display_params_background_color: "#909090") if s.display_params["background_color"].nil?
        Setting.update(s.id,display_params_font_color: "#080808") if s.display_params["font_color"].nil?
      end
      puts "Settings updated for login '#{u.login}'." if settings_to_update < 4
    rescue Exception => e
      puts "ERROR while updated settings for login '#{u.login}' : #{e}"
    end
  end
end
