Revision de5824b8
Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt
SL/Controller/Order.pm | ||
---|---|---|
sub action_customer_vendor_changed {
|
||
my ($self) = @_;
|
||
|
||
setup_order_from_cv($self->order);
|
||
$self->order(SL::Model::Record->update_after_customer_vendor_change($self->order));
|
||
|
||
$self->recalc();
|
||
|
||
my $cv_method = $self->cv;
|
||
... | ... | |
my $cv_id_method = $self->cv . '_id';
|
||
if (!$::form->{id} && $::form->{$cv_id_method}) {
|
||
$order->$cv_id_method($::form->{$cv_id_method});
|
||
setup_order_from_cv($order);
|
||
$order = SL::Model::Record->update_after_customer_vendor_change($order);
|
||
}
|
||
|
||
my $form_orderitems = delete $::form->{order}->{orderitems};
|
||
... | ... | |
return $item;
|
||
}
|
||
|
||
sub setup_order_from_cv {
|
||
my ($order) = @_;
|
||
|
||
$order->$_($order->customervendor->$_) for (qw(taxzone_id payment_id delivery_term_id currency_id language_id));
|
||
|
||
$order->intnotes($order->customervendor->notes);
|
||
|
||
return if !$order->is_sales;
|
||
|
||
$order->salesman_id($order->customer->salesman_id || SL::DB::Manager::Employee->current->id);
|
||
$order->taxincluded(defined($order->customer->taxincluded_checked)
|
||
? $order->customer->taxincluded_checked
|
||
: $::myconfig{taxincluded_checked});
|
||
|
||
my $address = $order->customer->default_billing_address;;
|
||
$order->billing_address_id($address ? $address->id : undef);
|
||
}
|
||
|
||
# setup custom shipto from form
|
||
#
|
||
# The dialog returns form variables starting with 'shipto' and cvars starting
|
Auch abrufbar als: Unified diff
Model::Record: Anpassen nach Kunden/Lieferanten-Änderung