Add invoice numbers

This commit is contained in:
Martin Lensment 2015-04-23 17:49:22 +03:00
parent 109ce6c912
commit 1e47f3e41c
10 changed files with 35 additions and 14 deletions

View file

@ -13,6 +13,23 @@ class Invoice < ActiveRecord::Base
validates :invoice_type, :due_date, :currency, :seller_name,
:seller_iban, :buyer_name, :invoice_items, :vat_prc, presence: true
before_save :set_invoice_number
def set_invoice_number
last_no = Invoice.order(number: :desc).where('number IS NOT NULL').limit(1).pluck(:number).first
if last_no
self.number = last_no + 1
else
self.number = Setting.invoice_number_min.to_i
end
return if number <= Setting.invoice_number_max.to_i
errors.add(:base, I18n.t('failed_to_generate_invoice'))
logger.error('INVOICE NUMBER LIMIT REACHED, COULD NOT GENERATE INVOICE')
false
end
def binded?
account_activity.present?
end
@ -25,11 +42,6 @@ class Invoice < ActiveRecord::Base
I18n.t('invoice_no', no: number)
end
def number
# TODO: Real invoice numbers here
id
end
def seller_address
[seller_street, seller_city, seller_state, seller_zip].reject(&:blank?).compact.join(', ')
end