Sha256: b5a0aaf0327d697bd63780ae04e6d592fd41eadfe8ddcf1b64a8d073f1cc922e
Contents?: true
Size: 850 Bytes
Versions: 3
Compression:
Stored size: 850 Bytes
Contents
class Absence < ActiveRecord::Base extend UserSystem validates_presence_of :user_id validates_presence_of :on validates_presence_of :reason validates_uniqueness_of :on, :scope => :user_id def validate if PublicHoliday.exists? :on => on errors.add :on, "You cannot mark absence on a public holiday." end end # Return an array of either an absence or nil for each day of the given week. def self.find_by_week(year, week, user = current_user) first_date = Date.commercial(year, week, 1) last_date = first_date + 6 results = self.find(:all, :conditions => ['"on" BETWEEN ? AND ? AND user_id = ?', first_date, last_date, user && user.id], :order => '"on"') (0..6).each do |day| results.insert(day, nil) if results[day] && results[day].on > first_date + day end results end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
backlog-0.36.2 | app/models/absence.rb |
backlog-0.35.4 | app/models/absence.rb |
backlog-0.35.5 | app/models/absence.rb |