Revision 71c4fb9a
Von Bernd Bleßmann vor mehr als 1 Jahr hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
use SL::DB::Shipto;
|
||
use SL::DB::Translation;
|
||
use SL::DB::ValidityToken;
|
||
use SL::DB::Helper::RecordLink qw(set_record_link_conversions);
|
||
use SL::DB::Helper::RecordLink qw(set_record_link_conversions RECORD_ID RECORD_ITEM_ID);
|
||
use SL::DB::Helper::TypeDataProxy;
|
||
use SL::Model::Record;
|
||
use SL::DB::Order::TypeData qw(:types);
|
||
... | ... | |
$custom_shipto = $self->order->shipto->clone('SL::DB::Order');
|
||
}
|
||
|
||
$self->order(SL::DB::Order->new_from($self->order, destination_type => $destination_type));
|
||
my $no_linked_records = (any { $destination_type eq $_ } (SALES_QUOTATION_TYPE(), REQUEST_QUOTATION_TYPE()))
|
||
&& $from_side eq $to_side;
|
||
|
||
# no linked records to quotations from the same side (sales -> sales or purchase -> purchase)
|
||
if ( (any { $destination_type eq $_ } (SALES_QUOTATION_TYPE(), REQUEST_QUOTATION_TYPE()))
|
||
&& $from_side eq $to_side) {
|
||
delete $::form->{id};
|
||
delete $::form->{$_} for qw(converted_from_oe_id converted_from_orderitems_ids);
|
||
} else {
|
||
$self->{converted_from_oe_id} = delete $::form->{id};
|
||
$self->order(SL::Model::Record->new_from_workflow($self->order, $destination_type, no_linked_records => $no_linked_records));
|
||
|
||
delete $::form->{id};
|
||
|
||
if (!$no_linked_records) {
|
||
$self->{converted_from_oe_id} = $self->order->{ RECORD_ID() };
|
||
$_ ->{converted_from_orderitems_id} = $_ ->{ RECORD_ITEM_ID() } for @{ $self->order->items_sorted };
|
||
}
|
||
|
||
# set item ids to new fake id, to identify them as new items
|
Auch abrufbar als: Unified diff
Order-Controller: Workflow zu Angebot/Auftrag mit S:M:R->new_from_workflow
Und converted_from_... gefixt.