Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a823f2b0

Von Bernd Bleßmann vor fast 6 Jahren hinzugefügt

  • ID a823f2b0dcf59d7344f7b112272849018e1bbf91
  • Vorgänger 004b43a3
  • Nachfolger 5af5ceee

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.

Unterschiede anzeigen:

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;

Auch abrufbar als: Unified diff