=head1: NAME LedgerSMB::Report: Stub function for custom reports. =head1: COPYRIGHT Copyright (c) 2007. LedgerSMB Core Team =cut package LedgerSMB::DBObject::Report; use base qw(LedgerSMB::DBObject); use strict; our $VERSION = '1.0.0'; 1; =head1 METHODS =cut # Place report definitions at the bottom of the file, please. CT =head1 DEFINED REPORTS =cut sub definition_invoice_aging { my ($self) = @_; @{$self->{entities}} = $self->exec_method(funcname => 'payment_get_all_accounts'); my $entity_options = []; for my $entity (@{$self->{entities}}){ my $option = {}; $option->{value} = $entity->{id}; $option->{label} = $entity->{name}; push @$entity_options, $option; } $self->{criteria} = [ {name => 'entity', type => 'select', label => 'Account', options => $entity_options}, ]; $self->{hidden_elements} = [ {name => 'account_class', value => $self->{account_class}} ]; $self->{columns} = [ {id => 'entity_id', label => 'Entity ID'}, {id => 'account_number', label => 'Account Number'}, {id => 'name', label => 'Name'}, {id => 'country', label => 'Country'}, {id => 'contact_name', label => 'Contact'}, {id => 'email', label => 'Email'}, {id => 'phone', label => 'Telephone'}, {id => 'fax', label => 'Fax'}, {id => 'invnumber', label => 'Invoice Number'}, {id => 'transdate', label => 'Date'}, {id => 'till', label => 'Till'}, {id => 'ordnumber', label => 'Order Number'}, {id => 'ponumber', label => 'PO Number'}, {id => 'c0', label => 'Current'}, {id => 'c30', label => '30'}, {id => 'c60', label => '60'}, {id => 'c90', label => '90'}, {id => 'duedate', label => 'Due'}, {id => 'curr', label => 'Currency'}, {id => 'exchangerate', label => 'Exchange Rate'}, ]; $self->{report_types} = [ {label => "Detailed", value => "detailed"}, {label => "Summary", value => "summary"}, {label => "Overdue", value => "overdue"}, {label => "Overdue Summary", value => "overdue_summary"}, ]; } =head1 ADDING DEFINED REPORTS =cut 1;