class Base::Discipline::StudentLog < ApplicationRecord
  self.table_name = 'StudentDisciplineLogs'
  self.primary_key = 'SDLID'

  alias_attribute :id, :SDLID
  alias_attribute :school_id, :SchoolID
  alias_attribute :student_id, :StudentID
  alias_attribute :class_id, :ClassID
  alias_attribute :victim_id, :VictimID
  alias_attribute :datetime, :LogDateTime
  alias_attribute :quarter, :Quarter
  alias_attribute :author_id, :AuthorID
  alias_attribute :violation_id, :DVID
  alias_attribute :points, :Points
  alias_attribute :description, :Description
  alias_attribute :resolution, :Resolution
  alias_attribute :manager_notified, :ManagerNotified
  alias_attribute :family_notified, :FamilyNotified
  alias_attribute :student_notified, :StudentNotified
  alias_attribute :created, :Created
  alias_attribute :detention_id, :DDID

  after_initialize :set_defaults

  before_validation :set_default_victim_id

  private
    def set_default_victim_id
      self.victim_id = 0 if victim_id.blank?
    end

    def set_defaults
      self.school_id = student.school_id unless school_id?
      self.created = Time.now.to_i unless created?
      self.detention_id = 0 unless detention_id?
      self.description = '' unless description?
      self.resolution = '' unless resolution?
    end
end
