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
Calls superclass method
YDIM::Html::State::AjaxInvoiceMethods#ajax_invoices
# 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