[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SF.net SVN: ledger-smb:[3602] addons/1.3



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.