Revision f63af42d
Von Moritz Bunkus vor mehr als 9 Jahren hinzugefügt
SL/DB/DeliveryOrder.pm | ||
---|---|---|
9 | 9 |
use SL::DB::MetaSetup::DeliveryOrder; |
10 | 10 |
use SL::DB::Manager::DeliveryOrder; |
11 | 11 |
use SL::DB::Helper::AttrHTML; |
12 |
use SL::DB::Helper::AttrSorted; |
|
12 | 13 |
use SL::DB::Helper::FlattenToForm; |
13 | 14 |
use SL::DB::Helper::LinkedRecords; |
14 | 15 |
use SL::DB::Helper::TransNumberGenerator; |
... | ... | |
31 | 32 |
__PACKAGE__->meta->initialize; |
32 | 33 |
|
33 | 34 |
__PACKAGE__->attr_html('notes'); |
35 |
__PACKAGE__->attr_sorted('items'); |
|
34 | 36 |
|
35 | 37 |
__PACKAGE__->before_save('_before_save_set_donumber'); |
36 | 38 |
|
... | ... | |
49 | 51 |
sub items { goto &orderitems; } |
50 | 52 |
sub add_items { goto &add_orderitems; } |
51 | 53 |
|
52 |
sub items_sorted { |
|
53 |
my ($self) = @_; |
|
54 |
|
|
55 |
return [ sort {$a->position <=> $b->position } @{ $self->items } ]; |
|
56 |
} |
|
57 |
|
|
58 | 54 |
sub sales_order { |
59 | 55 |
my $self = shift; |
60 | 56 |
my %params = @_; |
... | ... | |
208 | 204 |
An alias for C<deliver_orer_items> for compatibility with other |
209 | 205 |
sales/purchase models. |
210 | 206 |
|
211 |
=item C<items_sorted> |
|
212 |
|
|
213 |
Returns the delivery order items sorted by their ID (same order they |
|
214 |
appear in the frontend delivery order masks). |
|
215 |
|
|
216 | 207 |
=item C<new_from $source, %params> |
217 | 208 |
|
218 | 209 |
Creates a new C<SL::DB::DeliveryOrder> instance and copies as much |
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.