Revision 35fd4233
Von Tamino Steinert vor mehr als 1 Jahr 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 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])
 | ||
Auch abrufbar als: Unified diff
DeliveryOrder: Nutze Type und ID zum Erstellen von verknüpften Belegen