Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c888c8a7

Von Sven Schöling vor mehr als 1 Jahr hinzugefügt

  • ID c888c8a7c4cf9cad2d63fc7adbc3e1f859e2efe3
  • Vorgänger a31c242b
  • Nachfolger c4fb78fe

RecordLink: converted_from_* Felder in allen convert_to und new_from korrekt setzen.

Das hier benutzt jetzt das neue Reclamation Format. Statt

converted_from_oe_id

wird jetzt

converted_from_record_id
converted_from_record_type_ref = SL::DB::Order

benutzt.

Unterschiede anzeigen:

SL/DB/Order.pm
273 273
  if (!$self->db->with_transaction(sub {
274 274
    require SL::DB::Invoice;
275 275
    $invoice = SL::DB::Invoice->new_from($self, %params)->post || die;
276
    $self->link_to_record($invoice);
277
    # TODO extend link_to_record for items, otherwise long-term no d.r.y.
278
    foreach my $item (@{ $invoice->items }) {
279
      foreach (qw(orderitems)) {
280
        if ($item->{"converted_from_${_}_id"}) {
281
          die unless $item->{id};
282
          RecordLinks->create_links('mode'       => 'ids',
283
                                    'from_table' => $_,
284
                                    'from_ids'   => $item->{"converted_from_${_}_id"},
285
                                    'to_table'   => 'invoice',
286
                                    'to_id'      => $item->{id},
287
          ) || die;
288
          delete $item->{"converted_from_${_}_id"};
289
        }
290
      }
291
    }
292 276
    $self->update_attributes(closed => 1);
293 277
    1;
294 278
  })) {
......
306 290
    require SL::DB::DeliveryOrder;
307 291
    $delivery_order = SL::DB::DeliveryOrder->new_from($self, @args);
308 292
    $delivery_order->save;
309
    $self->link_to_record($delivery_order);
310
    # TODO extend link_to_record for items, otherwise long-term no d.r.y.
311
    foreach my $item (@{ $delivery_order->items }) {
312
      foreach (qw(orderitems)) {    # expand if needed (delivery_order_items)
313
        if ($item->{"converted_from_${_}_id"}) {
314
          die unless $item->{id};
315
          RecordLinks->create_links('dbh'        => $self->db->dbh,
316
                                    'mode'       => 'ids',
317
                                    'from_table' => $_,
318
                                    'from_ids'   => $item->{"converted_from_${_}_id"},
319
                                    'to_table'   => 'delivery_order_items',
320
                                    'to_id'      => $item->{id},
321
          ) || die;
322
          delete $item->{"converted_from_${_}_id"};
323
        }
324
      }
325
    }
326 293

  
327 294
    $self->update_attributes(delivered => 1) unless $::instance_conf->get_shipped_qty_require_stock_out;
328 295
    1;
......
518 485
    if ( $is_abbr_any->(qw(poso rqsq rqso)) ) {
519 486
      $current_oe_item->lastcost($source_item->sellprice);
520 487
    }
521
    $current_oe_item->{"converted_from_orderitems_id"} = $_->{id} if ref($item_parent) eq 'SL::DB::Order';
522
    $current_oe_item->{"converted_from_reclamation_item_id"} = $_->{id} if ref($item_parent) eq 'SL::DB::Reclamation';
488
    $current_oe_item->{ RECORD_ITEM_ID() } = $_->{id};
489
    $current_oe_item->{ RECORD_ITEM_TYPE_REF() } = ref($source_item);
523 490
    $current_oe_item;
524 491
  } @{ $items };
525 492

  
......
529 496

  
530 497
  $order->items(\@items);
531 498

  
499
  $order->{ RECORD_ID() } = $source->{id};
500
  $order->{ RECORD_TYPE_REF() } = ref($source);
501

  
532 502
  return $order;
533 503
}
534 504

  

Auch abrufbar als: Unified diff