app/models/dorsale/expense_gun/expense.rb in dorsale-3.18.0 vs app/models/dorsale/expense_gun/expense.rb in dorsale-3.19.0

- old
+ new

@@ -1,19 +1,21 @@ class Dorsale::ExpenseGun::Expense < ::Dorsale::ApplicationRecord self.table_name = "dorsale_expense_gun_expenses" - include AASM + STATES = %w(draft pending paid canceled) + has_many :expense_lines, inverse_of: :expense, dependent: :destroy, class_name: "Dorsale::ExpenseGun::ExpenseLine" has_many :attachments, :as => :attachable, :dependent => :destroy, :class_name => "Dorsale::Alexandrie::Attachment" belongs_to :user validates :user, presence: true + validates :state, presence: true, inclusion: {in: STATES} validates :name, presence: true validates :date, presence: true accepts_nested_attributes_for :expense_lines, :allow_destroy => true, @@ -22,10 +24,11 @@ default_scope -> { order(created_at: :desc, id: :desc) } def assign_default_values + assign_default :state, STATES.first assign_default :date, Date.current end # Sum of line amounts def total_all_taxes @@ -38,37 +41,7 @@ end # Sum of deductible deductible vat def total_vat_deductible expense_lines.sum(&:total_vat_deductible) - end - - delegate :current_state, to: :aasm - - aasm(column: :state, whiny_transitions: false) do - state :draft, initial: true - state :submitted - state :accepted - state :refused - state :canceled - - event :go_to_submitted do - transitions from: :draft, to: :submitted - end - - event :go_to_accepted do - transitions from: :submitted, to: :accepted - end - - event :go_to_refused do - transitions from: :submitted, to: :refused - end - - event :go_to_canceled do - transitions from: [:draft, :submitted, :accepted], to: :canceled - end - end - - def may_edit? - current_state == :draft end end