class Admission::ApplicantCheckbox < ApplicationRecord
  audited associated_with: :applicant

  belongs_to :applicant
  belongs_to :checkbox
  belongs_to :user, optional: true

  before_save :set_checked_at
  before_save :remove_user, unless: :checked

  private
    def set_checked_at
      if checked && !checked_at
        self.checked_at = Time.current
      elsif !checked
        self.checked_at = nil
      end
    end

    def remove_user
      self.user = nil
    end
end
