Revision a823f2b0
Von Bernd Bleßmann vor mehr als 6 Jahren hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
1372 | 1372 |
$self->order(SL::DB::Order->new_from($self->order, destination_type => $destination_type)); |
1373 | 1373 |
$self->{converted_from_oe_id} = delete $::form->{id}; |
1374 | 1374 |
|
1375 |
# set item ids to new fake id, to identify them as new items |
|
1376 |
foreach my $item (@{$self->order->items_sorted}) { |
|
1377 |
$item->{new_fake_id} = join('_', 'new', Time::HiRes::gettimeofday(), int rand 1000000000000); |
|
1378 |
} |
|
1379 |
|
|
1375 | 1380 |
# change form type |
1376 | 1381 |
$::form->{type} = $destination_type; |
1377 | 1382 |
$self->init_type; |
templates/webpages/order/tabs/basic_data.html | ||
---|---|---|
223 | 223 |
</thead> |
224 | 224 |
|
225 | 225 |
[%- FOREACH item = SELF.order.items_sorted %] |
226 |
[%- PROCESS order/tabs/_row.html ITEM=item ID=item.id TYPE=SELF.type ALL_PRICE_FACTORS=SELF.all_price_factors %]
|
|
226 |
[%- PROCESS order/tabs/_row.html ITEM=item ID=(item.id||item.new_fake_id) TYPE=SELF.type ALL_PRICE_FACTORS=SELF.all_price_factors %]
|
|
227 | 227 |
[%- END %] |
228 | 228 |
|
229 | 229 |
</table> |
Auch abrufbar als: Unified diff
Auftrags-Controller: fake id für Items nach Workflow setzen.
Für items, die hinzugefügt werden, also noch nicht in der DB gespeichert sind,
muss eine fake id gesetzt werden, damit diese bei den actions, die einzelne
items betreffen, auch richtig gefunden/zugeordnet werden können.
Das behebt z.B. einen Fehler mit falschen Preisquellen nach dem Workflow
Angebot -> Auftrag, wo immer die Preisquellen der ersten Postion im Dialog
verwendet wurde.