X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/4b1666b74b0fa70077c64144a57526a1d64b4e64..31fe31f498e3e5ea8df4dee24a895fa74950d720:/SL/Controller/Order.pm diff --git a/SL/Controller/Order.pm b/SL/Controller/Order.pm index 541984740..17b88fde6 100644 --- a/SL/Controller/Order.pm +++ b/SL/Controller/Order.pm @@ -929,12 +929,13 @@ sub action_recalc_amounts_and_taxes { sub action_update_exchangerate { my ($self) = @_; my $data = {}; - if ($self->order->currency_id != $::instance_conf->get_currency_id) { - $data = { - currency_name => $self->order->currency->name, - exchangerate => $self->order->exchangerate_as_number, - }; - } + + $data = { + is_standard => $self->order->currency_id == $::instance_conf->get_currency_id, + currency_name => $self->order->currency->name, + exchangerate => $self->order->exchangerate_as_null_number, + }; + $self->render(\SL::JSON::to_json($data), { type => 'json', process => 0 }); } @@ -1372,6 +1373,7 @@ sub make_order { my $form_orderitems = delete $::form->{order}->{orderitems}; my $form_periodic_invoices_config = delete $::form->{order}->{periodic_invoices_config}; + my $exchangerate_as_null_number = delete $::form->{order}->{exchangerate_as_null_number}; $order->assign_attributes(%{$::form->{order}}); @@ -1380,6 +1382,9 @@ sub make_order { $periodic_invoices_config->assign_attributes(%$periodic_invoices_config_attrs); } + # set exchangerate after transdate and currency_id + $order->assign_attributes(exchangerate_as_null_number => $exchangerate_as_null_number) if $order->currency_id; + # remove deleted items $self->item_ids_to_delete([]); foreach my $idx (reverse 0..$#{$order->orderitems}) {