Revision 2bef4707
Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt
| SL/Controller/Order.pm | ||
|---|---|---|
|
|
||
|
__PACKAGE__->run_before('check_auth_for_edit',
|
||
|
except => [ qw(edit show_customer_vendor_details_dialog price_popup load_second_rows close_quotations) ]);
|
||
|
__PACKAGE__->run_before('get_basket_info_from_from');
|
||
|
|
||
|
#
|
||
|
# actions
|
||
| ... | ... | |
|
);
|
||
|
}
|
||
|
|
||
|
sub action_add_from_purchase_basket {
|
||
|
my ($self) = @_;
|
||
|
|
||
|
my $basket_item_ids = $::form->{basket_item_ids};
|
||
|
my $vendor_item_ids = $::form->{vendor_item_ids};
|
||
|
my $vendor_id = $::form->{vendor_id};
|
||
|
|
||
|
|
||
|
unless (scalar @{ $basket_item_ids} || scalar @{ $vendor_item_ids}) {
|
||
|
$self->js->flash('error', t8('There are no items selected'));
|
||
|
return $self->js->render();
|
||
|
}
|
||
|
|
||
|
my $order = SL::DB::Order->create_from_purchase_basket(
|
||
|
$basket_item_ids, $vendor_item_ids, $vendor_id
|
||
|
);
|
||
|
|
||
|
$self->order($order);
|
||
|
|
||
|
$self->action_add();
|
||
|
}
|
||
|
|
||
|
# edit an existing order
|
||
|
sub action_edit {
|
||
|
my ($self) = @_;
|
||
| ... | ... | |
|
}
|
||
|
$self->js->val('[name="converted_from_orderitems_ids[+]"]', '');
|
||
|
$self->js->val('[name="converted_from_reclamation_items_ids[+]"]', '');
|
||
|
$self->js->val('[name="basket_item_ids[+]"]', '');
|
||
|
}
|
||
|
|
||
|
#
|
||
| ... | ... | |
|
return $item;
|
||
|
}
|
||
|
|
||
|
sub get_basket_info_from_from {
|
||
|
my ($self) = @_;
|
||
|
|
||
|
my $order = $self->order;
|
||
|
my $basket_item_ids = $::form->{basket_item_ids};
|
||
|
if (scalar @{ $basket_item_ids || [] }) {
|
||
|
for my $idx (0 .. $#{ $order->items_sorted }) {
|
||
|
my $order_item = $order->items_sorted->[$idx];
|
||
|
$order_item->{basket_item_id} = $basket_item_ids->[$idx];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# setup custom shipto from form
|
||
|
#
|
||
|
# The dialog returns form variables starting with 'shipto' and cvars starting
|
||
Auch abrufbar als: Unified diff
DispositionManager: Lieferschein beim Erstellen nicht automatisch speichern