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