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

SF.net SVN: ledger-smb:[2226] trunk/LedgerSMB/DBObject/Payment.pm



Revision: 2226
          http://ledger-smb.svn.sourceforge.net/ledger-smb/?rev=2226&view=rev
Author:   aurynn_cmd
Date:     2008-07-31 18:38:43 +0000 (Thu, 31 Jul 2008)

Log Message:
-----------
Payment.pm modifications to sort select-for-payment invoices by date, ascending

Modified Paths:
--------------
    trunk/LedgerSMB/DBObject/Payment.pm

Modified: trunk/LedgerSMB/DBObject/Payment.pm
===================================================================
--- trunk/LedgerSMB/DBObject/Payment.pm	2008-07-31 17:09:02 UTC (rev 2225)
+++ trunk/LedgerSMB/DBObject/Payment.pm	2008-07-31 18:38:43 UTC (rev 2226)
@@ -22,6 +22,7 @@
 use base qw(LedgerSMB::DBObject);
 use strict;
 use Math::BigFloat lib => 'GMP';
+use Data::Dumper;
 our $VERSION = '0.1.0';
 
 =head1 METHODS
@@ -247,6 +248,7 @@
             }
             push(@$processed_invoices, $new_invoice);
         }
+        $contact->{invoice} = sort { $a->{invoice_date} cmp $b->{invoice_date} } @{ $processed_invoices };
         $contact->{invoice} = $processed_invoices;
     }
     return @{$self->{contacts}};
@@ -431,33 +433,36 @@
 
     my $source_inc;
     my $source_src;
-    if (defined ($self->{source_start})){
+    if (defined ($self->{source_start})) {
         $self->{source_start} =~ /(\d*)\D*$/;
-	$source_src = $1;
-	if ($source_src) {
-		$source_inc = $source_src;
-	} else {
-		$source_inc = 0;
-	}
+	    $source_src = $1;
+    	if ($source_src) {
+    		$source_inc = $source_src;
+    	} else {
+    		$source_inc = 0;
+    	}
     }
     my $source_length = length($source_inc);
    
     @{$self->{contact_invoices}} = $self->exec_method(
 		funcname => 'payment_get_all_contact_invoices');
-    for my $inv (@{$self->{contact_invoices}}){
-        if (defined $self->{source_start}){
-		my $source = $self->{source_start};
-		if (length($source_inc) < $source_length){
-                    $source_inc = sprintf('%0*s', $source_length, $source_inc);
-                }
-		$source =~ s/$source_src(\D*)$/$source_inc$1/;
-		++ $source_inc;
-		$inv->{source} = $source;
-	}
-	my $tmp_invoices = $inv->{invoices};
+    for my $inv (@{$self->{contact_invoices}}) {
+        if (defined $self->{source_start}) {
+		    my $source = $self->{source_start};
+    		if (length($source_inc) < $source_length) {
+                $source_inc = sprintf('%0*s', $source_length, $source_inc);
+            }
+    		$source =~ s/$source_src(\D*)$/$source_inc$1/;
+    		++ $source_inc;
+    		$inv->{source} = $source;
+    	}
+	    my $tmp_invoices = $inv->{invoices};
         $inv->{invoices} = [];
         @{$inv->{invoices}} = $self->_parse_array($tmp_invoices);
+#        $self->error(Dumper($inv->{invoices}));
+        @{$inv->{invoices}} = sort { $a->[2] cmp $b->[2] } @{ $inv->{invoices} };
     }
+    
     $self->{dbh}->commit; # Commit locks
 }    
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.