[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SF.net SVN: ledger-smb:[3602] addons/1.3
- Subject: SF.net SVN: ledger-smb:[3602] addons/1.3
- From: ..hidden..
- Date: Sat, 30 Jul 2011 17:35:39 +0000
Revision: 3602
http://ledger-smb.svn.sourceforge.net/ledger-smb/?rev=3602&view=rev
Author: einhverfr
Date: 2011-07-30 17:35:39 +0000 (Sat, 30 Jul 2011)
Log Message:
-----------
Adding unused reporting stubs to addons
Added Paths:
-----------
addons/1.3/reports/
addons/1.3/reports/trunk/
addons/1.3/reports/trunk/LedgerSMB/
addons/1.3/reports/trunk/LedgerSMB/DBObject/
addons/1.3/reports/trunk/LedgerSMB/DBObject/Report.pm
addons/1.3/reports/trunk/scripts/
addons/1.3/reports/trunk/scripts/report.pl
Copied: addons/1.3/reports/trunk/LedgerSMB/DBObject/Report.pm (from rev 3590, trunk/LedgerSMB/DBObject/Report.pm)
===================================================================
--- addons/1.3/reports/trunk/LedgerSMB/DBObject/Report.pm (rev 0)
+++ addons/1.3/reports/trunk/LedgerSMB/DBObject/Report.pm 2011-07-30 17:35:39 UTC (rev 3602)
@@ -0,0 +1,87 @@
+
+=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;
Copied: addons/1.3/reports/trunk/scripts/report.pl (from rev 3590, trunk/scripts/report.pl)
===================================================================
--- addons/1.3/reports/trunk/scripts/report.pl (rev 0)
+++ addons/1.3/reports/trunk/scripts/report.pl 2011-07-30 17:35:39 UTC (rev 3602)
@@ -0,0 +1,43 @@
+
+package LedgerSMB::Scripts::report;
+use strict;
+use LedgerSMB::DBObject::Report;
+our $VERSION = 0.1;
+
+sub generate_report {
+ my ($request) = @_;
+ my $template = $request->{template};
+ my $report = new LedgerSMB::DBObject::Report->new({base => $request });
+ $template = LedgerSMB::Template->new(
+ user =>$request->{_user},
+ locale => $request->{_locale},
+ path => 'UI/report',
+ template => $template,
+ format => 'HTML'
+ );
+
+ $report->run_report;
+ $report->{columns_shown} = [];
+ for (@{$report->{columns}}) {
+ if ($request->{$_}){
+ push (@{$report->{columns_shown}}, $_);
+ }
+ }
+}
+
+sub select_criteria {
+ my ($request) = @_;
+ my $report = new LedgerSMB::DBObject::Report->new({base => $request });
+ $report->can("definition_$request->{report}")->();
+ my $template = LedgerSMB::Template->new(
+ user =>$request->{_user},
+ locale => $request->{_locale},
+ path => 'UI/report',
+ template => 'criteria',
+ format => 'HTML'
+ );
+ $template->render($report);
+}
+
+
+1;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.