Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 35fd4233

Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt

  • ID 35fd4233c6a6190a84c8690779aa987252597c16
  • Vorgänger fa117c2d
  • Nachfolger d84ce795

DeliveryOrder: Nutze Type und ID zum Erstellen von verknüpften Belegen

Unterschiede anzeigen:

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 RECORD_ID RECORD_ITEM_ID);
use SL::DB::Helper::RecordLink qw(set_record_link_conversions RECORD_ID RECORD_TYPE_REF RECORD_ITEM_ID RECORD_ITEM_TYPE_REF);
use SL::DB::Helper::TypeDataProxy;
use SL::DB::Helper::Record qw(get_object_name_from_type get_class_from_type);
use SL::DB::DeliveryOrder;
......
my $delivery_order = SL::Model::Record->new_from_workflow($record, $self->type, %flags);
$self->order($delivery_order);
if (ref($record) eq 'SL::DB::Reclamation') {
$self->{converted_from_reclamation_id} = $delivery_order->{ RECORD_ID() };
$_ ->{converted_from_reclamation_items_id} = $_ ->{ RECORD_ITEM_ID() } for @{ $delivery_order->items_sorted };
}
if (ref($record) eq 'SL::DB::Order') {
$self->{converted_from_oe_id} = $delivery_order->{ RECORD_ID() };
$_ ->{converted_from_oe_items_id} = $_ ->{ RECORD_ITEM_ID() } for @{ $delivery_order->items_sorted };
}
$self->action_add;
}
......
$self->js
->val('#id', $self->order->id)
->val('#converted_from_oe_id', '')
->val('#converted_from_reclamation_id', '')
->val('#converted_from_record_type_ref', '')
->val('#converted_from_record_id', '')
->val('#order_' . $self->nr_key(), $self->order->number);
my $idx = 0;
......
} continue {
$idx++;
}
$self->js->val('[name="converted_from_orderitems_ids[+]"]', '');
$self->js->val('[name="converted_from_reclamation_items_ids[+]"]', '');
$self->js->val('[name="converted_from_record_item_type_refs[+]"]', '');
$self->js->val('[name="converted_from_record_item_ids[+]"]', '');
}
#
......
sub save {
my ($self) = @_;
# link records
if ($::form->{converted_from_oe_id}) {
my @converted_from_oe_ids = split ' ', $::form->{converted_from_oe_id};
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};
set_record_link_conversions(
$self->order,
'SL::DB::Reclamation' => \@converted_from_reclamation_ids,
'SL::DB::ReclamationItem' => $::form->{converted_from_reclamation_items_ids},
);
}
set_record_link_conversions($self->order,
delete $::form->{RECORD_TYPE_REF()}
=> delete $::form->{RECORD_ID()},
delete $::form->{RECORD_ITEM_TYPE_REF()}
=> delete $::form->{RECORD_ITEM_ID()},
);
my $items_to_delete = scalar @{ $self->item_ids_to_delete || [] }
? SL::DB::Manager::DeliveryOrderItem->get_all(where => [id => $self->item_ids_to_delete])
templates/design40_webpages/delivery_order/form.html
[% L.hidden_tag('callback', FORM.callback) %]
[% L.hidden_tag('type', FORM.type) %]
[% L.hidden_tag('id', SELF.order.id) %]
[% L.hidden_tag('converted_from_oe_id', SELF.converted_from_oe_id) %]
[% L.hidden_tag('converted_from_reclamation_id', SELF.converted_from_reclamation_id) %]
[% L.hidden_tag('converted_from_record_type_ref', SELF.order.converted_from_record_type_ref) %]
[% L.hidden_tag('converted_from_record_id', SELF.order.converted_from_record_id) %]
[% IF !SELF.order.id %]
[% L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
templates/design40_webpages/delivery_order/tabs/_row.html
alt=LxERP.t8('Show details'), title=LxERP.t8('Show details'), class="expand") %]
[%- END %]
[% L.hidden_tag("orderitem_ids[+]", ID) %]
[% L.hidden_tag("converted_from_orderitems_ids[+]", ITEM.converted_from_orderitems_id) %]
[% L.hidden_tag("converted_from_reclamation_items_ids[+]", ITEM.converted_from_reclamation_items_id) %]
[% L.hidden_tag("converted_from_record_item_type_refs[+]", ITEM.converted_from_record_item_type_ref) %]
[% L.hidden_tag("converted_from_record_item_ids[+]", ITEM.converted_from_record_item_id) %]
[% L.hidden_tag("order.orderitems[+].id", ITEM.id, id='item_' _ ID) %]
[% L.hidden_tag("order.orderitems[].stock_info", ITEM.stock_info, class="data-stock-info") %]
[% L.hidden_tag("order.orderitems[].parts_id", ITEM.parts_id) %]
templates/webpages/delivery_order/form.html
[% L.hidden_tag('callback', FORM.callback) %]
[% L.hidden_tag('type', FORM.type) %]
[% L.hidden_tag('id', SELF.order.id) %]
[% L.hidden_tag('converted_from_oe_id', SELF.converted_from_oe_id) %]
[% L.hidden_tag('converted_from_reclamation_id', SELF.converted_from_reclamation_id) %]
[% L.hidden_tag('converted_from_record_type_ref', SELF.order.converted_from_record_type_ref) %]
[% L.hidden_tag('converted_from_record_id', SELF.order.converted_from_record_id) %]
[% IF !SELF.order.id %]
[% L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
templates/webpages/delivery_order/tabs/_row.html
alt=LxERP.t8('Show details'), title=LxERP.t8('Show details'), class="expand") %]
[%- END %]
[% L.hidden_tag("orderitem_ids[+]", ID) %]
[% L.hidden_tag("converted_from_orderitems_ids[+]", ITEM.converted_from_orderitems_id) %]
[% L.hidden_tag("converted_from_reclamation_items_ids[+]", ITEM.converted_from_reclamation_items_id) %]
[% L.hidden_tag("converted_from_record_item_type_refs[+]", ITEM.converted_from_record_item_type_ref) %]
[% L.hidden_tag("converted_from_record_item_ids[+]", ITEM.converted_from_record_item_id) %]
[% L.hidden_tag("order.orderitems[+].id", ITEM.id, id='item_' _ ID) %]
[% L.hidden_tag("order.orderitems[].stock_info", ITEM.stock_info, class="data-stock-info") %]
[% L.hidden_tag("order.orderitems[].parts_id", ITEM.parts_id) %]

Auch abrufbar als: Unified diff