class LightBoxImage < ActiveRecord::Base

  attr_accessor :pixtech_session_value

  belongs_to :image
  belongs_to :light_box

  validates :light_box_id , presence: true, uniqueness: { scope: :image_id }
  validate :check_max_images

  def check_max_images
    max_img = LightBoxImage.max_lightbox_img(pixtech_session_value)
    if light_box.images.count >= max_img
      errors.add(:lb_overflow, I18n.t('too_many_in_light_box', maxi: max_img))
      false
    else
      true
    end
  end

  def self.max_lightbox_img(session_pixtech='')
    user =  UserSession.find.user
    if (user.is_photographer? || user.is_photographer_admin? || user.is_provider_admin? || user.is_superadmin?) && (!session_pixtech.blank?)
      MAX_IMG_LIGHTBOX_PIXTECH
    elsif (user.is_provider_admin? || user.is_superadmin?)
      MAX_IMG_LIGHTBOX_PROVIDERS
    else
      MAX_IMG_LIGHTBOX_USERS
    end
  end

end