# if multiple rowcounts (== collective order) then check if the
# there were more than one customer (in that case OE::retrieve removes
# the content from the field)
- if ($form->{rowcount} && $form->{type} eq 'sales_order' && $form->{customer} eq '') {
+ if ($form->{rowcount} && $form->{type} eq 'sales_order' && defined $form->{customer} && $form->{customer} eq '') {
# $main::lxdebug->message(0, "Detected Edit order with concurrent customers");
$form->error($locale->text('Collective Orders only work for orders from one customer!'));
}
# close orders/quotations
$form->{closed} = 1;
- # save order iff one ordnumber has been given
+ # save order if one ordnumber has been given
# if not it's most likely a collective order, which can't be saved back
# so they just have to be closed
- if ($form->{ordnumber} ne '') {
+ if (($form->{ordnumber} ne '') || ($form->{quonumber} ne '')) {
OE->save(\%myconfig, \%$form);
} else {
OE->close_orders(\%myconfig, \%$form);