Sha256: a198d349c919e7cc1fc75c02664c3df2e9020015cca5a215a9df4170b42c58bc

Contents?: true

Size: 1.84 KB

Versions: 10

Compression:

Stored size: 1.84 KB

Contents

$(document).on "ready page:load", ->
  if ($('#invoice.edit').size() > 0)
    sum_line = (line) ->
      q = line.find('input.line-quantity').val().replace(',', '.')
      up = line.find('input.line-unit_price').val().replace(',', '.')
      total =  q * up

    update_line_total = (line)->
      total = sum_line(line)
      display_euros(total, line.find('.line-total'))

    update_total = ->
      total_duty = 0
      vat_rate = parseFloat $('#invoice_vat_rate').val().replace(',', '.') || 0
      advance = parseFloat $('#invoice_advance').val().replace(',', '.') || 0
      commercial_discount = parseFloat $('#invoice_commercial_discount').val().replace(',', '.') || 0

      $('.invoice-line').each (index, element)->
          remove_me = $(element).find('.remove-line input[type="hidden"]').val()
          total_duty += sum_line $(element) if remove_me == 'false'
      total_duty -= commercial_discount
      vat_amount = vat_rate * total_duty / 100.0

      display_euros(commercial_discount, $('#invoice-commercial_discount'))
      display_euros(total_duty, $('#invoice-total_duty'))
      display_euros(vat_amount, $('#invoice-vat_amount'))
      display_euros(vat_amount+total_duty, $('#invoice-total_all_taxes'))
      display_euros(vat_amount+total_duty-advance, $('#invoice-balance'))

    # Set listener on inputs
    $('#invoice-lines').on 'input', 'input.line-quantity, input.line-unit_price', (event) ->
      update_line_total $(event.currentTarget).parents('.invoice-line')
      update_total()
    $('#invoice').on 'input','input#invoice_commercial_discount, input#invoice_vat_rate, input#invoice_advance', (event) ->
       update_total()
    $('#invoice').on 'cocoon:after-remove', (event) ->
       update_total()

    # Update values on page loading
    $('.invoice-line').each (index, element)->
      update_line_total $(element)
    update_total()

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
dorsale-2.1.15 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.14 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.13 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.12 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.11 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.10 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.9 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.8 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.7 app/assets/javascripts/dorsale/billing_machine/invoices.coffee
dorsale-2.1.6 app/assets/javascripts/dorsale/billing_machine/invoices.coffee