Auftragsschnellerfassung: Korrekturen für Währung/Wechselkurs
[kivitendo-erp.git] / SL / Controller / Order.pm
index 5363e18..17b88fd 100644 (file)
@@ -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,7 +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                  = delete $::form->{order}->{exchangerate};
+  my $exchangerate_as_null_number   = delete $::form->{order}->{exchangerate_as_null_number};
 
   $order->assign_attributes(%{$::form->{order}});
 
@@ -1382,7 +1383,7 @@ sub make_order {
   }
 
   # set exchangerate after transdate and currency_id
-  $order->assign_attributes(exchangerate => $exchangerate);
+  $order->assign_attributes(exchangerate_as_null_number => $exchangerate_as_null_number) if $order->currency_id;
 
   # remove deleted items
   $self->item_ids_to_delete([]);