Sha256: 6f560b6c9b12109820d2af5e10cc4140490c0c76b846d6d362f0b94fcde1c38b
Contents?: true
Size: 1.46 KB
Versions: 3
Compression:
Stored size: 1.46 KB
Contents
# == Schema Information # # Table name: cancellations # # id :integer not null, primary key # shift_id :integer # reason :string(255) # status :string(255) default("pending") # created_at :datetime # updated_at :datetime # approved_date :datetime # approved_by :integer # class Cancellation < ActiveRecord::Base belongs_to :shift validates_presence_of :shift validates_uniqueness_of :shift_id def pending? self.status == 'pending' end def approved? self.status == 'approved' end def shift_detail "AS #{shift.job_name} from #{shift.start_time.strftime('%H:%M')} to #{shift.end_time.strftime('%H:%M')} on #{shift.formatted_due_date}" end def approve(manager, cancellation, excused) self.approved_by = manager.id self.approved_date = Time.zone.now self.notes = cancellation[:notes] if !cancellation[:notes].blank? self.unexcused_note = cancellation[:unexcused_note] if !cancellation[:unexcused_note].blank? if excused == true self.status = 'approved excused' else self.status = 'approved unexcused' end save end def deny(cancellation) self.status = 'denied' self.notes = cancellation[:notes] if !cancellation[:notes].blank? save end def discuss(cancellation) self.status = 'discuss' self.notes = cancellation[:notes] if !cancellation[:notes].blank? save end def cancel self.status = 'cancelled' save end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pshq_engine-0.1.6 | app/models/cancellation.rb |
pshq_engine-0.1.5 | app/models/cancellation.rb |
pshq_engine-0.0.1 | app/models/cancellation.rb |