neue Methode items_sorted für Order, DeliveryOrder, Invoice, PurchaseInvoice
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 7 Jun 2013 11:21:52 +0000 (13:21 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Fri, 7 Jun 2013 11:21:52 +0000 (13:21 +0200)
SL/DB/DeliveryOrder.pm
SL/DB/Invoice.pm
SL/DB/Order.pm
SL/DB/PurchaseInvoice.pm

index 8e235fc..c00bcaf 100644 (file)
@@ -25,6 +25,13 @@ __PACKAGE__->meta->initialize;
 
 sub items { goto &orderitems; }
 
+sub items_sorted {
+  my ($self) = @_;
+
+  my @sorted =  sort {$a->id <=> $b->id } @{ $self->items };
+  return wantarray ? @sorted : \@sorted;
+}
+
 sub sales_order {
   my $self   = shift;
   my %params = @_;
index d93de71..18aa8db 100644 (file)
@@ -47,6 +47,13 @@ __PACKAGE__->meta->initialize;
 
 sub items { goto &invoiceitems; }
 
+sub items_sorted {
+  my ($self) = @_;
+
+  my @sorted =  sort {$a->id <=> $b->id } @{ $self->items };
+  return wantarray ? @sorted : \@sorted;
+}
+
 sub is_sales {
   # For compatibility with Order, DeliveryOrder
   croak 'not an accessor' if @_ > 1;
index 63d23f7..f4ca003 100644 (file)
@@ -39,6 +39,13 @@ __PACKAGE__->meta->initialize;
 
 sub items { goto &orderitems; }
 
+sub items_sorted {
+  my ($self) = @_;
+
+  my @sorted =  sort {$a->id <=> $b->id } @{ $self->items };
+  return wantarray ? @sorted : \@sorted;
+}
+
 sub type {
   my $self = shift;
 
index f74ee19..01885e7 100644 (file)
@@ -29,6 +29,13 @@ __PACKAGE__->meta->initialize;
 
 sub items { goto &invoiceitems; }
 
+sub items_sorted {
+  my ($self) = @_;
+
+  my @sorted =  sort {$a->id <=> $b->id } @{ $self->items };
+  return wantarray ? @sorted : \@sorted;
+}
+
 sub is_sales {
   # For compatibility with Order, DeliveryOrder
   croak 'not an accessor' if @_ > 1;