Sha256: 9bdbcc071139a534822fabd600e167479d502062826143b894afa48624deacb3

Contents?: true

Size: 1 KB

Versions: 3

Compression:

Stored size: 1 KB

Contents

require "#{BRISKBILLS_ROOT}/lib/utilities.rb"

class Activity::Labor < ActiveRecord::Base
  has_one :slimtimer_time_entry, :foreign_key => :activity_labor_id, :class_name => "::SlimtimerTimeEntry"
end

Activity.class_eval do

  after_save do |record|
    unless record.labor.nil? or record.labor.slimtimer_time_entry.nil? or record.labor.slimtimer_time_entry.slimtimer_task.nil?
      st_task = record.labor.slimtimer_time_entry.slimtimer_task

      ignore_auto_task, ignore_auto_client = Setting.grab :slimtimer_dont_autoassign_tasks, :slimtimer_dont_autoassign_clients
        
      ignore_auto_task = ignore_auto_task.to_re
      ignore_auto_client = ignore_auto_client.to_re
            
      if (
        !ignore_auto_task.match(st_task.name) and 
        st_task.default_client_id != record.client_id and
        (record.client and !ignore_auto_client.match(record.client.company_name))
      )
        st_task.default_client_id = record.client_id
        st_task.save!
      end
    end
  end

  handle_extensions
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
brisk-bills-0.8.2 app/models/activity/labor/slimtimer.rb
brisk-bills-0.8.1 app/models/activity/labor/slimtimer.rb
brisk-bills-0.7.0 app/models/activity/labor/slimtimer.rb