Revision f63af42d
Von Moritz Bunkus vor mehr als 9 Jahren hinzugefügt
SL/DB/PurchaseInvoice.pm | ||
---|---|---|
7 | 7 |
use SL::DB::MetaSetup::PurchaseInvoice; |
8 | 8 |
use SL::DB::Manager::PurchaseInvoice; |
9 | 9 |
use SL::DB::Helper::AttrHTML; |
10 |
use SL::DB::Helper::AttrSorted; |
|
10 | 11 |
use SL::DB::Helper::LinkedRecords; |
11 | 12 |
use SL::Locale::String qw(t8); |
12 | 13 |
|
... | ... | |
44 | 45 |
__PACKAGE__->meta->initialize; |
45 | 46 |
|
46 | 47 |
__PACKAGE__->attr_html('notes'); |
48 |
__PACKAGE__->attr_sorted('items'); |
|
47 | 49 |
|
48 | 50 |
sub items { goto &invoiceitems; } |
49 | 51 |
sub add_items { goto &add_invoiceitems; } |
50 | 52 |
|
51 |
sub items_sorted { |
|
52 |
my ($self) = @_; |
|
53 |
|
|
54 |
return [ sort {$a->position <=> $b->position } @{ $self->items } ]; |
|
55 |
} |
|
56 |
|
|
57 | 53 |
sub is_sales { |
58 | 54 |
# For compatibility with Order, DeliveryOrder |
59 | 55 |
croak 'not an accessor' if @_ > 1; |
Auch abrufbar als: Unified diff
Beleg-Rose-Objekte: items_sorted für nicht gespeicherte Items gefixt
Die bisherigen items_sorted-Routinen verlangen, dass die Positionsspalte
gesetzt ist. Das ist bei noch nicht gespeicherten Belegen oder bei
gerade hinzugefügten Positionen aber noch nicht der Fall.
Diese neuen Positionen werden nun stabil ans Ende sortiert.