app/models/dorsale/billing_machine/quotation.rb in dorsale-3.9.3 vs app/models/dorsale/billing_machine/quotation.rb in dorsale-3.9.4
- old
+ new
@@ -27,10 +27,14 @@
default_scope -> {
order(unique_index: :desc)
}
+ def document_type
+ :quotation
+ end
+
before_create :assign_unique_index
before_create :assign_tracking_id
def assign_unique_index
if unique_index.nil?
@@ -53,10 +57,13 @@
before_save :update_totals
def update_totals
assign_default_values
+ lines.each(&:update_total)
+ apply_vat_rate_to_lines
+
lines_sum = lines.map(&:total).sum
self.total_excluding_taxes = lines_sum - commercial_discount
if commercial_discount.nonzero? && lines_sum.nonzero?
@@ -100,11 +107,9 @@
vat_rates.first || ::Dorsale::BillingMachine::DEFAULT_VAT_RATE
end
attr_writer :vat_rate
-
- before_validation :apply_vat_rate_to_lines
def apply_vat_rate_to_lines
return if ::Dorsale::BillingMachine.vat_mode == :multiple
lines.each do |line|