Revision c4fb78fe
Von Sven Schöling vor fast 2 Jahren hinzugefügt
SL/Controller/DeliveryOrder.pm | ||
---|---|---|
use SL::DB::TransferType;
|
||
use SL::DB::ValidityToken;
|
||
use SL::DB::Warehouse;
|
||
use SL::DB::Helper::RecordLink qw(set_record_link_conversions);
|
||
use SL::Model::Record;
|
||
|
||
use SL::Helper::CreatePDF qw(:all);
|
||
... | ... | |
# link records
|
||
if ($::form->{converted_from_oe_id}) {
|
||
my @converted_from_oe_ids = split ' ', $::form->{converted_from_oe_id};
|
||
foreach my $converted_from_oe_id (@converted_from_oe_ids) {
|
||
my $src = SL::DB::Order->new(id => $converted_from_oe_id)->load;
|
||
$src->update_attributes(closed => 1) if $src->type =~ /_quotation$/ && $self->order->is_type(PURCHASE_DELIVERY_ORDER_TYPE);
|
||
$src->link_to_record($self->order);
|
||
}
|
||
if (scalar @{ $::form->{converted_from_orderitems_ids} || [] }) {
|
||
my $idx = 0;
|
||
foreach (@{ $self->order->items_sorted }) {
|
||
my $from_id = $::form->{converted_from_orderitems_ids}->[$idx];
|
||
next if !$from_id;
|
||
SL::DB::RecordLink->new(from_table => 'orderitems',
|
||
from_id => $from_id,
|
||
to_table => 'orderitems',
|
||
to_id => $_->id
|
||
)->save;
|
||
$idx++;
|
||
}
|
||
}
|
||
set_record_link_conversions(
|
||
$self->order,
|
||
'SL::DB::Order' => \@converted_from_oe_ids,
|
||
'SL::DB::OrderItem' => $::form->{converted_from_orderitems_ids},
|
||
);
|
||
}
|
||
if ($::form->{converted_from_reclamation_id}) {
|
||
my @converted_from_reclamation_ids = split ' ', $::form->{converted_from_reclamation_id};
|
||
foreach my $converted_from_reclamation_id (@converted_from_reclamation_ids) {
|
||
my $src = SL::DB::Reclamation->new(id => $converted_from_reclamation_id)->load;
|
||
if(!$::instance_conf->get_shipped_qty_require_stock_out || $self->order->delivered) {
|
||
$src->update_attributes(delivered => 1);
|
||
}
|
||
$src->link_to_record($self->order);
|
||
}
|
||
if (scalar @{ $::form->{converted_from_reclamation_items_ids} || [] }) {
|
||
my $idx = 0;
|
||
foreach (@{ $self->order->items_sorted }) {
|
||
my $from_id = $::form->{converted_from_reclamation_items_ids}->[$idx];
|
||
next if !$from_id;
|
||
SL::DB::RecordLink->new(from_table => 'reclamation_items',
|
||
from_id => $from_id,
|
||
to_table => 'orderitems',
|
||
to_id => $_->id
|
||
)->save;
|
||
$idx++;
|
||
}
|
||
}
|
||
set_record_link_conversions(
|
||
$self->order,
|
||
'SL::DB::Reclamation' => \@converted_from_reclamation_ids,
|
||
'SL::DB::ReclamationItem' => $::form->{converted_from_reclamation_items_ids},
|
||
);
|
||
}
|
||
|
||
$self->save_history('SAVED');
|
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::Model::Record;
|
||
|
||
use SL::Helper::CreatePDF qw(:all);
|
||
... | ... | |
# link records
|
||
if ($::form->{converted_from_oe_id}) {
|
||
my @converted_from_oe_ids = split ' ', $::form->{converted_from_oe_id};
|
||
|
||
foreach my $converted_from_oe_id (@converted_from_oe_ids) {
|
||
my $src = SL::DB::Order->new(id => $converted_from_oe_id)->load;
|
||
$src->update_attributes(closed => 1) if $src->type =~ /_quotation$/;
|
||
$src->link_to_record($self->order);
|
||
}
|
||
if (scalar @{ $::form->{converted_from_orderitems_ids} || [] }) {
|
||
my $idx = 0;
|
||
foreach (@{ $self->order->items_sorted }) {
|
||
my $from_id = $::form->{converted_from_orderitems_ids}->[$idx];
|
||
next if !$from_id;
|
||
SL::DB::RecordLink->new(from_table => 'orderitems',
|
||
from_id => $from_id,
|
||
to_table => 'orderitems',
|
||
to_id => $_->id
|
||
)->save;
|
||
$idx++;
|
||
}
|
||
}
|
||
set_record_link_conversions(
|
||
$self->order,
|
||
'SL::DB::Order' => \@converted_from_oe_ids,
|
||
'SL::DB::OrderItem' => $::form->{converted_from_orderitems_ids},
|
||
);
|
||
|
||
$self->link_requirement_specs_linking_to_created_from_objects(@converted_from_oe_ids);
|
||
}
|
||
if ($::form->{converted_from_reclamation_id}) {
|
||
my @converted_from_reclamation_ids = split ' ', $::form->{converted_from_reclamation_id};
|
||
|
||
foreach my $converted_from_reclamation_id (@converted_from_reclamation_ids) {
|
||
my $src = SL::DB::Reclamation->new(id => $converted_from_reclamation_id)->load;
|
||
$src->link_to_record($self->order);
|
||
}
|
||
if (scalar @{ $::form->{converted_from_reclamation_items_ids} || [] }) {
|
||
my $idx = 0;
|
||
foreach (@{ $self->order->items_sorted }) {
|
||
my $from_id = $::form->{converted_from_reclamation_items_ids}->[$idx];
|
||
next if !$from_id;
|
||
SL::DB::RecordLink->new(from_table => 'reclamation_items',
|
||
from_id => $from_id,
|
||
to_table => 'orderitems',
|
||
to_id => $_->id
|
||
)->save;
|
||
$idx++;
|
||
}
|
||
}
|
||
set_record_links_conversions(
|
||
$self->order,
|
||
'SL::DB::Reclamation' => \@converted_from_reclamation_ids,
|
||
'SL::DB::ReclamationItem' => $::form->{converted_from_reclamation_items_ids},
|
||
);
|
||
}
|
||
|
||
$self->set_project_in_linked_requirement_specs if $self->order->globalproject_id;
|
SL/Controller/Reclamation.pm | ||
---|---|---|
use SL::DB::Shipto;
|
||
use SL::DB::Translation;
|
||
use SL::DB::ValidityToken;
|
||
use SL::DB::Helper::RecordLink qw(RECORD_ID RECORD_TYPE_REF RECORD_ITEM_ID RECORD_ITEM_TYPE_REF);
|
||
|
||
use SL::Helper::CreatePDF qw(:all);
|
||
use SL::Helper::PrintOptions;
|
||
... | ... | |
|
||
my $reclamation = $self->reclamation;
|
||
|
||
$reclamation->{converted_from_record_id} = delete $::form->{converted_from_record_id};
|
||
$reclamation->{converted_from_record_type_ref} = delete $::form->{converted_from_record_type_ref};
|
||
$reclamation->{RECORD_ID()} = delete $::form->{converted_from_record_id};
|
||
$reclamation->{RECORD_TYPE_REF()} = delete $::form->{converted_from_record_type_ref};
|
||
|
||
my $from_record_item_ids = delete $::form->{converted_from_record_item_ids} ;
|
||
my $from_record_item_type_refs = delete $::form->{converted_from_record_item_type_refs} ;
|
||
... | ... | |
if (scalar @{ $from_record_item_ids || [] }) {
|
||
for my $idx (0 .. $#{ $reclamation->items_sorted }) {
|
||
my $reclamation_item = $reclamation->items_sorted->[$idx];
|
||
$reclamation_item->{converted_from_record_item_id} = $from_record_item_ids->[$idx];
|
||
$reclamation_item->{converted_from_record_item_type_ref} = $from_record_item_type_refs->[$idx];
|
||
$reclamation_item->{RECORD_ITEM_ID()} = $from_record_item_ids->[$idx];
|
||
$reclamation_item->{RECORD_ITEM_TYPE_REF()} = $from_record_item_type_refs->[$idx];
|
||
}
|
||
}
|
||
}
|
Auch abrufbar als: Unified diff
RecordLink: conversions nicht mehr manuell in Controllern machen
stattdessen per Helper setzen lassen