sub action_transfer {
my ( $self ) = @_;
+ $::form->{customer} ||= $::form->{partial_transfer_customer_id};
+
my $customer = SL::DB::Manager::Customer->find_by(id => $::form->{customer});
- die "Can't find customer" unless $customer;
+ die "Can't find customer" unless ref $customer eq 'SL::DB::Customer';
+
my $employee = SL::DB::Manager::Employee->current;
die "Can't find employee" unless $employee;
die "Can't load shop_order form form->import_id" unless $self->shop_order;
- my $order = $self->shop_order->convert_to_sales_order(customer => $customer, employee => $employee);
+ my $order = $self->shop_order->convert_to_sales_order(customer => $customer, employee => $employee,
+ pos_ids => $::form->{pos_ids} );
if ($order->{error}){
flash_later('error',@{$order->{errors}});
$order->db->with_transaction( sub {
$order->calculate_prices_and_taxes;
$order->save;
+ SL::DB::OrderVersion->new(oe_id => $order->id, version => 1)->save;
my $snumbers = "ordernumber_" . $order->ordnumber;
SL::DB::History->new(
$self->shop_order->save;
$self->shop_order->link_to_record($order);
}) || die $order->db->error;
- my $order_controller = $::instance_conf->get_feature_experimental_order ? 'Order' :'oe.pl';
- $self->redirect_to(controller => $order_controller, action => 'edit', type => 'sales_order', vc => 'customer', id => $order->id);
+ $self->redirect_to(controller => 'Order', action => 'edit', type => 'sales_order', vc => 'customer', id => $order->id);
}
}
=item C<action_transfer>
Transfers one shoporder to an order.
+If the optional $::form->{pos_ids} exists, they will be added
+as a param for the convert_to_sales_order method
=item C<action_apply_customer>