class YDIM::Html::State::Debitor

Constants

VIEW

Attributes

autoinvoice_infos[R]
invoice_infos[R]
model[R]

Public Instance Methods

ajax_collect_garbage() click to toggle source
# File lib/ydim/html/state/debitor.rb, line 26
def ajax_collect_garbage
  @session.collect_garbage(@model.unique_id)
  AjaxInvoices.new(@session, [])
end
ajax_delete_autoinvoice() click to toggle source
# File lib/ydim/html/state/debitor.rb, line 30
def ajax_delete_autoinvoice
  if(id = @session.user_input(:unique_id))
    @session.delete_autoinvoice(id)
  end
              AjaxAutoInvoices.new(@session, load_autoinvoices)
end
ajax_invoices() click to toggle source
# File lib/ydim/html/state/debitor.rb, line 36
def ajax_invoices
        super(@invoice_infos)
end
generate_invoice() click to toggle source
# File lib/ydim/html/state/debitor.rb, line 39
def generate_invoice
        if(id = @session.user_input(:unique_id))
                Invoice.new(@session, @session.generate_invoice(id.to_i))
        end
end
init() click to toggle source
Calls superclass method
# File lib/ydim/html/state/debitor.rb, line 21
def init
        super
        load_autoinvoices
        load_invoices
end
update() click to toggle source
# File lib/ydim/html/state/debitor.rb, line 44
    def update
            mandatory = [ :contact, :debitor_type, :emails,
                    :location, :name, ]
            defaults = {}
            keys = mandatory.dup.push(:address_lines, :contact_firstname,
                          :contact_title, :country, :salutation, :phone)
            input = defaults.update(user_input(keys, mandatory))
mails = input[:emails]
if mails && mails.size > 3
  @errors.store :emails, create_error('e_too_many_emails',
                                      :emails, mails.join(', '))
  input[:emails] = mails[0,3]
end
            unless(error? || @model.unique_id)
                    @model = @session.create_debitor
            end
            update_model(input)
            self
    end

Private Instance Methods

load_autoinvoices() click to toggle source
# File lib/ydim/html/state/debitor.rb, line 64
def load_autoinvoices
  invoices = @model.autoinvoice_infos
  @autoinvoice_infos = sort_invoices(currency_convert(invoices))
end
load_invoices() click to toggle source
# File lib/ydim/html/state/debitor.rb, line 68
def load_invoices
        invoices = @model.invoice_infos(@session.user_input(:status) \
                            || 'is_open')
        @invoice_infos = sort_invoices(currency_convert(invoices))
end
update_model(input) click to toggle source
# File lib/ydim/html/state/debitor.rb, line 73
def update_model(input)
        input.each { |key, val|
                @model.send("#{key}=".to_sym, val)
        }
        @model.odba_store if(@model.unique_id)
end