diff --git a/app/models/kase.rb b/app/models/kase.rb index 8dd0b93..8b140e4 100644 --- a/app/models/kase.rb +++ b/app/models/kase.rb @@ -19,10 +19,17 @@ class Kase < ActiveRecord::Base VALID_COUNTIES = {'Clackamas' => 'C', 'Multnomah' => 'M', 'Washington' => 'W'} validates_presence_of :customer_id - validates_presence_of :referral_type - validates_presence_of :funding_source + validates :open_date, :date => { :before_or_equal_to => Proc.new { Date.today } } + validates_presence_of :referral_source + validates_presence_of :referral_type_id + validates_presence_of :funding_source_id + validates :close_date, :date => { :after => :open_date, :before_or_equal_to => Proc.new { Date.today } }, :allow_blank => true validates_presence_of :disposition + validates_presence_of :close_date, :if => Proc.new {|kase| kase.disposition.name != "In Progress" } validates_inclusion_of :county, :in => VALID_COUNTIES.values + validate do |kase| + kase.errors[:disposition_id] << "cannot be 'In Progress' if case is closed" if kase.close_date.present? && kase.disposition.name == 'In Progress' + end scope :assigned_to, lambda {|user| where(:user_id => user.id) } scope :not_assigned_to, lambda {|user| where('user_id <> ?',user.id)} diff --git a/app/views/kases/_form.html.erb b/app/views/kases/_form.html.erb index e87a45b..0e2e976 100644 --- a/app/views/kases/_form.html.erb +++ b/app/views/kases/_form.html.erb @@ -26,7 +26,7 @@