class Setting < ActiveRecord::Base
  belongs_to :user

  validates :user_id, presence: true

  serialize :display_params
  serialize :border_color_provider

  after_create :set_default_fields

  def display_params_display_text
    display_params['display_text']
  end

  def display_params_display_text=(val)
    display_params['display_text'] = val
  end

  def display_params_previsualisation
    display_params['previsualisation']
  end

  def display_params_previsualisation=(val)
    display_params['previsualisation'] = val
  end

  def display_params_background_color
    display_params['background_color']
  end

  def display_params_background_color=(val)
    display_params['background_color'] = val
  end

  def display_params_font_color
    display_params['font_color']
  end

  def display_params_font_color=(val)
    display_params['font_color'] = val
  end

  # private

  def set_default_fields
    self.display_params ||= {}
    self.display_params['previsualisation'] ||= "1"
    self.display_params['display_text'] ||= "1"
    self.display_params['background_color'] ||= "#FFFFFF"
    self.display_params['font_color'] ||= "#080808"
    #v4 self.display_params['thumb_size'] ||= "140"
    self.default_per_page ||= 40
    self.default_since ||= "all"
    self.default_sort ||= "reception_date"
    self.default_media ||= "all"
    self.pagination ||= false
    self.under_my_thumb ||= "normalized_credit"
    self.reload_pref ||= 0
    self.border_color_provider ||= {}
    self.language ||= 'fr'
    self.save
  end

end