19 lines
484 B
Ruby
19 lines
484 B
Ruby
class WorkItem < ApplicationRecord
|
|
belongs_to :course
|
|
has_many :tracked_time_entries, dependent: :destroy, as: :subject
|
|
|
|
validate :due_date_after_start_date
|
|
|
|
include Trackable
|
|
|
|
def due_date_after_start_date
|
|
if due_date.present? && start_time.present? && due_date < start_time
|
|
errors.add(:due_date, "can't be before start date")
|
|
end
|
|
end
|
|
|
|
def week_number
|
|
((start_time.beginning_of_week - course.semester_start_date.to_time) / 1.week).floor + 1
|
|
end
|
|
end
|