Verknüpfte Belege Einkauf/Verkauf/Projekte: Listen nach Datum sortieren
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 26 Apr 2013 12:34:14 +0000 (14:34 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 26 Apr 2013 12:57:56 +0000 (14:57 +0200)
SL/DB/DeliveryOrder.pm
SL/DB/Invoice.pm
SL/DB/Order.pm
SL/DB/PurchaseInvoice.pm
SL/Presenter/Record.pm

index ca36cbd..8e235fc 100644 (file)
@@ -51,4 +51,8 @@ sub displayable_state {
     ($self->delivered ? $::locale->text('delivered') : $::locale->text('not delivered'));
 }
 
+sub date {
+  goto &transdate;
+}
+
 1;
index 861c92a..0d21ef8 100644 (file)
@@ -241,6 +241,10 @@ sub displayable_state {
   return $self->closed ? $::locale->text('closed') : $::locale->text('open');
 }
 
+sub date {
+  goto &transdate;
+}
+
 1;
 
 __END__
index b9959aa..63d23f7 100644 (file)
@@ -132,6 +132,10 @@ sub number {
   return $self->${ \ $number_method{$self->type} }(@_);
 }
 
+sub date {
+  goto &transdate;
+}
+
 1;
 
 __END__
index da34a27..ec9090c 100644 (file)
@@ -27,4 +27,8 @@ sub is_sales {
   return 0;
 }
 
+sub date {
+  goto &transdate;
+}
+
 1;
index 18c7190..082fbd0 100644 (file)
@@ -22,7 +22,7 @@ sub grouped_record_list {
 
   %params    = map { exists $params{$_} ? ($_ => $params{$_}) : () } qw(edit_record_links with_columns object_id object_model);
 
-  my %groups = _group_records($list);
+  my %groups = _sort_grouped_lists(_group_records($list));
   my $output = '';
 
   $output .= _sales_quotation_list(        $self, $groups{sales_quotations},         %params) if $groups{sales_quotations};
@@ -159,6 +159,14 @@ sub _group_records {
   return %groups;
 }
 
+sub _sort_grouped_lists {
+  my (%groups) = @_;
+
+  $groups{$_} = [ sort { $a->date <=> $b->date } @{ $groups{$_} } ] for keys %groups;
+
+  return %groups;
+}
+
 sub _sales_quotation_list {
   my ($self, $list, %params) = @_;