module YDIM::Html::State::AjaxInvoiceMethods

Public Instance Methods

ajax_invoices(model=@model) click to toggle source
# File lib/ydim/html/state/invoices.rb, line 16
def ajax_invoices(model=@model)
        keys = [:payment_received, :unique_id, :deleted]
        input = user_input(keys, [:unique_id])
        id = input.delete(:unique_id).to_i
        if(!error? && !input.empty? && (invoice = @session.invoice(id)))
                input.each { |key, val|
                        invoice.send("#{key}=", val)
                }
                invoice.odba_store
                model.delete_if { |info| info.unique_id == id }
        end
        AjaxInvoices.new(@session, model)
end
ajax_status() click to toggle source
# File lib/ydim/html/state/invoices.rb, line 29
def ajax_status
        AjaxInvoices.new(@session, load_invoices)
end
currency_convert(invoices) click to toggle source
# File lib/ydim/html/state/invoices.rb, line 32
def currency_convert(invoices)
        currency = Html.config.currency
        converter = @session.currency_converter
        invoices.each { |inv|
                if(icur = inv.currency)
                        inv.total_netto = converter.convert(inv.total_netto, icur, currency)
                        inv.total_brutto = converter.convert(inv.total_brutto, icur, currency)
                end
                inv.currency = currency
        }
end
sort_invoices(invoices) click to toggle source
# File lib/ydim/html/state/invoices.rb, line 43
def sort_invoices(invoices)
        null_date = Date.new(9999)
        invoices.sort_by { |inv| 
                [null_date - (inv.date || null_date), inv.description.to_s]
        }
end